cloudpaging – the vision
Cloudpaging is a foundational technology framework and represents our vision to transform native software delivery, deployment and provisioning from the Cloud - public, private or on-premises.
This is not new for us - through our Endeavors subsidiary, we have been at the forefront of application virtualization and streaming since 1999 and have the 10 foundational patents in the field. Cloudpaging embodies everything we learnt in the intervening years - but incorporates a broader set of new and disruptive technologies to make that vision a reality.
We believe this technology will mark the end of digital downloads (known as the download hell) as well as any native software installation (known as the DLL hell).
Our goal is simple - we want native software delivery to be as simple, agile, rapid and as friction-free as a single click on a website. Our mission is to be to software, what Dropbox is to data - yet with the license control the rights-holders need to protect their assets.
And this is just the beginning - we believe cloudpaging has the potential to impact all connected devices where native software and other non-linear assets (such as mixed media content) need to be delivered rapidly, securely and without having to download it all.
How it works
One of the benefits of cloudpaging is that it can reduce the digital delivery time of any native application by between 20x and 100x by pre-virtualizing the asset to be delivered.
However, it is important to realize that we do not transmit pixels from the cloud - nor do we execute the application on a server. Instead, cloudpaging transmits pre-virtualized software instructions from the cloud (a page at a time and on-demand) which are then executed on the user's machine in a transient manner.
For this reason alone, cloudpaging is very different from RDP, RDS or traditional desktop virtualization solutions (VDI or Terminal Services) which stream pixels to the user and require a permanent network connection.
Here is how it is done.
Cloudify 100% of the apps
First, the application is 'cloudified' using our Jukebox Studio tool. This is an almost automatic process and does not require any changes to the application nor requires any access to the source code. This process pre-virtualizes the application, encrypts it and divides it into small fragments called 'pages'.
Cloudification is done once per asset by the ISV, service provider or the admin. It can take 30 minutes for a program like Adobe Photoshop or can take many hours for a huge program like Avid's Media Composer. We have a silo of thousands of such cloudified apps which we make available to our developers.
Unlike legacy offerings, we can cloudify and deliver 100% of Windows Applications and even cloudify and deliver plug-ins separately to the base application. Cloudpaging can even deliver the operating system and very large Virtual Machines.
Publish and patch with live license control
The cloudified application is then published securely on a server hosting our Jukebox Server component. Here, the service admin or the ISV can impose license control as they see fit. This is a 'live' license control system where licenses can even be revoked in real-time. The admin can also apply real-time patches and upgrades transparently to all the users or to a select few.
Deliver 20x to 100x faster than downloads
The cloudified application is then fetched by the user's computer, a page at time over HTTP/S, by deploying a Virtual MMU (Memory Manager Unit) using 'demand paging'. This Virtual MMU is part of our Jukebox Player which is a small client installed on the user's computer and incorporates a virtualization sandbox.
Once enough pages have been fetched (typically 5% or less), the application starts executing inside this sandbox - without actually requiring any installation. We call this initial fetch a 'partial' and cloudpaging exploits the fact that to run an application you actually need very little as shown in the following video.
As a result, users don't have to wait for very large downloads to complete and can start using the application once the partial is cloudpaged from the server. Because of virtualization, applications delivered this way do no require any installation - this means users do not have to confront installation issues or resource conflicts, which often plague software deployment.
Run without installation at native speeds – even offline
Subsequent accesses to the previously fetched pages are locally stored in an encrypted cache so that the performance remains as good as a natively executing application. This allows cloudpaged applications and content to be off-lined and even used without a network connection - all still under license control.
Deliver huge assets – even 66GB virtual machines!
This is probably not for everyone but cloudpaging can even be used to reduce the time required to deliver and deploy virtual machines in the server room. The following example is actually from a real customer use case where they needed to deploy a 66GB Hyper-V Virtual Machine as quickly as possible to many users.
The VM image includes one instance of Microsoft Windows 2008 R2 and several instances of Windows 7. The client machine is actually running Windows 2008 R2 with Hyper-V.
As you can see in the video below, we were able to deliver and deploy this 66GB image in just over 900MB - a 60x reduction in time.
cloudpaging – what is in our labs
Everything we have talked so far is shipping to our customers in Application Jukebox today. However just round the corner we have a number new patented innovations which are currently under development and we will share three of them with you.
Heuristic pushing of pages
A patented innovation of cloudpaging is the learning behaviour whereby the system creates a statistical tree for a given asset from a sample of users. Once enough statistics have been gathered, the server actually starts pushing likely pages to the client, in advance of an actual request. This further reduces the network footprint and latency and improves the user experience. This combined 'push-pull' paging mechanism decodes the genome of a piece of software and can also be a valuable instrumentation tool for ISVs.
Cloudpaging to tablets – platform shifting
We have an unusual way of cloudpaging to tablets - we borrow a local PC as a GPU server and then 'pixel stream' to your tablet over WiFi at 60Hz. We even incorporate 'gesture virtualization' so that you can interact with these applications using familiar touch gestures. These gestures are determined during the cloudification stage and stored as part of the meta-data associated with the cloudified application.
You can see this in action in the following video.
Cloudpaging from a smartphone – a server in your pocket
We have a very agile server architecture which can be deployed on Microsoft Windows platforms, Linux (including Red Hat) and even Android.
Unlike legacy solutions, we actually require very little compute power on the server. This means that the initial capital expenditure required to deploy cloudpaging in your environment is very small. A typical server can serve up to 10,000 users, compared to traditional desktop virtualization solutions, which at best can serve 50 users for a server instance - a 200x benefit in infrastructure costs.
We actually took this agility concept to its ultimate conclusion and ported our server component onto an Android Smartphone. This pocket server is still managed and license controlled from the cloud but most of your favourite cloudified applications now reside in your pocket. You just tether any PC via WiFi to your Smartphone, and within a few seconds you can start running the applications you are entitled to without any installation. When you leave, the applications simply disappear from the PC without any footprint.
The pocket server concept inspired a number of customers who will be deploying this technology both in the enterprise and also in the home.
You can see this in action in the following video.
cloudpaging – what came before
Cloudpaging is built on the solid foundations of Application Streaming and Virtualization, originally invented by our subsidiary, Endeavors. In the following video, which dates from late 2010, you can see first hand how solid these foundations were.
The video still uses the old vocabulary of 'streaming' (these days we use 'paging') but it nevertheless conveys the fundamental principles upon which cloudpaging is built.
Read more about Cloudpaging by third parties here.