CASE STUDY

Iterate GmbH

Iterate Builds Mountain Duck Virtual Drive with CBFS Connect.





Iterate GmbH is an agile software engineering company that specializes in mobile security and provides first-hand cloud expertise. Among other popular products, Iterate offers Mountain Duck, a solution for mounting volumes in the file explorer. Mountain Duck unlocks access to remote files so they can be used by any local application as if they were on a local volume.

To make Mountain Duck more appealing for customers who need local cloud data access, Iterate provided their users with remote cloud storage. Iterate wanted an easy, seamless process, and nothing is easier or more commonly understood than the file system. Naturally, the best solution was to offer a mapped network drive for Mountain Duck users, and Iterate needed a quality virtual file system driver to do so.

After evaluating various solutions, Iterate found CBFS Connect to be the best driver SDK to rapidly develop their mapped network drive module. Following their successful development, Mountain Duck is positioned to attract more customers.

The Challenge

Before selecting CBFS Connect, Iterate experienced a variety of challenges. First, the underlying file system was creating too many system calls, which required an intelligent caching mechanism to deliver acceptable performance. The system calls were a bottleneck, especially in the context of their purely online approach, which uses no file syncing to the local file system. Each system call takes time to complete, leading to clogged pipes.

Second, they had to handle many different access/write patterns.

"There are applications that read a file backwards, for example," said Yves Langisch, CEO of Iterate. “Or applications that write files in a random manner. Not all protocols we support can handle writes with offset.”

As a result, Iterate sought to add mapped drive technology to Mountain Duck that would make it possible to create a mapped drive for each customer, regardless of where their cloud data was stored. They needed a file system driver SDK that would:

  • Work reliably

  • Be easy to use

  • Speed up their development process

Iterate searched extensively for a virtual file system driver that could not only help them make remote cloud storage available as a mapped network drive, but also simplify development.

The Options

Iterate considered three primary solutions:

  • CBFS Connect

  • The open-source Dokany file system

  • WinFsp.

Given their requirement for a stable, future-proofed driver that delivered high performance without file corruption, CBFS Connect was the natural choice.

"I read through the forums and, apparently, Dokan(y) does basically work but is not very stable," Langisch said. “CBFS Connect is not a legacy driver and works well with the upcoming Windows 10 update, which blocks legacy drivers by default.”

The Fast, Reliable Solution

Iterate used CBFS Connect to develop their mapped network drive.

Regardless of where the actual data is kept, such as in remote or local files, database records, memory, or across the internet, CBFS Connect makes it possible to treat it as if it were stored in a local file system or on a local network. CBFS Connect enabled Iterate to present Mountain Duck data as a file system located on a virtual disk — and do so without writing any drivers that would require kernel development. The core features of CBFS Connect allowed them to:

  • Hide data location from any user or application and control data access through permission schemas

  • Modify remote data on the fly and avoid replication overhead

  • Apply NTFS security to non-file data

Just as important for Iterate, these powerful features came with the support of a company that stands behind its products.

What Made The Difference?

"I was in touch with CBFS support," Langisch said. “I always got prompt answers which solved my issue or clarified why it behaves like it did — high quality support.”

The Results

Mountain Duck achieved outstanding stability and performance on Windows 10.

"Outstanding stability and performance," Langisch said. “CBFS (Connect) greatly helped us to focus on the implementation of the virtual filesystem, as at no time we had to struggle with device driver or stability issues. Just works!”

Even better, the CBFS Connect sample code available on the Callback website helped accelerate development even further by providing helpful guidance and templates for implementing a real-world solution.