SAN Management
Konnector is a set of tools to connect storage array volumes to server compute nodes. Konnector provides an SDK to develop inline functions which operate on the storage flow between the server compute node and the storage array. Konnector's REST API attaches SAN Storage Array Volumes (SAV) to a compute server node over FC or iSCSI SANs. Konnector's API allows a user to insert data processing functions between the SAV and the compute node application. These in-line functions that operate on the data flow are called "storage filters". Konnector provides a virtual storage device (VSD) to the application instantiated as follows [VSD][Filters][VSA].
Filter toolkit
Konnector's SDK provides the capability to create "storage filters" which are deployed as ".so" DLL functions. Filters are dynamically inserted by the Konnector run time manager into the data flow between the compute server node and the storage array. Filters can be stacked so that the data flows across a number of filters in a filter stack. A filter stack example could be IOPS&BW filter, Encryption filter and multi-copy.
SDS Integration
Konnector provides the in-line virtual storage component of an SDS framework. Konnector provides fully controllable virtualised storage devices with user defined in-line processing of the data flow. Konnector is integrated with the IOStack SDS gateway for OpenStack. IOStack SDS Gateway allows user to define policies that create filter stack definitions instantiated in real time on any Konnector enabled compute server node.

Understanding Konnector: A Simple Example
A user wishes to connect over iSCSI a storage volume and insert in the data flow an in-line processing function such as encryption or compression. The user would write his inline data processing function using the Konnector SDK and deploy to the Konnector filter directory. Using the REST API Konnector can now discover and attach a storage array volume to the server node, instantiate the filter function in the data flow and present a virtualised device to the application. This example demonstrates how storage functionality can be extended on the compute server node without any change on the storage array