Iterate GmbH

Iterate Builds Mountain Duck Virtual Drive with CBFS Connect.

Iterate GmbH

Iterate GmbH is an agile software engineering company that specializes in mobile security and providing 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 access to remote cloud storage. Iterate wanted an easy, seamless process, and nothing is easier or more commonly understood than a filesystem. Naturally, the best solution was to offer a mapped network drive for Mountain Duck users, and Iterate needed a quality virtual filesystem 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 filesystem 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 Iterate's purely online approach, which uses no file syncing to the local filesystem. 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 filesystem driver SDK that would:

  • Work reliably
  • Be easy to use
  • Speed up their development process

Iterate searched extensively for a virtual filesystem 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 Dokan filesystem
  • 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 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 filesystem or on a local network. CBFS Connect enabled Iterate to present Mountain Duck data as a filesystem 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 the location of data from users and applications
  • Control access to data using permission schemas
  • Modify remote data on the fly to 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.