Streaming Windows applications from the cloud to HTML5 browsers is a relatively new domain, and Cameyo is among the few players. But using applications in a browser is only useful if you can access and edit your data. For this very reason, Cameyo presents a unique, patent-pending technology which we call Cloud Drive Virtualization. Let us tell you more about it, and how exciting it is.
As you may already know, HTML5 applications execute on a distant server and are rendered to your HTML5 browser. When it comes to storage, there are two existing approaches:
Data storage approach #1: direct access
This is the oldest, simplest method: RDP or HTML5 sessions run on a server which directly has access to the company’s network resources where users can save & load data. This method is convenient for LAN scenarios. However, it is neither practical nor effective when it comes to Internet / cloud / distributed scenarios.
Data storage approach #2: synchronization
This method is about downloading the entire user’s data onto the remote server where applications are to be executed. Much like a roaming profile, the user’s data is first copied onto the local machine, and changes are then synchronized back to the remote (or cloud) storage server. This is the usual method when it comes to Windows platforms. It is also used by some HTML5 products. However this technique comes with some inherent flaws:
• Efficiency: copying the entire user’s data between servers before each session begins is inefficient both in terms of network traffic and storage. Nowadays storage is counted in Terabytes. Providers like Google, Dropbox and OneDrive offer 1 TB of cloud storage at only a few dollars a month. Assume you have just 50 users – it’s easy to do the math of how much traffic needs to go back and forth between the HTML5 server and storage servers each time a user starts a session. If you plan on hosting your HTML5 server at a cloud provider, take into account additional network costs. Additionally, consider how much space capacity is required on each HTML5 server.
• Security: cloud storage providers are putting in place tremendous resources for securing their users’ data. Downloading users’ data to a remote-execution HTML5 server effectively reduces the security of that data, becoming the weakest link in the security chain – the easiest target for hackers (arguably easier than aiming at highly-secured datacenters such as Dropbox’s). Do users truly want to see their cloud data downloaded to HTML5 server, increasing their surface of attack?
• Startup speed: perhaps a detail but not negligible, the time required for downloading the entire user’s data is one more barrier to adoption. Waiting additional time for HTML5 sessions to be “data-ready” may seem quite long for users.
…and the smart approach
Our storage virtualization gives you access to your cloud data without the stated disadvantages. During HTML5 sessions, Cameyo displays a virtual storage folder inside the Desktop folder:
When you enter this folder from a virtual application (e.g. in the File | Open dialog), Cameyo accesses your cloud storage behind-the-scenes and provides the file listing and information to the application as if it were a local Windows folder. Thus the application sees the folder’s contents as if they were local, while in fact its contents are fetched in real-time and simulated to the application. But the file’s contents are not yet downloaded to our HTML5 server. Then, you choose to open any of the files inside (e.g. for viewing / editing it), this is when Cameyo actually downloads the file to our servers, lets you work on it, synchronizes any modification back to your cloud drive.
How does it work?
Cameyo accomplishes storage virtualization thanks to its file-system virtualization engine. As you may already know, our virtualization engine generates a 2-way view for virtual applications: the local file-system merged with the virtual application’s files. When running in the HTML5 environment, our engine now generates a 3-way view, combining the local file-system, the virtual application’s files, and your cloud storage.
When your HTML5 session is finished, any cloud files we downloaded are destroyed. In fact any data generated during your session is erased.
Cloud drive virtualization is available to all Cameyo users, both in our cloud and on-premise HTML5 servers. You can add several cloud drives at the same time. The currently supported providers are Dropbox and Google Drive.