Customer Connected Place Ltd, London, UK
Efforts ~150 dev-months
Platform Win32 client (Windows95/98/NT/2000/XP), Linux server
Year 2001

SmartDrivez is a complicated next generation storage technology. It can be used for:

  • Backup. Every time when backup is performed SmartDrivez detects only modified files and for these files it searches only for the modified part (delta file) that is to be sent for storage
  • Accessing data from different places. Having internet smartdrive you can easily synchronize your documents at work and documents at home, access them from your friend’s house or internet cafe
  • Collaboration. SmartDrivez allows multiple users to share stored data. Several access modes are used for security. Since SmartDrivez keeps all versions of your files, so no changes may be lost as a result of editing single file by several users.

SmartDrivez can use local disks or Internet servers for storage:

  • Local archives are kept on local disks (HDD, file server’s HDD, removeable disks – CD-RWs, ZIP, MO, etc.) and can be used for backup or collaboration work (file server’s HDD)
  • Internet archives are kept on special SmartDrivez servers and can be used for backup and accessing data from different places, and for collaboration.

The system consists of several components and includes:

  • Shell Extension library that implements namespaces. It includes find tool. Implemented features are “drag-n-drop” support, rooted and non-rooted namespaces, delayed folder enumeration.
  • Control panel applet.
  • Daemon executable (operating on local computer). Implements versioning, compressing, storing data (storage with improved performance).
  • Server executable. Implements the same functionality as the local one but supports larger storages.
  • External wizards. UI applications.
  • ASP gate. It is used instead of shell extension and allows web users to work with the system.
  • Installation components including ActiveX control (embedded) for quick installation
  • Low-level driver for protecting archives from viruses and harmful user influence.

Technologies: MSVC++, Win32 API, COM, Shell API, IPC, Socket API, ASP, ATL, STL, PortSTL.