US20050262150A1 - Object-based storage - Google Patents

Object-based storage Download PDF

Info

Publication number
US20050262150A1
US20050262150A1 US11/134,791 US13479105A US2005262150A1 US 20050262150 A1 US20050262150 A1 US 20050262150A1 US 13479105 A US13479105 A US 13479105A US 2005262150 A1 US2005262150 A1 US 2005262150A1
Authority
US
United States
Prior art keywords
storage media
block
software layer
identification information
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/134,791
Inventor
Anand Krishnaswamy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CA Inc
Original Assignee
Computer Associates Think Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Computer Associates Think Inc filed Critical Computer Associates Think Inc
Priority to US11/134,791 priority Critical patent/US20050262150A1/en
Publication of US20050262150A1 publication Critical patent/US20050262150A1/en
Assigned to COMPUTER ASSOCIATES THINK, INC. reassignment COMPUTER ASSOCIATES THINK, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KRISHNASWAMY, ANAND
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems

Abstract

A system and method for object-base storage are disclosed. The system includes a storage media including at least one block, the storage media configured to store at least one object in the at least one block, a metadata server for storing identification information concerning of the at least one block, and a computing node including a software layer configured to communicate with the metadata server to obtain the identification information, the software layer further configured to access the at least one object based on the identification information.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This patent application claims priority to U.S. Provisional Patent Application Ser. No. 60/573,554 filed on May 21, 2004, the contents of which are hereby incorporated by reference herein.
  • BACKGROUND
  • 1. Field of the Disclosure
  • The present disclosure generally relates to object-based storage management systems. More particularly, the present disclosure relates to a new software layer configured to manage intelligently an object-based storage system.
  • 2. Description of the Related Art
  • Traditional data storage has been generally based on block-based interfaces, such as SCSI and ATA/IDE. These architectures rely on unintelligent storage devices, such as disk drives (e.g., hard drives, CD-ROMs, etc.) which store data in blocks, i.e., discrete and static segments of the disk drives, and files, i.e., higher-level abstraction schemes that enable secure data sharing across different operating system platforms. Since traditional block and file systems provide data access by storing data within block and metadata within files, file servers were used to maintain the metadata (e.g., attributes of the data) and to authenticate I/O access. This arrangement suffers from a bottleneck at the file server as well as limited security and data sharing. Object-based storage (OBS) does not store data in files and blocks but instead uses objects which have a number of advantages over static file and block based systems eliminating the bottleneck.
  • Currently, OBS is hard to implement because conventional storage devices are not aware of the users and software applications using the storage, since these devices need to understand the relationships between the blocks and files on the device and the desired objects. OBS is implemented using object storage devices (OSD), which are intelligent devices capable of continually learning important characteristics of the data storage and mapping the data into desired objects. OBS treats an object as a primitive storage segment (e.g., a block) stored on a data storage server and metadata concerning the object is maintained in a metadata server. A computing node (e.g., a client, personal computer, etc.) which requires access to the object requests from the metadata server the ID of the object and then directly accesses the OSD with the object ID. However, OSD being intelligent devices require their own central processing unit(s), memory, network connectivity, and internal logic. Therefore, OSDs are expensive to implement within existing data storage networks since existing storage devices would be made obsolete and would need to be replaced.
  • Therefore, there is a need for object-based storage which can be implemented using existing storage infrastructure based on disk drives, arrays, etc. without relying on OSDs.
  • SUMMARY
  • Disclosed is a system and method for object-based storage. The system includes storage media for storing object data within one or more blocks and a metadata server, which acts as a directory and stores identification information concerning the blocks of the objects. The system further includes a computing node which includes a software layer for communicating with the metadata server and the storage media, a security layer for restricting access to the storage media, and a device driver to enable low level communication between the computing node and the storage media. The software layer obtains identification information concerning the blocks from the metadata server and thereafter accesses the blocks on the storage media.
  • According to one embodiment of the present disclosure, a system for storing data in at least one object is provided. The system includes a storage media including at least one block, the storage media configured to store the at least one object in the at least one block, a metadata server for storing identification information concerning of the at least one block, and a computing node including a software layer configured to communicate with the metadata server to obtain the identification information, the software layer further configured to access the at least one object based on the identification information.
  • According to another embodiment of the present disclosure, a method for storing data in at least one object is provided. The method includes the steps of requesting access to the at least one object through a computing node including a software layer, wherein the at least one object is stored in at least one block of storage media, communicating with a metadata server configured to store identification information concerning of the at least one block to obtain the identification information, and communicating with the storage media to access the at least one object-based on the identification information.
  • According to a further embodiment of the present disclosure, a set of computer-executable instructions for storing data in at least one object is provided. The computer-executable instructions includes the steps of requesting access to the at least one object through a computing node including a software layer, wherein the at least one object is stored in at least one block of storage media, communicating with a metadata server configured to store identification information concerning of the at least one block to obtain the identification information, and communicating with the storage media to access the at least one object-based on the identification information.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The above and other aspects, features, and advantages of the present disclosure will become more apparent in light of the following detailed description when taken in conjunction with the accompanying drawings in which:
  • FIG. 1 is a block diagram generally illustrating components of an object-based storage system in accordance with the present disclosure;
  • FIG. 2 is a computing node for implementing various embodiments of the present disclosure;
  • FIG. 3 is a flow diagram illustrating a method for reading an object in the object-based storage system in accordance with the present disclosure; and
  • FIG. 4 is a flow diagram illustrating a method for writing an object in the object-based storage system in accordance with the present disclosure.
  • DETAILED DESCRIPTION
  • Preferred embodiments of the present disclosure will be described herein below with reference to the accompanying drawings. In the following description, well-known functions or constructions are not described in detail to avoid obscuring the present disclosure in unnecessary detail.
  • With reference to FIG. 1, an object-based storage (OBS) system is shown. The OBS system 1 includes at least one computing node 2 having an object-based file system, a software layer 4, and at least one device driver layer 6 for communicating with a plurality of storage media 8 a-d.
  • Referring to FIG. 2, the computing node 2 is shown including a data storage device 214 such as a hard drive, magnetic media, optical media, etc., and read only memory (ROM) 206. The computing node 2 comes equipped with a processor 202 and random access memory (RAM) 204. In additional, the computing node 2 is configured with a keyboard 208, mouse or other pointing device 210 and a display 212.
  • The computer-executable instructions may be loaded from the data storage device 214 to RAM 204 from which the processor 202 reads and executes each instruction, or the processor may access and execute the instructions directly from ROM 206 depending on the manner in which the instructions are stored.
  • The software function to be processed may be selected through a combination of keystrokes on the keyboard 208 and manipulation of the pointing device 210, as known in the art. The display device 212, ideally, provides a graphical interface allowing easy visualization of the file storage structure of the data storage device 214 as well as a graphical representation of the process outputs during and after execution. It is also envisioned that the current method may be used with a plurality of computing nodes 2 arranged in a network (e.g., LAN, WAN, wireless, etc.).
  • Referring back to FIG. 1, the software layer 4 lies above the device driver layer 6 and in conjunction with the driver layer 6, a security layer 5, and at least one storage media 8 a-d form an OSD emulator 12. The software layer 4 includes buffers which serve as cache as well as processing space and intercepts requests for objects accessed from the computing node 2, which are then parsed therein according to known in the art device instructions. The device driver layer 6 includes low level device instructions which enable the computing node 2 to communicate with the storage media 8 a-d.
  • The storage media 8 a-d may be the data storage device 214 of the computing node 2 or may be part of another computing system (e.g., a storage server). The storage media 8 a-d may be disk drive arrays (e.g., redundant arrays of independent disks [RAID]) configured to store the objects.
  • Objects combine the technology of files and blocks. Similar to blocks, objects are units of storage which can be accessed directly on the storage media 8 a-d (e.g, without going through a server as required with a file). Similar to files, objects can be accessed using an interface configured to abstract storage applications (e.g., operating system) from metadata. Furthermore, objects can be of variable size and can be used to store entire data structures, such as files, databases, images, video, music, and any fragment of data. This allows for objects to be created to suit specific user and/or software application needs.
  • In addition to including data, objects also include certain attributes which contain information concerning the object including static information (e.g., creation time), dynamic information (e.g., last modified time), information specific to a storage application (e.g., filename, group, etc.), information specific to a use (e.g., quality of service [QoS] agreement), etc. Other types of attributes may contain information concerning the object's behavior such as the expected read/write ratio, possible patterns of access, expected lifetime of the object.
  • The data encompassed by the object is stored in blocks on the storage media 8 a-d and the metadata of the object (e.g., the object attributes are stored on the metadata server 10). The attributes are used by a metadata server 10 to identify which objects are being requested by the computing node 2 and grant access thereto. The metadata server 10 is connected to the software layer 4 from which the metadata server receives the object requests once the software layer 4 has parsed the requests. In addition, the metadata server 10 acts as a directory to the blocks of the requested object and, once a request for a certain object is received, the metadata server 10 acts as a gatekeeper. More particularly, the metadata server 10 authorizes the computing node 2 to access the objects and provides the software layer 4 with the location (e.g., ID of the storage media 8 a-d) of the object. Based on the identification information, the software layer 4 retrieves the blocks of the object and reconstructs the object based on the request by the computing node 2.
  • The OSD emulator 12 also includes the security layer 5 which may be a software application which restricts access to the storage media 8 a-d by authorizing only specific retrieval and/or creation of objects and corresponding blocks stored in the storage media 8 a-d. More specifically, the security layer 5 limits access only to the requesting computing node 2 (e.g., requesting access to read or write an object), only for the specific blocks associated with the object being requested by the computing node 2, and only for a specified duration of time.
  • Reading (e.g., retrieval) and writing (e.g., creation) of objects is discussed with reference to FIGS. 3 and 4. A method for reading the object stored on the storage media 8 a-d is shown in FIG. 3. In step 100, the computing node 2 initiates a read object command by requesting access to a specified object, the request is processed by the software layer 4, which then transmits the request to the metadata server 10.
  • The metadata server 10 acts as a directory of the objects stored in the storage media 8 a-d. Upon receiving the request, in step 102, the metadata server 10 authorizes the computing node 2. Authorization involves determination whether the computing node 2 may access a specific segment of the storage media 8 a-d. For instance, if an object is designated as openable by a specified user, then the metadata server 10 verifies that the user operating the computing node 2 is authorized to access the object.
  • In step 104, the metadata server 10 supplies the software layer 4 with identifying information (e.g., ID, IP address, etc.) of the storage media 8 a-d which contains the blocks of the requested object. The identifying information allows the software layer 4 to target the blocks where the object is located for the reading. It is envisioned that the requested object may contain blocks on a plurality of storage media 8 a-d (e.g., storage media 8 a, 8 c); in that case, the metadata server 10 returns the identifying information concerning the location of the object's blocks (e.g., which one of the storage devices of the storage media 8 a-d).
  • After the identification information concerning the blocks and/or the storage media 8 a-d is obtained, the software layer 4 can access the blocks of the requested object stored therein. The security layer 5 is implemented to further limit the accessibility of the blocks to the computing node 2. The security layer 5 may limit access to the computing node 2 by granting access only for a particular time, to a particular segment of the storage media 8 a-d, etc. An example of the security layer 5 is eTrust Access Control available from Computer Associates located in Islandia, N.Y.
  • Once access is granted, in step 106, the software layer 4 generates one or more read requests based on the number of storage devices where the blocks of the requested object are found (e.g., storage media 8 a-d). Each read request is also verified by a security layer 5 ensuring that the request is directed to the specified storage device and continues for a specified period of time.
  • In step 108, the software layer 4 retrieves the blocks of the requested object from the storage media 8 a-d. The blocks are retrieved in interleaving fashion as is well known in the art, where after the first block is fetched, the subsequent blocks are pre-fetched. The software layer 4 constructs the requested object from the retrieved blocks allowing the computing node 2 to read the object.
  • FIG. 4 shows a method for writing an object onto the storage media 8 a-d. In step 112, the computing node 2 initiates a write object command by requesting access to create a new object or modify an existing object, the request is processed by the software layer 4, which then transmits the request to the metadata server 10.
  • Upon receiving the request, in step 114, the metadata server 10 authorizes the computing node 2. In step 116, the metadata server 10 supplies the software layer 4 with identifying information (e.g., ID, IP address, etc.) concerning the blocks and the storage media 8 a-d which contains the blocks where the writing will occur. If the blocks of the object to be written span more than one storage device or a desired RAID level is to be achieved, the identifying information for all corresponding storage devices is returned.
  • If an existing object is being edited, the software layer 4 implements a callback mechanism which will be invoked by the metadata server 10 to prevent another computing node from modifying the same object. If a new object is being created, the software layer 4 retrieves one or more free blocks into which the new object will be written and stores the information concerning the block(s) in the metadata server 10. It is envisioned that other attributes concerning the object are updated within the metadata server 10 as well.
  • Similar to the reading process discussed above, the security layer 5 controls access to the blocks of the storage media 8 a-b. Once access is granted, in step 118, the software layer 4 generates one or more write requests based on the number of storage devices (e.g., number of RAID levels specified) where the blocks of the requested object are found (e.g., storage media 8 a-d). Each write request is also verified by a security layer 5 ensuring that the request is directed to the specified storage device and continues for a specified period of time. In step 120, the software layer 4 writes the blocks associated with the object directly onto the storage media 8 a-d.
  • The described embodiments of the present disclosure are intended to be illustrative rather than restrictive, and are not intended to represent every embodiment of the present disclosure. Various modifications and variations can be made without departing from the spirit or scope of the disclosure as set forth in the following claims both literally and in equivalents recognized in law.

