\node (CN) [client,inner sep=0pt,draw,right=of CD] {Client\textsubscript{n}};
% line between server and browser
- \draw [dotted] ([xshift=-5em,yshift=-.8em]C1.south west) node[left,above]{browser} node[left,below]{server(s)} -- ([xshift=3em,yshift=-.8em]CN.south east);
+ \draw [dotted] ([xshift=-5em,yshift=-.8em]C1.south west) node[left,above]{browser} node[left,below]{server(s)} -- ([xshift=5em,yshift=-.8em]CN.south east);
- \node[task,inner sep=-4.5pt,below=of C1,fill=white,xshift=4.5em,yshift=-4.5em] (Tn) {Task\textsubscript{n}};
- \node[task,inner sep=-4.5pt,below=of C1,fill=white,xshift=3em,yshift=-3.0em] (Td) {\ldots};
- \node[task,inner sep=-4.5pt,below=of C1,fill=white,xshift=1.5em,yshift=-1.5em] (T2) {Task\textsubscript{2}};
- \node[task,inner sep=-4.5pt,below=of C1,fill=white] (T1) {Task\textsubscript{1}};
+ \node[task,inner sep=-4.5pt,below=of C1,fill=white,xshift=6.5em,yshift=-4.5em] (Tn) {Task\textsubscript{n}};
+ \node[task,inner sep=-4.5pt,below=of C1,fill=white,xshift=5em,yshift=-3.0em] (Td) {\ldots};
+ \node[task,inner sep=-4.5pt,below=of C1,fill=white,xshift=3.5em,yshift=-1.5em] (T2) {Task\textsubscript{2}};
+ \node[task,inner sep=-4.5pt,below=of C1,fill=white,xshift=2em] (T1) {Task\textsubscript{1}};
\node[share,node distance=6em,right=of T1,fill=white,xshift=4.5em,yshift=-4.5em] (Sn) {SDS\textsubscript{n}};
\node[share,node distance=6em,right=of T1,fill=white,xshift=3em,yshift=-3.0em] (Sd) {\ldots};
\node[share,node distance=6em,right=of T1,fill=white,xshift=1.5em,yshift=-1.5em] (S2) {SDS\textsubscript{2}};
\node[share,node distance=6em,right=of T1,fill=white] (S1) {SDS\textsubscript{1}};
+ \node[fit={(T1)(Sn)},draw] (TS) {};
+
% line between client and server
- \draw [dotted] ([xshift=-5em,yshift=-11em]C1.south west) node[left,above]{server(s)} node[left,below]{device(s)} -- ([xshift=3em,yshift=-11em]CN.south east);
+ \draw [dotted] ([xshift=-5em,yshift=-11em]C1.south west) node[left,above]{server(s)} node[left,below]{device(s)} -- ([xshift=5em,yshift=-11em]CN.south east);
% device 1
\node[task,text width=1.5em,inner sep=-4.5pt,node distance=12em,below=of C1,double copy shadow={shadow xshift=.4em,shadow yshift=-.4em},fill=white] (D1T1) {};
\node[share,text width=.3em,text height=.8ex,right=of D1T1,double copy shadow={shadow xshift=.4em,shadow yshift=-.4em},fill=white] (D1S1) {};
- \node[draw,fit={(D1S1)(D1T1)([shift={(1.2em,-1.2em)}]D1S1.south east)},label=below:{\scriptsize mTask device\textsubscript{1}}] {};
+ \node[draw,fit={(D1S1)(D1T1)([shift={(1.2em,-1.2em)}]D1S1.south east)},label=below:{\scriptsize mTask device\textsubscript{1}}] (D1) {};
% device 2
\node[task,text width=1.5em,inner sep=-4.5pt,node distance=12em,below=of C2,double copy shadow={shadow xshift=.4em,shadow yshift=-.4em},fill=white] (D2T1) {};
\draw [<->] (CN) -- (T1);
\draw [<->] (T1) -- (S1);
- \draw [<->] (T1) -- (S2);
- \draw [<->] (T1) -- (Sn);
+% \draw [<->] (T1) -- (S2);
+% \draw [<->] (T1) -- (Sn);
- \draw [<->] (Tn) -- node [midway,above,sloped] {\scriptsize\texttt{liftmTask}} (D1T1);
- \draw [<->] (Sn) -- node [midway,above,sloped] {\scriptsize\texttt{liftsds}} (D1S1);
+ \draw [<->] (Tn) -- node [midway,above,fill=white] {\small\texttt{liftmTask}} (D2T1);
+ \draw [<->] (Sn) -- node [midway,above,fill=white] {\small\texttt{liftsds}} (D2S1);
\draw [<->] (D1T1) -- (D1S1);
+ \draw [<->] (D2T1) -- (D2S1);
+ \draw [<->] (DNT1) -- (DNS1);
+ \draw [<->] (D1.north) to [in=180,out=135] node [midway,above,fill=white] {\small\texttt{withDevice}} (TS.west);
\end{tikzpicture}
\end{document}