M-Stream

Last updated on Feb 9, 2024

Transferring large volumes of data can be very difficult. Historically it would take users hours or even days to move very large files. The file would be first downloaded from the source system onto their local desktop (if there’s enough room). Only when that’s successful can an upload to the target server begin and fingers crossed an unreliable network doesn’t derail the transfer.

M-Stream® File Transfer Acceleration allows users to transfer files much more quickly. M-Stream transfers files in parallel streams, speeding up large file downloads, uploads, and movement between storage tiers.

M-Stream File Transfer Acceleration is activated when moving and copying large files, folders and objects. It's supported both in desktop tools (uploading and downloading) and in the appliance itself (server-to-server copies).

When is M-Stream Used

M-Stream is used when moving data between any of the following storage providers provided they support range reads.

  • Nasuni
  • CIFS/SMB
  • Swift API (SwiftStack, OpenStack Swift, Swift based clouds)
  • S3 API (certified on AWS S3, Cloudian, IBM COS)
  • Azure Blob
  • Filesystem (FS, Local block storage, StorNext, Ceph FS and many others)

M-Stream will also accelerate moves, copies and renames (because renames require copying the file that is being renamed) between buckets within an S3 or OpenS3 provider. .

M-Stream for Download

M-Stream will accelerates downloads from supported storage providers to the Windows and Mac desktop clients. Downloads from the Web File Manager are not supported.

M-Stream for Upload

M-Stream provides accelerated uploads through the Web File Manager and desktop clients.

M-Stream streams parts in parallel directly to storage providers. M-Stream will not be used when an upload is performed outside Access Anywhere, when the file size is not known, or when the file content will be encrypted.

For example when:

  • Direct upload is used (when both client and provider have 'direct upload' enabled)
  • Chunking is enabled (uncommon)
  • File uploaded through FTP (as the file size is not provided)
  • Encryption is enabled
  • Antivirus scanning is enabled.

Enabling M-Stream

To enable M-Stream follow the steps below:

Appliance Administration

Go to Settings » Site Functionality to review the M-Stream settings.

See Access Anywhere Appliance Administration Guide for more information.

Organization Administration

Go to Policies » Encryption:

  • Disable Encryption. (Accelerated transfer will not be used for files encrypted with NAA encryption. SSE encryption or other storage encryption allow accelerated transfer.)

Go to Policies » Security:

  • “Enable Antivirus for uploads:” is turned “Off”

For each Object Storage provider from to Dashboard » Provider Settings:

  • Set Chunking “OFF”
  • Turn MPU/DLO “ON” (If provider supports MPU/DLO)

Enabling For Windows Tools

From Cloud Tools » Control Panel » Bandwidth:

  • Enable Allow multistream downloads
  • Pick minimum file size (100 - 4096 MB)
  • Pick up to 4 streams of data (Max 1 per CPU)
  • Determine if Cloud Drive should also use M-Stream

Then number of cores used by the desktop will be limited to the maximum number of threads set in the server.

Enabling For the Mac Drive

The following options are available for the Mac Drive from the Nasuni Access Anywhere control panel under “Settings”.

  • Download & Upload Threads: # Cores (defaults to number of cores)
  • Download Minimum Size: 150 Mbytes (default)

Then number of cores used by the desktop will be limited to the maximum number of threads set in the server.

Support Notes

  • Provider must support MPU/DLO and range read. See Multipart Uploading (MPU, DLO).
  • File system must support Random I/O. (Controlled by the read / write block size)
  • M-Stream requires no user interaction. It works automatically when conditions allow.
  • If a file is being uploaded using M-Stream then MD5 of the file will not be calculated, even if the feature “Calculate MD5 for upload” is enabled.