Query and task flow

Query flow

  • SCSI Write Buffer (GET query)
  • SCSI Read Buffer (HTTP response to GET query)

Query flow for large data transfers

  • SCSI Write Buffer (GET query)
  • SCSI Read Buffer (first portion of the HTTP response to GET query)
  • ...
  • SCSI Read Buffer (final portion of the HTTP response to GET query)

Task flow

Start task:

  • SCSI Write Buffer (POST task)
  • SCSI Read Buffer (HTTP response to POST task)

Poll for completion:

  • SCSI Write Buffer (GET task)
  • SCSI Read Buffer (HTTP response to GET task)

Notes

  1. The Buffer ID for each REST API command is X’10’.
  2. The Buffer ID for the HTTP response to the most recent REST API command is X’11’ — i.e., the HTTP response should be retrieved before sending a new REST API command.
  3. The Buffer Mode is 2 for all RoS commands.
  4. The Buffer Offset field for all RoS commands is vendor-specific and equates to an offset of 1 MiB (X’100000’) for each unit of Buffer Offset.
  5. Each Read Buffer response has a maximum Transfer Length of 1 MiB. In order to determine the remaining length of an HTTP response that has been truncated to 1 MiB, use the value returned for the Content-Length: field in the header of the HTTP response (at Buffer Offset of 0).
  6. RoS buffers are volatile (not stored in the LCC database) and are maintained separately for each control path in the library.
  7. Memory is allocated by control path upon first usage of that control path for REST over SCSI. To limit the cumulative memory consumed by REST over SCSI, a maximum of 4 control paths per LCC may be used for REST over SCSI (the cumulative usage is cleared with each reset of the LCC).
  8. RoS commands are allowed during SCSI Not Ready conditions such as door open. For the POST of a task, the task will be created but will report a state of failed if the library is in a SCSI Not Ready condition at any time during the execution of that task. For additional details on SCSI Not Ready conditions, see Supported SCSI commands and Sense Key 2 (Not Ready).
  9. There is a limit of one task in progress at a time.