Methods and apparatus for processing access requests in a content addressable computer system
First Claim
1. A method of processing data in a computer system comprising at least one host and at least one content addressable storage (CAS) system that performs a plurality of operations on content units for the at least one host, wherein the at least one host identifies the content units on the at least one CAS system using content addresses generated based, at least in part, on the content of the content units, wherein the computer system includes a CAS layer of software, disposed outside of the CAS system, that is adapted to communicate with the at least one CAS system, and wherein the method comprises acts, performed by the CAS layer of software, of:
- (A) receiving an input/output (I/O) request from the at least one host to perform an access on at least one of the content units on the at least one CAS system, wherein the I/O request includes at least one field that specifies at least one of the plurality of operations to be performed on the at least one content unit by the at least one CAS system;
(B) determining which of the plurality of operations is specified in the at least one field; and
(C) based on the at least one of the plurality of operations determined in the act (B) to be specified in the at least one field, performing at least one action selected from the group consisting of;
re-directing the I/O request;
denying the I/O request;
logging information concerning the I/O request;
when the at least one operation specified in the at least one field includes a write request to store a content unit on the at least one CAS system, mirroring the write request to a different location; and
concatenating the I/O request with at least one other I/O request.
9 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention are directed to a method and apparatus for receiving an input/output (I/O) request from a host computer that specifies an operation to be performed on a content addressable storage (CAS) system and determining which operation is specified by the request before receipt of the I/O request by a content addressable storage system. In another embodiment, an I/O request from a host computer is received by a first CAS which determines if the request is to be processed by another CAS system. When it is determined that the request is to be processed by another CAS system, the first CAS system may forward the request to the other CAS system. In another embodiment, an appliance receives an I/O request from a host computer to perform an operation that accesses a unit of content. The appliance may set up a communication session between the host and a CAS system so that the unit of content may be transmitted between the host and the CAS system without passing through the appliance.
-
Citations
124 Claims
-
1. A method of processing data in a computer system comprising at least one host and at least one content addressable storage (CAS) system that performs a plurality of operations on content units for the at least one host, wherein the at least one host identifies the content units on the at least one CAS system using content addresses generated based, at least in part, on the content of the content units, wherein the computer system includes a CAS layer of software, disposed outside of the CAS system, that is adapted to communicate with the at least one CAS system, and wherein the method comprises acts, performed by the CAS layer of software, of:
-
(A) receiving an input/output (I/O) request from the at least one host to perform an access on at least one of the content units on the at least one CAS system, wherein the I/O request includes at least one field that specifies at least one of the plurality of operations to be performed on the at least one content unit by the at least one CAS system; (B) determining which of the plurality of operations is specified in the at least one field; and (C) based on the at least one of the plurality of operations determined in the act (B) to be specified in the at least one field, performing at least one action selected from the group consisting of; re-directing the I/O request; denying the I/O request; logging information concerning the I/O request; when the at least one operation specified in the at least one field includes a write request to store a content unit on the at least one CAS system, mirroring the write request to a different location; and concatenating the I/O request with at least one other I/O request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
43. At least one computer readable medium encoded with instructions that, when executed on a computer system, perform a method of processing data, wherein the computer system comprises at least one host and at least one content addressable storage (CAS) system that performs a plurality of operations on content units for the at least one host, wherein the at least one host identifies the content units on the at least one CAS system using content addresses generated based, at least in part, on the content of the content units, wherein the computer system includes a CAS layer of software, disposed outside of the CAS system, that is adapted to communicate with the at least one CAS system, and wherein the method comprises acts, performed by the CAS layer of software, of:
-
(A) receiving an input/output (I/O) request from the at least one host to perform an access on at least one of the content units on the at least one CAS system, wherein the I/O request includes at least one field that specifies at least one of the plurality of operations to be performed on the at least one content unit by the at least one CAS system; (B) determining which of the plurality of operations is specified in the at least one field; and (C) based on the at least one of the plurality of operations determined in the act (B) to be specified in the at least one field, performing at least one action selected from the group consisting of; re-directing the I/O request; denying the I/O request; logging information concerning the I/O request; when the at least one operation specified in the at least one field includes a write request to store a content unit on the at least one CAS system, mirroring the write request to a different location; and concatenating the I/O request with at least one other I/O request. - View Dependent Claims (44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83)
-
-
84. An apparatus for use in a computer system comprising at least one host and at least one content addressable storage (CAS) system that performs a plurality of operations on content units for the at least one host, wherein the at least one host executes at least one application program identifies the content units on the at least one CAS system using content addresses generated based, at least in part, on the content of the content units, and wherein the apparatus comprises:
-
an input for receiving input/output (I/O) requests from the application program before the I/O request is received by the at least one CAS system; and a controller that includes a CAS layer of software, disposed outside of the CAS system, that is adapted to communicate with the at least one CAS system and that; receives, from the input, an input/output (I/O) request to perform an access on at least one of the content units on the at least one CAS system, wherein the I/O request includes at least one field that specifies at least one of the plurality of operations to be performed on the at least one content unit by the at least one CAS system; determines which of the plurality of operations is specified in the at least one field; and based on the at least one of the plurality of operations determined to be specified in the at least one field, performs at least one action selected from the group consisting of; re-directs the I/O request; denies the I/O request; logs information concerning the I/O request; when the at least one operation specified in the at least one field includes a write request to store a content unit on the at least one CAS system, mirrors the write request to a different location; and concatenates the I/O request with at least one other I/O request. - View Dependent Claims (85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124)
-
Specification