1.3 Overview

The Storage Quality of Service (QoS) Protocol allows a client application to perform the following high-level operations:

  • Define a logical flow and specify a QoS Policy for the logical flow.

  • Provide data used to compute I/O performance metrics for a logical flow.

  • Retrieve status information for a logical flow.

The Storage QoS protocol is used to exchange configuration, metric and status data between the client and the server. The protocol allows a storage flow to be identified and a policy to be assigned to the operations belonging to the flow. For the purpose of illustrating the protocol behaviors, this specification assumes that on the server side there exists a Storage QoS implementation that is responsible for implementing policies by performing tasks such as collecting metrics, computing I/O rates for logical flows, determining status of logical flows, and manipulating I/O request queues to satisfy throughput requirements.