Claims (20)

1. A system for storing data in at least one object, the system comprising:
a storage media including at least one block, the storage media configured to store the at least one object in the at least one block;
a metadata server for storing identification information concerning of the at least one block; and
a computing node including a software layer configured to communicate with the metadata server to obtain the identification information, the software layer further configured to access the at least one object based on the identification information.
2. A system as in claim 1, wherein the computing node includes a device driver for communicating with the storage media.
3. A system as in claim 1, further comprising a security layer for restricting access to the storage media.
4. A system as in claim 1, wherein the software layer is configured to read the at least one object by retrieving the at least one block and reconstructing the at least one object.
5. A system as in claim 1, wherein the software layer is configured to modify the at least one object by writing onto the at least one block.
6. A system as in claim 1, wherein the storage media is selected from the group consisting of at least one hard disk, at least one CD-ROM drive, and at least one disk array.
7. A method for storing data in at least one object, the method comprising:
requesting access to the at least one object through a computing node including a software layer, wherein the at least one object is stored in at least one block of storage media;
communicating with a metadata server configured to store identification information concerning of the at least one block to obtain the identification information; and
communicating with the storage media to access the at least one object based on the identification information.
8. A method as in claim 7, wherein the computing node includes a device driver for communicating with the storage media.
9. A method as in claim 7, further comprising a security layer for restricting access to the storage media.
10. A method as in claim 7, wherein the software layer is configured to read the at least one object by retrieving the at least one block and reconstructing the at least one object.
11. A method as in claim 7, wherein the software layer is configured to modify the at least one object by writing onto the at least one block.
12. A method as in claim 7, wherein the storage media is selected from the group consisting of at least one hard disk, at least one CD-ROM drive, and at least one disk array.
13. A set of computer-executable instructions for storing data in at least one object, the computer-executable instructions comprising the steps of:
requesting access to the at least one object through a computing node including a software layer, wherein the at least one object is stored in at least one block of storage media;
communicating with a metadata server configured to store identification information concerning of the at least one block to obtain the identification information; and
communicating with the storage media to access the at least one object-based on the identification information.
14. The computer-executable instructions according to claim 13, wherein the instructions are stored on a computer-readable media, said media selected from a group consisting of magnetic media, optical media, read-only memory (ROM).
15. The computer-executable instructions according to claim 13, wherein the instructions are executable by a computer system comprising a processor, a random access memory (RAM), at least one user input device, a data storage device and a graphical display device.
16. The computer-executable instructions according to claim 13, wherein the computing node includes a device driver for communicating with the storage media.
17. The computer-executable instructions according to claim 13, further comprising a security layer for restricting access to the storage media.
18. The computer-executable instructions according to claim 13, wherein the software layer is configured to read the at least one object by retrieving the at least one block and reconstructing the at least one object.
19. The computer-executable instructions according to claim 13, wherein the software layer is configured to modify the at least one object by writing onto the at least one block.
20. The computer-executable instructions according to claim 13, wherein the storage media is selected from the group consisting of at least one hard disk, at least one CD-ROM drive, and at least one disk array.
US11/134,791 2004-05-21 2005-05-20 Object-based storage Abandoned US20050262150A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/134,791 US20050262150A1 (en) 2004-05-21 2005-05-20 Object-based storage

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US57355404P 2004-05-21 2004-05-21
US11/134,791 US20050262150A1 (en) 2004-05-21 2005-05-20 Object-based storage

