Features
ExpeDat™ is designed for a very wide variety of use scenarios and network environments. Below are some of the key features which set ExpeDat apart.
Performance
ExpeDat can move data as fast as the underlying systems allow. You can also control performance to meet specific targets or avoid disruption to other traffic. See the Performance section for details.
Basic Interfaces
A familiar "FTP-like" interface is available for Windows and macOS with ExpeDat Desktop.
Drag-and-Drop file upload is available for Windows and macOS with DropDat.
Command line file transfer using syntax similar to "scp" is available for all platforms with movedat.
Web Integration
Use a web browser to view files, monitor upload status, check available free space, start uploads and downloads, and perform file maintenance. No plugins or Java are needed. Develop your own integrated solutions using expedat:// URLs, our JavaScript API, or our HTTP API. You can also embed ExpeDat links in documents, emails, and bookmarks. See the Web Integration chapter for details.
Easy Setup Server
The ExpeDat server can be installed as a system service or run directly from the command line. It consists of a single small executable consuming minimal resources.
File Meta Data
The unicode name and modification date of each file is preserved across all platforms. Read-only status is preserved for Windows sourced files. Unix mode permissions, user id, and group id are preserved for all other platforms when user permissions allow. When transferring folders using Streaming Folders, the creation date of each file is preserved for those platforms which support it.
Preconfigured Clients
Administrators can configure self-contained, customized clients that can then be emailed or otherwise distributed to end-users. DropDat droplets are icons which can be placed a user's desktop for one-step drag-and-drop uploads. Create separate droplets for each destination. ExpeDat Desktop clients can be embedded with performance and configuration settings customized to your environment.
Security
All user credentials are encrypted with AES-128 and content encryption is easily enabled. The server provides integrated system authentication for access to native, Active Directory, LDAP, NIS, and other logon schemes as well as private authentication for ExpeDat only access. You can also create your own custom authentication handler. See Tech Note 0016 for additional information about encryption and authentication security.
Compression
Inline content compression is available with the ExpeDat Desktop and movedat clients. See Tech Note 0014 for a discussion of the advantages and disadvantages of compressing your data.
Resumable Transfers
In the unlikely event of an interrupted transfer, individual file transfers can be resumed from the point of interruption. All clients offer automatic retry for network and capacity related errors.
Load Balancing & Failover
Clients can distribute their load across multiple servers and work around down or unreachable servers. See the Host Groups section for details.
Large Transfers
ExpeDat can transfer individual files up to 8 exabytes in size. ExpeDat Desktop and DropDat can handle folders containing hundreds of thousands of files, while movedat can transfer millions of files in a single session. Up to 16 exabytes can be transferred in a single session.
Streaming Folders
Send or receive billions of files at maximum speed. Streaming Folders optimizes the transfer of many small files by automatically packaging them through a single real-time data stream. See one of the "Moving Directories" sections for details.
Client Scripting
The movedat command line interface is self-contained and designed for easy scripting and automation. Secure password storage, wildcard matching, and detailed exit codes enable sophisticated scripting and integration. Progress logging allows you to wrap a full featured custom interface around movedat. stdio piping even lets you stream data to or from other applications.
Virtual Storage
Stream data through the server to external programs or storage without ever touching disk. Server defined Object Handlers allow clients to stream data via stdio directly to server-side applications. Access database storage, perform on-the-fly data processing or transcoding, or even relay data to other systems. Tasks such as listings, deletion, rename, and folder creation can also be performed by an Object Handler, allowing you to create fully functional virtual filesystems out of any back-end data system. Exit codes are passed all the way back to the client to ensure reliable automation and storage.
Server Automation
Clients can trigger server defined scripts to perform notifications, file organization, system ingest, or any other task. Object Handler scripts can run under the system user credentials of an authenticated shell user, and have access to detailed server environment information. Create sophisticated workflows and even interactive applications accessible through ExpeDat clients.
Client Development
Create your own fully integrated ExpeDat clients using the same APIs used to create ExpeDat Desktop, movedat, and DropDat. The ExpeDat Client SDK (EXP) is a static C library that can be integrated into any modern development environment. It is available as an add-on to any ExpeDat server host license.
Server Monitoring
Detailed records of transaction starts and stops, progress and performance, and server status are recorded in a machine parseable server log. Server status can be remotely monitored using the mtping utility. Multiple servers can be monitored using a web based Server Dashboard. The status of in-progress and interrupted uploads is recorded in accessible meta-data files.
More
There are many more features and capabilities for ExpeDat Desktop, DropDat, movedat, and servedat. For technical "under-the-hood" discussions, see the DEI Tech Notes.