\setlength{\unitlength}{0.11mm}
\begin{picture}(1080,488)(-500,340)
\put(-320,500){\line(1,0){40}}
\put(-260,600){\small\sf CLIENT}
\put(280,600){\small\sf SERVICE}
\put(-380,700){\small\sf SERVER}
\put(-280,560){\framebox(180,100){}}
\put(-400,680){\framebox(200,80){}}
\put(260,580){\framebox(200,80){}}
\put(-250,620){\oval(420,360)}
\put(390,570){\oval(340,260)}
\put(-100,600){\thicklines\vector(1,0){360}}
\put(260,640){\thicklines\vector(-1,0){360}}
\put(20,660){\small requests}
\put(-20,560){\small events, errors}
\put(-320,680){\line(0,-1){220}}
\put(-320,620){\line(1,0){40}}
\put(320,500){\small\sf EVQUEUE}
\put(300,480){\framebox(220,60){}}
\put(320,580){\thicklines\vector(0,-1){40}}
\put(-320,380){\small server}
\put(340,380){\small client}
\end{picture}