Publications (1)

Publication Number Publication Date
US20050262150A1 true US20050262150A1 (en) 2005-11-24

Family

ID=34970841

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/134,791 Abandoned US20050262150A1 (en) 2004-05-21 2005-05-20 Object-based storage

Country Status (3)

Country Link
US (1) US20050262150A1 (en)
EP (1) EP1769395A2 (en)
WO (1) WO2005114374A2 (en)

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080010515A1 (en) * 2006-05-15 2008-01-10 Sun Microsystems, Inc. Per file dirty region logging
US20080140724A1 (en) * 2006-12-06 2008-06-12 David Flynn Apparatus, system, and method for servicing object requests within a storage controller
US20090150605A1 (en) * 2007-12-06 2009-06-11 David Flynn Apparatus, system, and method for converting a storage request into an append data storage command
US20100031000A1 (en) * 2007-12-06 2010-02-04 David Flynn Apparatus, system, and method for validating that a correct data segment is read from a data storage device
US20100217977A1 (en) * 2009-02-23 2010-08-26 William Preston Goodwill Systems and methods of security for an object based storage device
US8527693B2 (en) 2010-12-13 2013-09-03 Fusion IO, Inc. Apparatus, system, and method for auto-commit memory
US8825937B2 (en) 2011-02-25 2014-09-02 Fusion-Io, Inc. Writing cached data forward on read
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
GB2523632A (en) * 2014-12-19 2015-09-02 Daimler Ag System for storing and analysing automotive data
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9305610B2 (en) 2009-09-09 2016-04-05 SanDisk Technologies, Inc. Apparatus, system, and method for power reduction management in a storage device
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US9600184B2 (en) 2007-12-06 2017-03-21 Sandisk Technologies Llc Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US9898477B1 (en) 2014-12-05 2018-02-20 EMC IP Holding Company LLC Writing to a site cache in a distributed file system
US10009438B2 (en) 2015-05-20 2018-06-26 Sandisk Technologies Llc Transaction log acceleration
US10021212B1 (en) 2014-12-05 2018-07-10 EMC IP Holding Company LLC Distributed file systems on content delivery networks
US10423507B1 (en) 2014-12-05 2019-09-24 EMC IP Holding Company LLC Repairing a site cache in a distributed file system
US10430385B1 (en) 2014-12-05 2019-10-01 EMC IP Holding Company LLC Limited deduplication scope for distributed file systems
US10445296B1 (en) 2014-12-05 2019-10-15 EMC IP Holding Company LLC Reading from a site cache in a distributed file system
US10452619B1 (en) 2014-12-05 2019-10-22 EMC IP Holding Company LLC Decreasing a site cache capacity in a distributed file system
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US10936494B1 (en) 2014-12-05 2021-03-02 EMC IP Holding Company LLC Site cache manager for a distributed file system
US10951705B1 (en) 2014-12-05 2021-03-16 EMC IP Holding Company LLC Write leases for distributed file systems

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4525780A (en) * 1981-05-22 1985-06-25 Data General Corporation Data processing system having a memory using object-based information and a protection scheme for determining access rights to such information
US6128717A (en) * 1998-01-20 2000-10-03 Quantum Corporation Method and apparatus for storage application programming interface for digital mass storage and retrieval based upon data object type or size and characteristics of the data storage device
US20020078066A1 (en) * 2000-12-18 2002-06-20 David Robinson Data storage system including a file system for managing multiple volumes
US20020078244A1 (en) * 2000-12-18 2002-06-20 Howard John H. Object-based storage device with improved reliability and fast crash recovery
US20020078239A1 (en) * 2000-12-18 2002-06-20 Howard John H. Direct access from client to storage device
US6493804B1 (en) * 1997-10-01 2002-12-10 Regents Of The University Of Minnesota Global file system and data storage device locks
US20040030822A1 (en) * 2002-08-09 2004-02-12 Vijayan Rajan Storage virtualization by layering virtual disk objects on a file system
US20040225719A1 (en) * 2003-05-07 2004-11-11 International Business Machines Corporation Distributed file serving architecture system with metadata storage virtualization and data access at the data server connection speed
US20050044162A1 (en) * 2003-08-22 2005-02-24 Rui Liang Multi-protocol sharable virtual storage objects
US20050114291A1 (en) * 2003-11-25 2005-05-26 International Business Machines Corporation System, method, and service for federating and optionally migrating a local file system into a distributed file system while preserving local access to existing data
US20050114595A1 (en) * 2003-11-26 2005-05-26 Veritas Operating Corporation System and method for emulating operating system metadata to provide cross-platform access to storage volumes
US7100073B2 (en) * 2004-01-05 2006-08-29 International Business Machines Corporation Grouped-object RAID

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6161111A (en) * 1998-03-31 2000-12-12 Emc Corporation System and method for performing file-handling operations in a digital data processing system using an operating system-independent file map
US20020103907A1 (en) * 2000-06-20 2002-08-01 Erik Petersen System and method of storing data to a recording medium
US7165096B2 (en) * 2000-12-22 2007-01-16 Data Plow, Inc. Storage area network file system

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4525780A (en) * 1981-05-22 1985-06-25 Data General Corporation Data processing system having a memory using object-based information and a protection scheme for determining access rights to such information
US6493804B1 (en) * 1997-10-01 2002-12-10 Regents Of The University Of Minnesota Global file system and data storage device locks
US6128717A (en) * 1998-01-20 2000-10-03 Quantum Corporation Method and apparatus for storage application programming interface for digital mass storage and retrieval based upon data object type or size and characteristics of the data storage device
US20020078066A1 (en) * 2000-12-18 2002-06-20 David Robinson Data storage system including a file system for managing multiple volumes
US20020078244A1 (en) * 2000-12-18 2002-06-20 Howard John H. Object-based storage device with improved reliability and fast crash recovery
US20020078239A1 (en) * 2000-12-18 2002-06-20 Howard John H. Direct access from client to storage device
US20040030822A1 (en) * 2002-08-09 2004-02-12 Vijayan Rajan Storage virtualization by layering virtual disk objects on a file system
US7107385B2 (en) * 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US20040225719A1 (en) * 2003-05-07 2004-11-11 International Business Machines Corporation Distributed file serving architecture system with metadata storage virtualization and data access at the data server connection speed
US20050044162A1 (en) * 2003-08-22 2005-02-24 Rui Liang Multi-protocol sharable virtual storage objects
US20050114291A1 (en) * 2003-11-25 2005-05-26 International Business Machines Corporation System, method, and service for federating and optionally migrating a local file system into a distributed file system while preserving local access to existing data
US7243089B2 (en) * 2003-11-25 2007-07-10 International Business Machines Corporation System, method, and service for federating and optionally migrating a local file system into a distributed file system while preserving local access to existing data
US20050114595A1 (en) * 2003-11-26 2005-05-26 Veritas Operating Corporation System and method for emulating operating system metadata to provide cross-platform access to storage volumes
US7100073B2 (en) * 2004-01-05 2006-08-29 International Business Machines Corporation Grouped-object RAID

