Android app using simple plot and a start button. (use HTML5 for front end may be ?)
1) Connects to the WCF Service and sends an array of 256 floats every one sec. For testing purpose put sine wave. Send a unique HardwareID to simulate the hardware in real application that identifies the sender, along with the sine wave.
2) Retrieves the modified sine wave from the WCF service and displays it as a plot in real time.
3) A start and stop toggle to start sending data and stop sending data.
1) Receive the data from the Android Client 256 floats every sec, like I mentioned above, along with Some unique HardwareID.
3) Create a binary file on first request based on ID for every hardware device Write the Data to binary file on cloud storage for now (we have our own files structure), that can grow Giga bytes in months. We will delete the old data later. (more than 2 months old)
4) Process the data real time, by reading the file written above, in our example just increase the sine wave amplitude by factor of 2, and write the result to another binary file, which will be of same size as input.
5) Push the data back / service the read request with the modified sine wave data containing 256 floats, which are twice as big compared to input.
Application should be scalable to handle thousands of hardware devices. We should be able to Generate many files of big size, two for each device.
Load should be balanced well on the cloud.
In real application the Data is much different and the processing is much complex and computationally very intensive.
In real application there can be many clients that send the read request to get the processed data back and display it in real time.