New Statistical Algorithms for the Analysis of Mass - FU Berlin, FB MI ...
New Statistical Algorithms for the Analysis of Mass - FU Berlin, FB MI ...
New Statistical Algorithms for the Analysis of Mass - FU Berlin, FB MI ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
5.4. QAD GRID WORKER 131<br />
2. This request triggers ano<strong>the</strong>r stored procedure that per<strong>for</strong>ms <strong>the</strong> following<br />
steps:<br />
� If <strong>the</strong>re exists a request within <strong>the</strong> last five minutes containing<br />
<strong>the</strong> same key or <strong>the</strong> same IP address <strong>the</strong> whole request is canceled.<br />
This is done to prevent abusive generation <strong>of</strong> worker accounts which<br />
might result in high load on <strong>the</strong> server.<br />
� A new database account is created with randomly generated user<br />
name and password.<br />
� A new public/private key pair <strong>for</strong> asymmetric RSA encryption is<br />
generated.<br />
� A new certificate is created that is based on <strong>the</strong> MD5 digest <strong>of</strong><br />
a combination <strong>of</strong> <strong>the</strong> requesting worker’s service id and <strong>the</strong> just<br />
generated public key <strong>for</strong> this worker.<br />
� A new table entry is created that contains <strong>the</strong>se in<strong>for</strong>mation (DB<br />
account, key pair, certificate) and is encrypted by <strong>the</strong> 2048bit key<br />
<strong>the</strong> worker sent at initialization as binary array. This entry is identified<br />
by <strong>the</strong> request id <strong>the</strong> server sent back to <strong>the</strong> worker.<br />
3. The worker fetches this in<strong>for</strong>mation by database query, decrypts it and<br />
splits it back to <strong>the</strong> single components. These are <strong>the</strong>n stored at <strong>the</strong><br />
worker’s host.<br />
4. A new worker entry is created into <strong>the</strong> worker table <strong>of</strong> <strong>the</strong> plat<strong>for</strong>m<br />
server.<br />
5. The worker is now registered and can log into <strong>the</strong> QAD Grid system<br />
with <strong>the</strong>se credentials.<br />
At later logins <strong>the</strong> worker simply au<strong>the</strong>nticates using <strong>the</strong>se credentials and<br />
announces itself at <strong>the</strong> Grid. This announcement includes a unique identification<br />
key that is created when a worker starts up and used to identify each<br />
worker, e.g. <strong>for</strong> status updates.<br />
5.4.3 Status Messages<br />
Since <strong>the</strong> workers and client machines are not directly controlled by <strong>the</strong> Grid<br />
(as opposed to a cluster) <strong>the</strong> Grid needs to get messages from <strong>the</strong> clients<br />
to get in<strong>for</strong>mation about <strong>the</strong>ir status. This is by updates to a status table<br />
that contains a record <strong>for</strong> each client currently registered at <strong>the</strong> Grid. These<br />
updates are sent every 5-300 seconds by <strong>the</strong> workers and contain <strong>the</strong> following<br />
in<strong>for</strong>mations:<br />
State: The state a worker is in is actually a text string. This string can be set<br />
during computations and can e.g. contain progress in<strong>for</strong>mation or state<br />
changes during algorithm execution. It is mainly intended <strong>for</strong> humans<br />
to get in<strong>for</strong>mation about <strong>the</strong> actual worker condition.<br />
Local load: This measures (estimates) <strong>the</strong> load <strong>of</strong> <strong>the</strong> host system <strong>the</strong> worker<br />
is running on, caused by <strong>for</strong>eign processes. We define load as <strong>the</strong> time<br />
needed by <strong>the</strong> operating system to give control once to each o<strong>the</strong>r process