summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--appendix/glossary.tex1
-rw-r--r--content/implementation.tex14
-rw-r--r--sources/listing_schema.tex2
3 files changed, 15 insertions, 2 deletions
diff --git a/appendix/glossary.tex b/appendix/glossary.tex
index d7d5889..b47bcb7 100644
--- a/appendix/glossary.tex
+++ b/appendix/glossary.tex
@@ -17,3 +17,4 @@
\newacronym{nasem}{NASEM}{National Academy of Sciences, Engineering, and Medicine}
\newacronym{cfd}{CFD}{Computational Fluid Dynamics}
\newacronym{ui}{UI}{User Interface}
+\newacronym{http}{HTTP}{Hyper-text Transfer Protocol}
diff --git a/content/implementation.tex b/content/implementation.tex
index 2395963..0decbc3 100644
--- a/content/implementation.tex
+++ b/content/implementation.tex
@@ -125,7 +125,7 @@ In order to turn it into a \gls{dt}, we have made several design decisions and e
The \code{KafkaMonitor} class implements the generic \code{ComputeMonitor} interface, therefore the new extension follows the other metric exporting options in \code{OpenDC} (\ie follows the implementation for exporting metrics into \code{.parquet files}).
\item \textbf{\code{HTTPClient}}\\
The \code{HTTPClient} offers the necessary functionality to communicate between the \gls{dt} and the datacenter.
- We decided to use the HTTP protocol for short, one-off communications between the \gls{dt} and the datacenter, as is common industry practice.
+ We decided to use the \gls{http} protocol for short, one-off communications between the \gls{dt} and the datacenter, as is common industry practice.
\end{enumerate}
\section{Python Modules}\label{ss:programming}
@@ -137,7 +137,19 @@ For future work, we envision a system that implements the reference architecture
\begin{enumerate}[label=\textbf{\arabic*.}]
\item \textbf{\code{AnalyticsEngine}}\\
+ The \code{AnalyticsEngine} module is necessary in order to encapsulate the logic of data preprocessing and analysis from monitoring.
+ This component can contain capabilities for different statistical metrics, subject to \gls{dt}s focus.
+ In \gls{my_system} \code{AnalyticsEngine} continuously checks whether the incoming datacenter sensor readings exceed different thresholds.
+ For example, the \code{AnalyticsEngine} is capable of calculating a similarity score $S$ between potential failure distributions and the true failure distribution.
\item \textbf{\code{HTTPServer}}\\
+ The \code{HTTPServer} is crucial for interrupting the operation of the datacenter in order to adjust its operation or offer insights.
+ It maintains a python \code{Queue} structure.
+ The \code{Queue} \emph{producer} is the \code{AnalyticsEngine} (\grayCircled{4}).
+ The \emph{consumer} is the \code{HTTPClient} within \code{OpenDC} (\ie the real datacenter, (\myCircled{2}), (\myCircled{1})).
+ Both the consumer and producer interact with the \code{Queue} via the network and different HTTP endpoints of \code{HTTPServer}.
\item \textbf{\code{MonitoringService}}\\
+ The \code{MonitoringService} is responsible for interacting with the \code{Redis} key value store.
+ It contains a \code{while True} Python loop which contains the function call to fetch the latest changes to the \code{Redis} stream.
+ Upon update, the \code{MonitoringService} informs the \code{AnalyticsEngine} that new data is awaiting \code{AnalyticsEngine} (\grayCircled{6}).
\end{enumerate}
diff --git a/sources/listing_schema.tex b/sources/listing_schema.tex
index ef380e8..f702784 100644
--- a/sources/listing_schema.tex
+++ b/sources/listing_schema.tex
@@ -1,4 +1,4 @@
-\begin{lstlisting}[caption=The Redis and PostgreSQL schema (\texttt{schema.proto} file). All the large volume data packets that travel within the system follow this format (\ie \myCircled{1} through \myCircled{6}). The communication of small datapackets takes place using the HTTP protocol., label={lst:protobuf-schema}]
+\begin{lstlisting}[caption=The Redis and PostgreSQL schema (\texttt{schema.proto} file). All the large volume data packets that travel within the system follow this format (\ie \myCircled{1} through \myCircled{6}). The communication of small datapackets takes place using the \gls{http} protocol., label={lst:protobuf-schema}]
syntax = "proto3";
package proto;