Cloud Rendering& Client Rendering

ScalingUpVsScalingOut.jpg
In traditional solution of medical image processing, the workstation plays the most important role where all of the algorithms on medical images are performed locally by its CPU/GPU once the images are fetched from central image archive to local disk and loaded into the RAM.Most of PACS in the healthcare market take this way and work just well.

But in era of cloud&mobile, a significant trend is to move most of computing workloads from client side into cloud side and then to leverage cloud to complete intensive computing work and return the result to client. We call this Strong-Cloud-Weak-Client model. This is a popular model and accepted by people for a long time. Google is the best example of this model: powerful cloud computing to index and process the huge amount of internet sources and then return the simple results to personal devices which even may be a old smart phone.

This model also sees many applications in Web-based PACS and other Web-based medical image process solution ,where the image processing is executed in a central part component that has excellent computing capability and the result is sent back to the client as quickly as possible. However, image processing is much different from other text-based processing because of image's visual and interactive characteristics. We human demand to see the image processing result instantly. This is not a big issue on workstation because all of the computing is commonly completed in single process and the overhead of data flowing is at the millisecond level. You move the mouse to zoom and you can see the result immediately even with a very complicated interpolation algorithm. This is not true any more for cloud computing because the round trip on network between the inter-process from client to cloud may take an unanticipated time to be finished .It is by no means to make it happen at millisecond level as on workstation. Generally speaking, user experience is a big problem for Strong-Cloud-Weak-Client model.

If we look this model again from higher level, we can find one more limitation on it. On one side, Strong-Cloud-Weak-Client model imposes little requirement on client. In most cases , a whatever client can work well . This is a good thing. On the other hand , as we see, for the client ,especially the mobile device, the computing capability is becoming more and more powerful. We know there are two typical approaches to improve the cloud 's scalability : horizontally and vertically and "Horizontally" is being used more wildly in cloud . Given such two approaches, "Strong-cloud-weak-client" model inherently limits its scope only into cloud side somehow and ignore the being-more-powerful clients . It does not make sense from a big picture 's perspective at all.

In a nutshell, based on understanding, scope our work in solution of medical imaging processing, we prefer Strong-Cloud-Strong-Client model. We highly recommend to distribute the whole workloads across the cloud and the clients, say mobiles devices sometimes. This extremely important for medical image processing. First of all,local processing can improve the user experience dramatically . Secondly, as the client number 's growing up, the cloud would't suffer from disruptive load pressure since the workloads have been balanced among
clients.

The biggest challenge of Strong-Cloud-Strong-Client model is how to distribute the raw data into client from cloud rapidly. A good Internet saying tell us if you can not do it ,just try to cheat. Suppose it is hard to transfer the whole data set rapidly on the wire, just transfer part of it first and let user think it is already done. It is a common practice to follow a method in term of data streaming technology . We believe Strong-Cloud-Strong-Client with data streaming is the most elegant solution in our domain. That's it.