Cited By (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080010515A1 (en) * 2006-05-15 2008-01-10 Sun Microsystems, Inc. Per file dirty region logging
US7730351B2 (en) * 2006-05-15 2010-06-01 Oracle America, Inc. Per file dirty region logging
US20080140724A1 (en) * 2006-12-06 2008-06-12 David Flynn Apparatus, system, and method for servicing object requests within a storage controller
WO2008070799A3 (en) * 2006-12-06 2008-10-23 David Flynn Apparatus, system, and method for servicing object requests within a storage controller
US11573909B2 (en) 2006-12-06 2023-02-07 Unification Technologies Llc Apparatus, system, and method for managing commands of solid-state storage using bank interleave
US9734086B2 (en) 2006-12-06 2017-08-15 Sandisk Technologies Llc Apparatus, system, and method for a device shared between multiple independent hosts
US11640359B2 (en) 2006-12-06 2023-05-02 Unification Technologies Llc Systems and methods for identifying storage resources that are not in use
US11847066B2 (en) 2006-12-06 2023-12-19 Unification Technologies Llc Apparatus, system, and method for managing commands of solid-state storage using bank interleave
US11960412B2 (en) 2006-12-06 2024-04-16 Unification Technologies Llc Systems and methods for identifying storage resources that are not in use
US8392798B2 (en) 2006-12-06 2013-03-05 Fusion-Io, Inc. Apparatus, system, and method for validating that correct data is read from a storage device
US8151082B2 (en) 2007-12-06 2012-04-03 Fusion-Io, Inc. Apparatus, system, and method for converting a storage request into an append data storage command
US20090150605A1 (en) * 2007-12-06 2009-06-11 David Flynn Apparatus, system, and method for converting a storage request into an append data storage command
US8161353B2 (en) 2007-12-06 2012-04-17 Fusion-Io, Inc. Apparatus, system, and method for validating that a correct data segment is read from a data storage device
US20100031000A1 (en) * 2007-12-06 2010-02-04 David Flynn Apparatus, system, and method for validating that a correct data segment is read from a data storage device
US9600184B2 (en) 2007-12-06 2017-03-21 Sandisk Technologies Llc Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US20100217977A1 (en) * 2009-02-23 2010-08-26 William Preston Goodwill Systems and methods of security for an object based storage device
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
US9305610B2 (en) 2009-09-09 2016-04-05 SanDisk Technologies, Inc. Apparatus, system, and method for power reduction management in a storage device
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US9223662B2 (en) 2010-12-13 2015-12-29 SanDisk Technologies, Inc. Preserving data of a volatile memory
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US8527693B2 (en) 2010-12-13 2013-09-03 Fusion IO, Inc. Apparatus, system, and method for auto-commit memory
US9767017B2 (en) 2010-12-13 2017-09-19 Sandisk Technologies Llc Memory device with volatile and non-volatile media
US9772938B2 (en) 2010-12-13 2017-09-26 Sandisk Technologies Llc Auto-commit memory metadata and resetting the metadata by writing to special address in free space of page storing the metadata
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US8825937B2 (en) 2011-02-25 2014-09-02 Fusion-Io, Inc. Writing cached data forward on read
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US11221993B2 (en) 2014-12-05 2022-01-11 EMC IP Holding Company LLC Limited deduplication scope for distributed file systems
US10353873B2 (en) 2014-12-05 2019-07-16 EMC IP Holding Company LLC Distributed file systems on content delivery networks
US10445296B1 (en) 2014-12-05 2019-10-15 EMC IP Holding Company LLC Reading from a site cache in a distributed file system
US10452619B1 (en) 2014-12-05 2019-10-22 EMC IP Holding Company LLC Decreasing a site cache capacity in a distributed file system
US10795866B2 (en) 2014-12-05 2020-10-06 EMC IP Holding Company LLC Distributed file systems on content delivery networks
US10021212B1 (en) 2014-12-05 2018-07-10 EMC IP Holding Company LLC Distributed file systems on content delivery networks
US10417194B1 (en) * 2014-12-05 2019-09-17 EMC IP Holding Company LLC Site cache for a distributed file system
US10423507B1 (en) 2014-12-05 2019-09-24 EMC IP Holding Company LLC Repairing a site cache in a distributed file system
US10936494B1 (en) 2014-12-05 2021-03-02 EMC IP Holding Company LLC Site cache manager for a distributed file system
US10951705B1 (en) 2014-12-05 2021-03-16 EMC IP Holding Company LLC Write leases for distributed file systems
US10430385B1 (en) 2014-12-05 2019-10-01 EMC IP Holding Company LLC Limited deduplication scope for distributed file systems
US9898477B1 (en) 2014-12-05 2018-02-20 EMC IP Holding Company LLC Writing to a site cache in a distributed file system
GB2523632A (en) * 2014-12-19 2015-09-02 Daimler Ag System for storing and analysing automotive data
US10834224B2 (en) 2015-05-20 2020-11-10 Sandisk Technologies Llc Transaction log acceleration
US10009438B2 (en) 2015-05-20 2018-06-26 Sandisk Technologies Llc Transaction log acceleration

Also Published As

Publication number Publication date
WO2005114374A3 (en) 2006-03-09
EP1769395A2 (en) 2007-04-04
WO2005114374A2 (en) 2005-12-01

Similar Documents

Publication Publication Date Title
US20050262150A1 (en) Object-based storage
US7124152B2 (en) Data storage device with deterministic caching and retention capabilities to effect file level data transfers over a network
US7457880B1 (en) System using a single host to receive and redirect all file access commands for shared data storage device from other hosts on a network
RU2373571C2 (en) Systems and methods for control realised by means of access at level of minor structural units over data stored in relational databases
US6848034B2 (en) Dense server environment that shares an IDE drive
US7577817B2 (en) Storage virtualization system and methods
JP5651238B2 (en) Data access management in hybrid memory server
US6606651B1 (en) Apparatus and method for providing direct local access to file level data in client disk images within storage area networks
CN100456311C (en) System and method for actualizing content-based file system security
US20080271130A1 (en) Minimizing client-side inconsistencies in a distributed virtual file system
US7266538B1 (en) Methods and apparatus for controlling access to data in a data storage system
US20110078220A1 (en) Filesystem building method
US20030187866A1 (en) Hashing objects into multiple directories for better concurrency and manageability
US20060174074A1 (en) Point-in-time copy operation
US20060136779A1 (en) Object-based storage device with low process load and control method thereof
US20090070444A1 (en) System and method for managing supply of digital content
US8838926B2 (en) Interacting with data in hidden storage
JP2004334870A5 (en)
JP2013539119A (en) Off-road read and write
US20070156763A1 (en) Storage management system and method thereof
US20080229040A1 (en) Network storage system, management method therefor, and control program product therefor
US20060064405A1 (en) Hybrid client-server protocol for fast writes to a file
US7533133B1 (en) Externally managed file versions
JP4241485B2 (en) Information processing apparatus, information processing method, program, and recording medium
VanMeter et al. Derived virtual devices: A secure distributed file system mechanism

Legal Events

Date Code Title Description
AS Assignment

Owner name: COMPUTER ASSOCIATES THINK, INC., NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KRISHNASWAMY, ANAND;REEL/FRAME:017138/0268

Effective date: 20050519

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION