Patents by Inventor Kevin P. Modzelewski

Kevin P. Modzelewski has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9619322
    Abstract: A data storage system stores sets of data blocks in extents located on storage devices. During operation, the system performs an erasure-coding operation by obtaining a set of source extents, wherein each source extent is stored on a different machine in the data storage system. The system also selects a set of destination machines for storing destination extents, wherein each destination extent is stored on a different destination machine. Next, the system performs the erasure-coding operation by retrieving data from the set of source extents, performing the erasure-coding operation on the retrieved data to produce erasure-coded data, and then writing the erasure-coded data to the set of destination extents on the set of destination machines. Finally, after the erasure-coding operation is complete, the system commits results of the erasure-coding operation to enable the set of destination extents to be accessed in place of the set of source extents.
    Type: Grant
    Filed: November 13, 2014
    Date of Patent: April 11, 2017
    Assignee: Dropbox, Inc.
    Inventors: James Cowling, Kevin P. Modzelewski, Venkata Harish Mallipeddi
  • Patent number: 9405643
    Abstract: The disclosed embodiments relate to a data storage system that facilitates efficiently recovering from storage device failures. Upon receiving a request to retrieve a data block from the data storage system, the system uses a hash that identifies the data block to look up a bucket and an associated cell containing the data block. Note that the bucket aggregates a large number of data blocks and is located in the associated cell that comprises a set of object storage devices (OSDs). Within the cell, the system uses the bucket to look up an OSD that contains the bucket in a local bucket database (BDB) for the cell. Within the OSD, the system uses the bucket and the hash to look up an offset and a length for the data block in a write-ahead log that stores data blocks for the bucket. Finally, the system returns the data block from the determined offset.
    Type: Grant
    Filed: November 26, 2013
    Date of Patent: August 2, 2016
    Assignee: Dropbox, Inc.
    Inventors: James Cowling, Kevin P. Modzelewski
  • Publication number: 20160139980
    Abstract: A data storage system stores sets of data blocks in extents located on storage devices. During operation, the system performs an erasure-coding operation by obtaining a set of source extents, wherein each source extent is stored on a different machine in the data storage system. The system also selects a set of destination machines for storing destination extents, wherein each destination extent is stored on a different destination machine. Next, the system performs the erasure-coding operation by retrieving data from the set of source extents, performing the erasure-coding operation on the retrieved data to produce erasure-coded data, and then writing the erasure-coded data to the set of destination extents on the set of destination machines. Finally, after the erasure-coding operation is complete, the system commits results of the erasure-coding operation to enable the set of destination extents to be accessed in place of the set of source extents.
    Type: Application
    Filed: November 13, 2014
    Publication date: May 19, 2016
    Inventors: James Cowling, Kevin P. Modzelewski, Venkata Harish Mallipeddi
  • Publication number: 20150149500
    Abstract: The disclosed embodiments relate to a data storage system that facilitates efficiently recovering from storage device failures. Upon receiving a request to retrieve a data block from the data storage system, the system uses a hash that identifies the data block to look up a bucket and an associated cell containing the data block. Note that the bucket aggregates a large number of data blocks and is located in the associated cell that comprises a set of object storage devices (OSDs). Within the cell, the system uses the bucket to look up an OSD that contains the bucket in a local bucket database (BDB) for the cell. Within the OSD, the system uses the bucket and the hash to look up an offset and a length for the data block in a write-ahead log that stores data blocks for the bucket. Finally, the system returns the data block from the determined offset.
    Type: Application
    Filed: November 26, 2013
    Publication date: May 28, 2015
    Applicant: Dropbox, Inc.
    Inventors: James Cowling, Kevin P. Modzelewski
  • Patent number: 9037762
    Abstract: The disclosed embodiments relate to a system for managing replicated copies of data items in a storage system. During operation, the system obtains a current configuration of the storage system, wherein the current configuration specifies locations of replicated copies of data items. Next, the system analyzes the current configuration to identify possible movements of copies of data items among locations in the storage system. The system then assigns utilities to the identified movements, wherein a utility assigned to a movement reflects a change in reliability resulting from the movement. Finally, the system selects a utility-maximizing set of movements and performs the utility-maximizing set of movements to improve the reliability of the storage system.
    Type: Grant
    Filed: July 31, 2013
    Date of Patent: May 19, 2015
    Assignee: DROPBOX, INC.
    Inventor: Kevin P. Modzelewski
  • Publication number: 20150039847
    Abstract: The disclosed embodiments relate to a system for managing replicated copies of data items in a storage system. During operation, the system obtains a current configuration of the storage system, wherein the current configuration specifies locations of replicated copies of data items. Next, the system analyzes the current configuration to identify possible movements of copies of data items among locations in the storage system. The system then assigns utilities to the identified movements, wherein a utility assigned to a movement reflects a change in reliability resulting from the movement. Finally, the system selects a utility-maximizing set of movements and performs the utility-maximizing set of movements to improve the reliability of the storage system.
    Type: Application
    Filed: July 31, 2013
    Publication date: February 5, 2015
    Applicant: Dropbox, Inc.
    Inventor: Kevin P. Modzelewski