Design Paradigm Transparent to the user Component add-on rather than alteration GINI remains independent Only altered the Configuration file GINI on a Cloud © November 09 1 David El Achkar, Simon Foucher, Mia Hochar, Marc Atie
Mar 18, 2016
1
Design ParadigmTransparent to the user
Component add-on rather than alterationGINI remains independentOnly altered the Configuration file
GINI on a Cloud © November 09
David El Achkar, Simon Foucher, Mia Hochar, Marc Atie
2
Design ParadigmUse of flexible communication library:
twistedGINI already in PythonFlexibleAvailable source codeStableHigh-level functions
GINI on a Cloud © November 09
David El Achkar, Simon Foucher, Mia Hochar, Marc Atie
3
Improvements Overview
GINI on a Cloud © November 09
Front End Dispatcher
Database
Scheduler
Back End
Back End
Back End
Back End
Server Workers
Client
David El Achkar, Simon Foucher, Mia Hochar, Marc Atie
4
Current Access to remote server
GINI on a Cloud © November 09
5
Connection to server
GINI on a Cloud © November 09
6
Connection to server
GINI on a Cloud © November 09
Front End
Back End
SSH Tunnel
7
Addition to GINI
GINI on a Cloud © November 09
8
Addition to GINI
GINI on a Cloud © November 09
9
Gateway to the cloud
GINI on a Cloud © November 09
10
Sequence of Events1. Send Dummy variable
Front End Dispatcher
Database
NoWorker
GINI on a Cloud © November 09
David El Achkar, Simon Foucher, Mia Hochar, Marc Atie
11
Sequence of Events2. Dispatcher searches for a worker
Front End Dispatcher
Database
Best Worker?
GINI on a Cloud © November 09
David El Achkar, Simon Foucher, Mia Hochar, Marc Atie
12
Sequence of Events3. Returns worker or dummy variable
Front End Dispatcher
Database
Worker’s IP
GINI on a Cloud © November 09
David El Achkar, Simon Foucher, Mia Hochar, Marc Atie
13
Why the dummy variable?
GINI on a Cloud © November 09
Need to establish TCP communicationRecycled as an error flagCould be user to convey info in future
upgrade
14
End Result: Unaltered GINI
GINI on a Cloud © November 09
15
Connection to server
GINI on a Cloud © November 09
Hidden location of back end
Front End
Back End
SSH Tunnel
16
FlexibilityNon-fixed data types being passedCurrently a string: IP, DNS or anything else
GINI on a Cloud © November 09
17
DrawbackTemporary TCP connection: Port expiration at
timeoutMost Clients don’t have DNS
GINI on a Cloud © November 09
18
Design Dilemma
GINI on a Cloud © November 09
EitherMaintain permanent client-dispatcher
connection Resources consuming Might not bring any benefits Requires heavy alterations to gServer
Drop the connection after delivering the goods Lightweight component No resources used Impossible (or difficult) to retrieve clients
19GINI on a Cloud © November 09