This is an old revision of the document!
By introducing simulations and predictions, we have created a job type that does not coexist well with the interactive website. These jobs must be outsourced to another machine (or a pool of machines). These jobs are executed as batch-jobs, i.e. they don't need user interaction.
Some requirements for this design:
Beanstalkd is a simple job queue designed for minimal overhead: http://kr.github.com/beanstalkd/
The beanstalk protocol is very simple: https://github.com/kr/beanstalkd/blob/v1.3/doc/protocol.txt. This is a very good thing(TM), because it leads to a bunch of client implementations that are ready to use.
The architecture for mySmartGrid will look as follows: