Converting an object identifier to a block I/O address to identify a storage location on a server
AssigneeEMC Corporation
InventorsStephen J. Todd, Philippe Armangau
Life of this patent
Estimating the term…
Abstract
One embodiment of the invention relates to the transfer of content between a host computer that issues OAS access requests and a block I/O storage system. Specifically, a host computer may issue an access request for a content unit that identifies the content unit is an object identifier. The request may be received by a second server, which may determine the block address(es) on the block I/O storage system at which the content unit is stored. A request may then be sent to the block I/O storage system to retrieve the content stored at the requested block address(es) and the block I/O storage system may return the content.
Claims24
A method for use in a computer system comprising a first server having at least one client application executing thereon, wherein the at least one client application comprises at least one interface that accesses content units using object identifiers for the content units, at least one storage system having a block input/output (block I/O) interface that receives block I/O addresses to identify storage locations thereon, and a second server that accepts object identifiers for content units and converts an accepted object identifier to at least one block I/O address to identify at least one storage location on the at least one storage system that stores the content unit identified by the object identifier, the method comprising acts of:
- (A) issuing, from the first server to the second server, at least one first object identifier for at least one first content unit;
- (B) receiving, at the first server, at least one first block I/O address from the second server, wherein the at least one first block I/O address identifies at least one first storage location on the at least one storage system that stores the at least one first content unit identified by the at least one first object identifier;
- and
- (C) issuing, from the first server to the at least one storage system, at least one request to access the at least one first storage location identified by the at least one first block I/O address.
At least one computer readable storage medium, encoded with instructions that, when executed on a computer system comprising a first server having at least one client application executing thereon, wherein the at least one client application comprises at least one interface that accesses content units using object identifiers for the content units, at least one storage system having a block input/output (block I/O) interface that receives block I/O addresses to identify storage locations thereon, and a second server that accepts object identifiers for content units and converts an accepted object identifier to at least one block I/O address to identify at least one storage location on the at least one storage system that stores the content unit identified by the object identifier, perform a method comprising acts of:
- (A) issuing, from the first server to the second server, at least one first object identifier for at least one first content unit;
- (B) receiving, at the first server, at least one first block I/O address from the second server, wherein the at least one first block I/O address identifies at least one first storage location on the at least one storage system that stores the at least one first content unit identified by the at least one first object identifier;
- and
- (C) issuing, from the first server to the at least one storage system, at least one request to access the at least one first storage location identified by the at least one first block I/O address.
A first server that executes at least one client application comprising at least one interface that accesses content units using object identifiers for the content units, wherein the first server is usable in a computer system comprising the first server, at least one storage system having a block input/output (block I/O) interface that receives block I/O addresses to identify storage locations thereon, and a second server that accepts object identifiers for content units and converts an accepted object identifier to at least one block I/O address to identify at least one storage location on the at least one storage system that stores the content unit identified by the object identifier, wherein the first server comprises:
- at least one output;
- at least one input;
- and
- at least one controller, coupled to the at least one output and at least one input, that:
- issues, via the at least one output, at least one first object identifier for at least one first content unit to the second server;
- receives, via the at least one input, at least one first block I/O address from the second server, wherein the at least one first block I/O address identifies at least one first storage location on the at least one storage system that stores the at least one first content unit identified by the at least one first object identifier;
- and
- issues, via the at least one output, at least one request to access the at least one first storage location identified by the at least one first block I/O address via the first storage system.
Dependencies are inferred from the claim text.