Methods and apparatus for transferring data in a content addressable computer system
First Claim
1. A method of processing input/output (I/O) requests in a computer system comprising at least one host, at least one content addressable storage (CAS) system that performs a plurality of operations on content units for the at least one host, and an appliance that is separate from the at least one host and the CAS system, wherein the at least one host identifies a content unit on the at least one CAS system using a content address generated based, at least in part, on the content of the content unit that is to be provided when the content unit is read from the CAS system, the method comprising acts, performed by the appliance, of:
- (A) receiving a first I/O from the at least one host, wherein the first I/O is a request to perform an operation that accesses a first content unit and involves the transmission of the first content unit between the at least one host and the at least one CAS system;
(B) examining information relating to the first I/O request;
(C) when it is determined, based on the information relating to the first I/O request, that at least one first condition is met, sending an instruction, to the at least one host that issued the first I/O request and/or the at least one CAS system, that causes the path for transmission of the first content unit between the at least one host and the at least one CAS system to not pass through the appliance; and
(D) when it is determined, based on the information relating to the first I/O request, that the at least one first condition is not met, sending an instruction to the at least one host and/or to the at least one CAS system that causes the path for transmission of the first content unit between the at least one host and the at least one CAS system to pass through the appliance.
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.
14 Citations
81 Claims
-
1. A method of processing input/output (I/O) requests in a computer system comprising at least one host, at least one content addressable storage (CAS) system that performs a plurality of operations on content units for the at least one host, and an appliance that is separate from the at least one host and the CAS system, wherein the at least one host identifies a content unit on the at least one CAS system using a content address generated based, at least in part, on the content of the content unit that is to be provided when the content unit is read from the CAS system, the method comprising acts, performed by the appliance, of:
-
(A) receiving a first I/O from the at least one host, wherein the first I/O is a request to perform an operation that accesses a first content unit and involves the transmission of the first content unit between the at least one host and the at least one CAS system; (B) examining information relating to the first I/O request; (C) when it is determined, based on the information relating to the first I/O request, that at least one first condition is met, sending an instruction, to the at least one host that issued the first I/O request and/or the at least one CAS system, that causes the path for transmission of the first content unit between the at least one host and the at least one CAS system to not pass through the appliance; and (D) when it is determined, based on the information relating to the first I/O request, that the at least one first condition is not met, sending an instruction to the at least one host and/or to the at least one CAS system that causes the path for transmission of the first content unit between the at least one host and the at least one CAS system to pass through the appliance. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. At least one computer readable medium encoded with instructions that, when executed on a computer system, perform a method of processing input/output (I/O) requests, wherein the computer system comprises at least one host, at least one content addressable storage (CAS) system that performs a plurality of operations on content units for the at least one host, and an appliance that is separate from the at least one host and the CAS system, wherein the at least one host identifies a content unit on the at least one CAS system using a content address generated based, at least in part, on the content of the content unit that is to be provided when the content unit is read from the CAS system, the method comprising acts, performed by the appliance, of:
-
(A) receiving a first I/O from the at least one host, wherein the first I/O is a request to perform an operation that accesses a first content unit and involves the transmission of the first content unit between the at least one host and the at least one CAS system; (B) examining information relating to the first I/O request; (C) when it is determined, based on the information relating to the first I/O request, that at least one first condition is met, sending an instruction, to the at least one host that issued the first I/O request and/or the at least one CAS system, that causes the path for transmission of the first content unit between the at least one host and the at least one CAS system to not pass through the appliance; and (D) when it is determined, based on the information relating to the first I/O request, that the at least one first condition is not met, sending an instruction to the at least one host and/or to the at least one CAS system that causes the path for transmission of the first content unit between the at least one host and the at least one CAS system to pass through the appliance. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer system comprising:
-
at least one host; 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 a content unit on the at least one CAS system using a content address generated based, at least in part, on the content of the content unit that is to be provided when the content unit is read from the CAS system; and an appliance that is separate from the at least one host and the at least one CAS system comprising at least one controller that; receives a first I/O from the at least one host, wherein the first I/O is a request to perform an operation that accesses a first content unit and involves the transmission of the first content unit between the at least one host and the at least one CAS system; examines information relating to the first I/O request; when it is determined, based on the information relating to the first I/O request, that at least one first condition is met, sends an instruction, to the at least one host that issued the first I/O request and/or the at least one CAS system, that causes the path for transmission of the first content unit between the at least one host and the at least one CAS system to not pass through the appliance; and when it is determined, based on the information relating to the first I/O request, that the at least one first condition is not met, sends an instruction to the at least one host and/or to the at least one CAS system that causes the path for transmission of the first content unit between the at least one host and the at least one CAS system to pass through the appliance. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A method of processing input/output (I/O) requests in a computer system comprising at least one host, at least one content addressable storage (CAS) system that performs a plurality of operations on content units for the at least one host, and an appliance that is separate from the at least one host and the at least one CAS system, wherein the at least one host identifies a content unit using a content address generated based, at least in part, on the content of the content unit that is to be provided when the content unit is read from the CAS system, the method comprising acts, performed by the at least one host, of:
-
(A) transmitting a first I/O to the appliance, wherein the first I/O is a request to perform an operation that accesses a first content unit on the at least one CAS system, and wherein the operation involves the transmission of the first content unit between the at least one host and the at least one CAS system; and (B) engaging in a communication session with the at least one CAS system so that the first content unit is transmitted between the at least one host and the at least one CAS system without passing through the appliance. - View Dependent Claims (29, 30, 31, 32)
-
-
33. At least one computer readable medium encoded with instructions that, when executed on a computer system, perform a method of processing input/output (I/O) requests, wherein the computer system comprises at least one host, at least one content addressable storage (CAS) system that performs a plurality of operations on content units for the at least one host, and an appliance that is separate from the at least one host and the at least one CAS system, wherein the at least one host identifies a content unit using a content address generated based, at least in part, on the content of the content unit that is to be provided when the content unit is read from the CAS system, the method comprising acts, performed by the at least one host, of:
-
(A) transmitting a first I/O to the appliance, wherein the first I/O is a request to perform an operation that accesses a first content unit on the at least one CAS system, and wherein the operation involves the transmission of the first content unit between the at least one host and the at least one CAS system; and (B) engaging in a communication session with the at least one CAS system so that the first content unit is transmitted between the at least one host and the at least one CAS system without passing through the appliance. - View Dependent Claims (34, 35, 36, 37)
-
-
38. A host computer for use in a computer system comprising 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 a content unit using a content address generated based, at least in part, on the content of the content unit that is to be provided when the content unit is read from the CAS system, and an appliance that is separate from the at least one host and the at least one CAS system, wherein the host computer comprises:
-
a memory; and at least one controller, coupled to the memory, that; transmits a first I/O to the appliance, wherein the first I/O is a request to perform an operation that accesses a first content unit on the at least one CAS system, and wherein the operation involves the transmission of the first content unit between the at least one host and the at least one CAS system; and engages in a communication session with the at least one CAS system so that the first content unit is transmitted between the at least one host and the at least one CAS system without passing through the appliance. - View Dependent Claims (39, 40, 41, 42)
-
-
43. A method of processing an input/output (I/O) request in a computer system comprising at least one host, at least one content addressable storage (CAS) system that performs a plurality of operations on content units for the at least one host, and an appliance that is separate from the at least one host and the at least one CAS system, wherein the at least one host identifies a content unit using a content address generated based, at least in part, on the content of the content unit that is to be provided when the content unit is read from the CAS system, wherein the I/O request is a request to perform an operation that accesses a first content unit on the at least one CAS system, and wherein the operation involves the transmission of the first content unit between the at least one host and the at least one CAS system, the method comprising acts, performed by the at least one CAS system, of:
-
(A) receiving from the appliance a communication instructing the at least one CAS system to initiate transmission of the first content unit between the at least one host and the at least one CAS system; and (B) engaging in a communication session with the at least one host so that the first content unit is transmitted between the at least one host and the at least one CAS system without passing through the appliance. - View Dependent Claims (44, 45, 46)
-
-
47. At least one computer readable medium encoded with instructions that, when executed on a computer system, perform a method of processing an input/output (I/O) request, wherein the computer system comprises at least one host, at least one content addressable storage (CAS) system that performs a plurality of operations on content units for the at least one host, and an appliance that is separate from the at least one host and the at least one CAS system, wherein the at least one host identifies a content unit using a content address generated based, at least in part, on the content of the content unit that is to be provided when the content unit is read from the CAS system, wherein the I/O request is a request to perform an operation that accesses a first content unit on the at least one CAS system, and wherein the operation involves the transmission of the first content unit between the at least one host and the at least one CAS system, the method comprising acts, performed by the at least one CAS system, of:
-
(A) receiving from the appliance a communication instructing the at least one CAS system to initiate transmission of the first content unit between the at least one host and the at least one CAS system; and (B) engaging in a communication session with the at least one host so that the first content unit is transmitted between the at least one host and the at least one CAS system without passing through the appliance. - View Dependent Claims (48, 49, 50)
-
-
51. A content address storage (CAS) system, for use in a computer system comprising at least one host, an appliance that is separate from the at least one host and the at least one CAS system, wherein the at least one host identifies a content unit using a content address generated based, at least in part, on the content of the content unit that is to be provided when the content unit is read from the CAS system, wherein the I/O request is a request to perform an operation that accesses a first content unit on the at least one CAS system, wherein the operation involves the transmission of the first content unit between the at least one host and the at least one CAS system, and wherein that CAS system comprises:
-
at least one storage device; and at least one controller, coupled to the at least one storage device, that; receives from the appliance a communication instructing the at least one CAS system to initiate transmission of the first content unit between the at least one host and the at least one CAS system; and engages in a communication session with the at least one host so that the first content unit is transmitted between the at least one host and the at least one CAS system without passing through the appliance. - View Dependent Claims (52, 53, 54, 80)
-
-
55. A method of processing input/output (I/O) requests in a computer system comprising at least one host, at least one content addressable storage (CAS) system that performs a plurality of operations on content units for the at least one host, and an appliance that is separate from the at least one host and the at least one CAS system, wherein the at least one host identifies a content unit using a content address generated based, at least in part, on the content of the content unit that is to be provided when the content unit is read from the CAS system, the method comprising acts, performed by the appliance, of:
-
(A) receiving a first I/O from the at least one host, wherein the first I/O is a request to perform an operation that accesses a first content unit on the at least one CAS system, and wherein the operation involves the transmission of the first content unit between the at least one host and the at least one CAS system; and (B) establishing a communication session in which the first content unit is transmitted between the at least one host and the at least one CAS system without passing through the appliance. - View Dependent Claims (56, 57, 58, 59, 60, 61, 62)
-
-
63. At least one computer readable medium encoded with instructions that, when executed on a computer system, perform a method of processing input/output (I/O) requests, wherein the computer system comprises at least one host, at least one content addressable storage (CAS) system that performs a plurality of operations on content units for the at least one host, and an appliance that is separate from the at least one host and the at least one CAS system, wherein the at least one host identifies a content unit using a content address generated based, at least in part, on the content of the content unit that is to be provided when the content unit is read from the CAS system, the method comprising acts, performed by the appliance, of:
-
(A) receiving a first I/O from the at least one host, wherein the first I/O is a request to perform an operation that accesses a first content unit on the at least one CAS system, and wherein the operation involves the transmission of the first content unit between the at least one host and the at least one CAS system; and (B) establishing a communication session in which the first content unit is transmitted between the at least one host and the at least one CAS system without passing through the appliance. - View Dependent Claims (64, 65, 66, 67, 68, 69, 70)
-
-
71. An appliance 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 identifies a content unit using a content address generated based, at least in part, on the content of the content unit that is to be provided when the content unit is read from the CAS system, and wherein the appliance comprises:
-
an input that receives a first I/O from the at least one host; and a controller, coupled to the input, that; receives the first I/O from the input, wherein the first I/O is a request to perform an operation that accesses a first content unit on the at least one CAS system, and wherein the operation involves the transmission of the first content unit between the at least one host and the at least one CAS system; and establishes a communication session in which the first content unit is transmitted between the at least one host and the at least one CAS system without passing through the appliance. - View Dependent Claims (72, 73, 74, 75, 76, 77, 78, 81)
-
-
79. A method of processing input/output (I/O) requests in a computer system comprising at least one host, a first content addressable storage (CAS) system and a second CAS system, wherein the first and second CAS systems each performs a plurality of operations on content units for the at least one host, wherein the at least one host identifies a content unit using a content address generated based, at least in part, on the content of the content unit that is to be provided when the content unit is read from the CAS system, the method comprising acts of:
-
(A) receiving, at the first CAS system, a first I/O from the at least one host, wherein the first I/O is a request to perform an operation that accesses a first content unit on the second CAS system, and wherein the operation involves the transmission of the first content unit between the at least one host and the second CAS system; and (B) establishing a communication session in which the first content unit is transmitted between the at least one host and the second CAS system without passing through the first CAS system.
-
Specification