High-performance Server Message Block (SMB) stack
NQ Storage is the market choice for SMB file sharing in the enterprise field.
NQ Storage is a commercial, high-performance SMB stack that offers flexible integration for a wide range of storage services, from standalone NAS to high-end data centers. In contrast to the open-source Samba, NQ Storage is not process-based but thread-based. Such a feature enables handling heavy loads in terms of thousands of client connections, numerous open files, etc., while having a low resource consumption.
NQS supports all dialects all SMB dialects up to the latest 3.1.1; ensuring connectivity from all the latest client versions of Microsoft, Apple Macintosh, and Samba.
NQ storage unique?
Want to learn more?
NQ Storage is a highly portable library with the simple aim to be integrated into a storage solution.
NQ Storage can be integrated into either a Standalone Server or a Clustering solution.
NQ Storage as a standalone server
The model for using NQ Storage as a Standalone Server is illustrated in Figure 1. The SMB Engine module in Figure 1 is the central component of the entire architecture.
It is responsible for SMB syntax as well as for some non-file semantics. File semantics are maintained in the VFS module called POSIX VFS. Two transport modules – Socket.
Transport and SMB Direct – are responsible for networking. The Environment Abstraction component maps an abstract system
API on the exact operating system calls. Visuality Systems distinguishes between Project-Dependent (UD) and System Dependent (SY) layers. Recalling the difference between porting and integration, SY corresponds to Porting while UD corresponds to Integration.
NQ Storage as a Clustering Storage system
Another approach is integrating NQ Storage into a Clustering Storage system as illustrated in Figure 2.
The file system semantics illustrated in Figure 2 crosses not only the protocol borders,
but also node borders. Entities such as Persistent Handles, Continuously Available shares, etc., cannot be handled inside one node, and therefore, fall out of NQ Storage’s scope.
The Porting process is the same as for Standalone, while VFS Integration requires significant efforts. This happens because for a Clustering solution, POSIX VFS must be replaced with a custom VFS implementation. As NQ Storage exposes a well-defined VFS API, implementing a custom VFS involves connecting the SMB Engine with the Clustering File System (FS), which most storage providers already possess. To gain the best performance, most VFS API calls are made asynchronously with completion routines (callbacks). This approach allows the user to fully benefit from multi-threaded architecture (see below).
Going forward with
by your team
support & guidance
maintenance & support
What sets Visuality System apart?
Visuality NQ Storage solution – Stephen Foskett and a panel of Storage Field Day delegates (Webinar)
Upgrade Your Product
Upgrade your SMB today with a fully scalable, robust, and continually updated SMB client library with 24/7 dedicated, rapid response support.
Other Visuality Systems Solutions
client library The only commercial Java solution providing full SMB3 support