Command management using task attributes
First Claim
Patent Images
1. A device capable of usage in a storage system including an initiator, a primary target, and a secondary target, the device being capable of configuration for asynchronous remote mirroring functionality and comprising:
- a target controller capable of communicating with the initiator and performing operations requested by the initiator; and
a process on the target controller capable of receiving a stream of command requests from the initiator, performing the requested commands, and asynchronously relaying the requested commands to a secondary target while ensuring precedence graph equivalence between received and relayed commands, the process embedding task attributes in the relayed commands capable of increasing concurrency in commands performed by the secondary target.
2 Assignments
0 Petitions
Accused Products
Abstract
An efficient technique for performing remote asynchronous mirroring includes receiving a stream of command requests, performing the requested commands, relaying the requested commands to a target while embedding an explicitly-defined or implied task precedence graph in the relayed commands to enable increased concurrency in tasks performed by the target.
36 Citations
30 Claims
-
1. A device capable of usage in a storage system including an initiator, a primary target, and a secondary target, the device being capable of configuration for asynchronous remote mirroring functionality and comprising:
-
a target controller capable of communicating with the initiator and performing operations requested by the initiator; and
a process on the target controller capable of receiving a stream of command requests from the initiator, performing the requested commands, and asynchronously relaying the requested commands to a secondary target while ensuring precedence graph equivalence between received and relayed commands, the process embedding task attributes in the relayed commands capable of increasing concurrency in commands performed by the secondary target. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of ordering commands in a communication system comprising:
-
receiving a stream of commands;
performing the commands;
embedding task attributes in the relayed commands to increase concurrency in commands performed by the target; and
relaying the commands to a target. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method of ordering commands in a communication system comprising:
-
communicating information via an internet Small Computer Systems Interface (iSCSI) transport protocol; and
embedding Small Computer Systems Interface (SCSI) task attributes in a received command stream to ensure an ordering behavior sufficient for attaining concurrency performance and correct algorithm operation.
-
-
21. A method of ordering commands in a communication system comprising:
-
receiving a stream of command requests;
embedding task attributes in the relayed commands to improve transaction ordering for a remote mirroring application using an ordered transport; and
relaying the requested commands.
-
-
22. An article of manufacture comprising:
a controller usable medium having a computable readable program code embodied therein for ordering commands in a communication system, the computable readable program code further comprising;
a code capable of causing the controller to receive a stream of command requests;
a code capable of causing the controller to perform the requested commands;
a code capable of causing the controller to infer an intended precedence of the requested commands;
a computable readable program code capable of causing the controller to embed task attributes in the relayed commands according to the intended precedence to increase concurrency in commands performed by the target; and
a code capable of causing the controller to relay the requested commands to a target.
-
23. An article of manufacture comprising:
a controller usable medium having a computable readable program code embodied therein for ordering commands in a communication system, the computable readable program code further comprising;
a code capable of causing the controller to communicate information via an internet Small Computer Systems Interface (iSCSI) transport protocol; and
a code capable of causing the controller to embed Small Computer Systems Interface (SCSI) task attributes in a received command stream to ensure an ordering behavior sufficient for attaining concurrency performance and correct algorithm operation.
-
24. An article of manufacture comprising:
a controller usable medium having a computable readable program code embodied therein for ordering commands in a communication system, the computable readable program code further comprising;
a code capable of causing the controller to receive a stream of command requests;
a code capable of causing the controller to relay the requested commands; and
a code capable of causing the controller to embed task attributes in the relayed commands to improve transaction ordering for a remote mirroring application using an ordered transport.
-
25. A device in a communication system comprising:
-
means for receiving a stream of command requests;
means for performing the requested commands;
means for embedding task attributes in the relayed commands capable of increasing concurrency in commands performed by the target; and
means for relaying the requested commands to a target.
-
-
26. A remote mirroring method comprising:
-
communicating information between a primary initiator and a secondary target;
inferring a task precedence graph intended by the primary initiator by tracking concurrency of issued tasks; and
conveying the inferred task precedence graph to the secondary target. - View Dependent Claims (27, 28, 29, 30)
-
Specification