The “push” command, a vital component of the Push SFTP utility, operates by harnessing the capabilities of standard SFTP protocol operations. This ensures broad compatibility, as it doesn’t necessitate the implementation of any custom SFTP extensions, thereby maintaining the tool’s versatility across various platforms.
However, to enable the utilization of standard SFTP operations, certain prerequisites are assumed about the remote servers’ file systems.
For the Push SFTP command to perform, the following criteria concerning the SFTP server and its associated remote file system must be met:
Random Access Support: The remote file system must be able to facilitate random access. This enables the file system to retrieve data from or write data to any location within the file.
Multiple Writable Handles: The file system must concurrently support multiple writable handles to the same file. This feature enables the simultaneous writing of different segments of the same file, thereby leveraging parallelism to improve performance.
Concurrent Access Across Connections: The file system must simultaneously allow access to the same file across multiple connections. This capacity is fundamental to the file splitting and parallel uploading strategy of Push SFTP, as it allows separate file segments to be processed simultaneously over different network connections.
Jadaptive has created a set of SFTP extensions that servers can use to implement support for push transfers when the remote file system does not support the requirements of standard SFTP operations. If the SFTP server advertises support for these extensions, the push client will use them instead of standard operations.
The following table shows compatible servers that the developers have tested.