\begin{frame}
\frametitle{Scheduler}
\begin{goal}{}
The \emph{scheduler} decides the execution order of concurrent database access.
\end{goal}
\medskip
\begin{center}
\begin{tikzpicture}[nodes={rectangle,rounded corners=1mm,draw=black,fill=blue!10,outer sep=1mm}, node distance=20mm]
\node (c1) {Client 1};
\node (c2) [right of=c1] {Client 2};
\node (c3) [right of=c2] {Client 3};
\node (s) [below of=c2] {Scheduler};
\node (a) [below of=s,node distance=32mm] {Access and Storage Layer};
\begin{scope}[->,very thick,
s1/.style={thick,fill=yellow!20,inner sep=.5mm},
s2/.style={thick,fill=red!20,inner sep=.5mm},
s3/.style={thick,fill=green!20,inner sep=.5mm}
]
\draw (c1) --
node [pos=.0,s1,below left] {3}
node [pos=.3,s1,below left] {2}
node [pos=.6,s1,below left] {1}
(s);
\draw (c2) --
node [pos=.3,s2,left] {2}
node [pos=.7,s2,left] {1}
(s);
\draw (c3) --
node [pos=.0,s3,below right] {3}
node [pos=.3,s3,below right] {2}
node [pos=.6,s3,below right] {1}
(s);
\draw (s) --
node [pos=.2,s2,left] {1}
node [pos=.4,s3,left] {2}
node [pos=.6,s3,left] {1}
node [pos=.8,s1,left] {1}
(a);
\end{scope}
\end{tikzpicture}
\end{center}
\end{frame}