Patents by Inventor Andrew Baptist

Andrew Baptist 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: 10776204
    Abstract: A method includes identifying an independent data object of a plurality of independent data objects for retrieval from dispersed storage network (DSN) memory. The method further includes determining a mapping of the plurality of independent data objects into a data matrix, wherein the mapping is in accordance with the dispersed storage error encoding function. The method further includes identifying, based on the mapping, an encoded data slice of the set of encoded data slices corresponding to the independent data object. The method further includes sending a retrieval request to a storage unit of the DSN memory regarding the encoded data slice. When the encoded data slice is received, the method further includes decoding the encoding data slice in accordance with the dispersed storage error encoding function and the mapping to reproduce the independent data object.
    Type: Grant
    Filed: October 26, 2018
    Date of Patent: September 15, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Jason K. Resch, Greg Dhuse, Andrew Baptist
  • Patent number: 10671585
    Abstract: A method begins by a dispersed storage (DS) processing module storing a data portion in a dispersed storage network (DSN), where the data portion is associated with a set of data index keys, a version index key, and with a set of portion index keys. The method continues with the DS processing module traversing, based on the set of data index keys, a plurality of index structures to determine whether an object retrieval structure exists for the data portion. When the object retrieval structure exists, the method continues with the DS processing module updating the object retrieval structure by determining whether a version record exists that corresponds to the version index key and when the version record exists, creating, within the version record, a new data portion record for the data portion to include an identifier of the data portion and the set of portion index keys.
    Type: Grant
    Filed: July 16, 2013
    Date of Patent: June 2, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Greg Dhuse, Ilya Volvovski, Adam Michael Gray, Andrew Baptist
  • Patent number: 10503594
    Abstract: A method includes sending, by a computing device of a dispersed storage network (DSN), a set of write request messages to a set of storage units of the DSN regarding a plurality of sets of encoded data slices. The method continues by receiving, from a first storage unit, a first write response message including a group of status messages, which indicate whether a corresponding revision level of each of the first encoded data slices is a next revision level in accordance with a current revision level. The method continues by interpreting the group of status messages to determine whether an encoded data slice of first encoded data slices has a revision level error. When the error, the method continues by flagging the encoded data slices for a rollback message and when no error, the method continues by flagging each encoded data slice for a write commit message.
    Type: Grant
    Filed: September 21, 2018
    Date of Patent: December 10, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Andrew Baptist, Wesley Leggette, Jason K. Resch
  • Patent number: 10447612
    Abstract: A method begins by a processing module of a dispersed storage network (DSN) identifying a change in DSN memory of the DSN. For a set of encoded data slices effected by the change, the method continues with the processing module ascertaining updated properties of the DSN memory and performing an updating scoring function using properties of DSN access information and the updated properties of the DSN memory to produce an updated storage scoring resultant. The method continues with the processing module utilizing the updated storage scoring resultant to identify an updated set of storage units affiliated with a given storage pool of a plurality of storage pools of the DSN memory and sending at least one data migration request to at least one storage unit of the updated set of storage units regarding migration of at least one encoded data slice of the set of encoded data slices.
    Type: Grant
    Filed: May 8, 2015
    Date of Patent: October 15, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Jason K. Resch, Greg Dhuse, Manish Motwani, Andrew Baptist, Wesley Leggette
  • Patent number: 10447767
    Abstract: A method begins by a processing module identifying one or more devices of a dispersed storage network (DSN) potentially contributing to a DSN performance issue. For a device of the identified one or more devices, the method continues where the processing module determines a potential performance issue of the device and determines a performance test based on the potential performance issue. The method continues where the processing module issues a message to the device that includes test information specific for the device to execute the performance test and receives a response message that includes a specific test result data generated based on the test information. The method continues where the processing module determines, based on the specific test result data, whether the device has the potential performance issue and is contributing to the DSN performance issue.
    Type: Grant
    Filed: June 18, 2013
    Date of Patent: October 15, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Andrew Baptist, Wesley Leggette, Jason K. Resch
  • Patent number: 10416889
    Abstract: A method includes receiving, by a storage unit of a dispersed storage network (DSN) an access request for an encoded data a slice of a set of encoded data slices from a computing device of the DSN. The method further includes queueing, by the storage unit, the access request for the encoded data slice. The method further includes, prior to executing the access request, determining, by the storage unit, whether a session associated with the access request is still active and whether execution the access request for encoded data slice is still needed. When the session is still active and the execution of the access request for the encoded data slice is still needed, the method further includes executing, by the storage unit, the access request for the encoded data slice.
    Type: Grant
    Filed: November 22, 2017
    Date of Patent: September 17, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Andrew Baptist, Joseph Martin Kaczmarek, Yogesh Ramesh Vedpathak
  • Publication number: 20190266051
    Abstract: A method includes determining virtual memory use of a vault based on virtual memory use of one dispersed storage (DS) unit of a set of DS units that services the vault within the DSN, where data is dispersed storage error encoded in accordance with dispersed data storage parameters to produce a plurality of sets of error coded (EC) data slices that are stored in the vault. The method continues by comparing the virtual memory use of the vault to one or more vault thresholds. When the virtual memory use of the vault is less than or equal to a first vault threshold of the one or more vault thresholds, the method continues by instructing a memory state of the vault to be in a normal state, wherein when the vault is in the normal state, a write mode is activated allowing write requests of EC data slices to the vault.
    Type: Application
    Filed: May 10, 2019
    Publication date: August 29, 2019
    Inventors: Andrew Baptist, Manish Motwani
  • Patent number: 10387247
    Abstract: A dispersed storage device manages a file system directory of a dispersed storage network by receiving a data object to be stored and a user file name of the data object, calculating a data compression function of the data object, creating a file identifier based on a result of the data compression function, creating a source name for the data object using the file identifier and linking the user file name to the source name in the file system directory.
    Type: Grant
    Filed: May 30, 2014
    Date of Patent: August 20, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Andrew Baptist, Manish Motwani
  • Patent number: 10387256
    Abstract: A distributed storage integrity system in a dispersed storage network includes a scanning agent and a control unit. The scanning agent identifies an encoded data slice that requires rebuilding, wherein the encoded data slice is one of a plurality of encoded data slices generated from a data segment using an error encoding dispersal function. The control unit retrieves at least a number T of encoded data slices needed to reconstruct the data segment based on the error encoding dispersal function. The control unit is operable to reconstruct the data segment from at least the number T of the encoded data slices and generate a rebuilt encoded data slice from the reconstructed data segment. The scanning agent is located in a storage unit and the control unit is located in the storage unit or in a storage integrity processing unit, a dispersed storage processing unit or a dispersed storage managing unit.
    Type: Grant
    Filed: June 2, 2017
    Date of Patent: August 20, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Greg Dhuse, Andrew Baptist, Zachary J. Mark, Jason K. Resch, Ilya Volvovski
  • Patent number: 10346250
    Abstract: A method includes determining an acceptable site failure number for storing a set of encoded data slices based on available sites and storage units within the available sites. The method further includes determining dispersed storage error encoding parameters based on the acceptable site failure number, wherein the parameters includes a decode threshold number and a total width number. The method further includes encoding, in accordance with the parameters, a data segment of data to produce the set of encoded data slices. The method further includes generating a slice mapping based on the acceptable site failure number, the available sites, and the storage units within the available storage units within the available sites. The method further includes sending, based on the slice mapping, the set of encoded data slices to at least some of the storage units within at least some of the available sites for storage therein.
    Type: Grant
    Filed: November 14, 2016
    Date of Patent: July 9, 2019
    Assignee: International Business Machines Corporation
    Inventors: Ravi Khadiwala, Wesley Leggette, Andrew Baptist, Greg Dhuse, Ilya Volvovski, Jason K. Resch, Manish Motwani
  • Publication number: 20190171616
    Abstract: A method begins by a processing module dispersed storage error encoding a data segment to produce a set of encoded data slices and dispersed storage error encoding metadata associated with the data segment to produce a set of encoded metadata slices. The method continues with the processing module creating a set of data slice names for the set of encoded data slices and creating a set of metadata slice names based on the set of data slice names. The method continues with the processing module sending the set of encoded data slices and the set of data slice names to a dispersed storage network (DSN) memory for storage therein. The method continues with the processing module sending the set of encoded metadata slices and the set of metadata slice names to the DSN memory for storage therein.
    Type: Application
    Filed: January 30, 2019
    Publication date: June 6, 2019
    Inventors: Jason K. Resch, Greg Dhuse, Andrew Baptist, Wesley Leggette
  • Publication number: 20190163647
    Abstract: A method includes a storage unit receiving an encoded data slice for storage in memory that is organized as log files. The method further includes the storage unit identifying a first log file of the log files for storing the encoded data slice based on one or more of: the first DSN virtual address and the first size information. The method further includes the storage unit comparing storage parameters of the first log file with desired storage parameters associated with the encoded data slice. When the storage parameters of the identified log file compare unfavorably with the desired storage parameters, the storage unit identifies a second log file, stores the encoded data slice in the second log file, and updates a slice location table.
    Type: Application
    Filed: January 15, 2019
    Publication date: May 30, 2019
    Inventors: Ilya Volvovski, Andrew Baptist, Greg Dhuse, Jason K. Resch
  • Patent number: 10289688
    Abstract: A method begins by a processing module dispersed storage error encoding a data segment to produce a set of encoded data slices and dispersed storage error encoding metadata associated with the data segment to produce a set of encoded metadata slices. The method continues with the processing module creating a set of data slice names for the set of encoded data slices and creating a set of metadata slice names based on the set of data slice names. The method continues with the processing module sending the set of encoded data slices and the set of data slice names to a dispersed storage network (DSN) memory for storage therein. The method continues with the processing module sending the set of encoded metadata slices and the set of metadata slice names to the DSN memory for storage therein.
    Type: Grant
    Filed: June 7, 2011
    Date of Patent: May 14, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jason K. Resch, Greg Dhuse, Andrew Baptist, Wesley Leggette
  • Patent number: 10282440
    Abstract: A method begins by a first computing device of a plurality of computing devices accessing a rebuild hierarchical index structure to identify a data object having encoded data slices requiring rebuilding, where the structure includes a plurality of nodes that organizes a plurality of data objects based on a level of need of rebuilding. The method continues with the first computing device utilizing a rebuilding function to rebuild one or more of the identified encoded data slices to be rebuilt to produce one or more rebuilt encoded data slices and sending a write request to memory of a dispersed storage network to store the one or more rebuilt encoded data slices. The method continues with the first or another computing device updating the level of need of rebuilding of the identified data object and updating the rebuild hierarchical index structure based on the updated level of need of rebuilding.
    Type: Grant
    Filed: January 26, 2016
    Date of Patent: May 7, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Greg Dhuse, Ravi Khadiwala, Thomas Darrel Cocagne, Andrew Baptist, Joseph Martin Kaczmarek
  • Patent number: 10275161
    Abstract: A distributed storage network (DSN) includes a user device and a plurality of DSN memories, wherein each of the DSN memories includes a plurality of storage units. The user device includes at least one network interface to the plurality of DSN memories and at least one processing module that is operable to determine one of the plurality of DSN memories for storing a data object based on a comparison of one or more storage requirements of the data object and one or more DSN attributes of the plurality of DSN memories.
    Type: Grant
    Filed: June 20, 2017
    Date of Patent: April 30, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jason K. Resch, Wesley Leggette, S. Christopher Gladwin, Greg Dhuse, Andrew Baptist
  • Patent number: 10275313
    Abstract: A computing device of a dispersed storage network (DSN) includes a memory, interface and a processing module operable to identify an encoded data slice of the set of encoded data slices to produce an identified encoded data slice. The processing module generates a set of first write requests regarding the set of encoded data slices less the identified encoded data slice, and generates a set of second write requests regarding the identified encoded data slice. The set of second write requests include the identified encoded data slice and replications of the identified encoded data slice. The processing module sends the set of first write requests to storage units of the DSN, and sends the set of second write requests to a set of storage units of the DSN, where each storage unit of the set of storage units is sent a corresponding one of the set of second write requests.
    Type: Grant
    Filed: September 15, 2017
    Date of Patent: April 30, 2019
    Assignee: International Business Machines Corporation
    Inventors: Thomas Franklin Shirley, Jr., Gary W. Grube, Bart Cilfone, Ravi Khadiwala, Greg Dhuse, Thomas Darrel Cocagne, Michael Colin Storm, Yogesh Ramesh Vedpathak, Wesley Leggette, Jason K. Resch, Andrew Baptist, Ilya Volvovski
  • Patent number: 10270855
    Abstract: A method with a computer generating a first set of access requests regarding a first set of encoded data slices and storage units of a dispersed storage network. A first data segment is encoded into the first set of encoded data slices. The method continues with the computer generating a second set of access requests regarding a second set of encoded data slices and the storage units. A second data segment is encoded into the second set of encoded data slices. The method continues with the computer grouping the first set of access requests and the second set of access requests to produce a set of combined requests. The method continues with the computer sending the set of combined requests to the storage units.
    Type: Grant
    Filed: February 23, 2015
    Date of Patent: April 23, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Srinivas Palthepu, Vance T. Thornton, Jesse L. Young, John Quigley, Andrew Baptist, Greg Dhuse
  • Patent number: 10225205
    Abstract: Methods and apparatus for selection of memory locations for data access operations in a dispersed storage network (DSN) are disclosed. In various embodiments, a dispersed storage (DS) processing module of the DSN receives a DSN access request regarding at least one data segment of a data object. The DS processing module determines a DSN address associated with the DSN access request and performs a scoring function using the DSN address and one or more properties of DSN memory to produce a storage scoring resultant. The storage scoring resultant is utilized to identify a set of storage units of the DSN. A set of access requests is then sent to the set of storage units regarding the DSN access request. The scoring function can include, for example, performing deterministic functions, normalizing functions and ranking functions to produce the storage scoring resultant.
    Type: Grant
    Filed: February 23, 2018
    Date of Patent: March 5, 2019
    Assignee: International Business Machines Corporation
    Inventors: Jason K. Resch, Greg Dhuse, Manish Motwani, Andrew Baptist, Wesley Leggette, Ravi Khadiwala
  • Publication number: 20190065313
    Abstract: A method includes identifying an independent data object of a plurality of independent data objects for retrieval from dispersed storage network (DSN) memory. The method further includes determining a mapping of the plurality of independent data objects into a data matrix, wherein the mapping is in accordance with the dispersed storage error encoding function. The method further includes identifying, based on the mapping, an encoded data slice of the set of encoded data slices corresponding to the independent data object. The method further includes sending a retrieval request to a storage unit of the DSN memory regarding the encoded data slice. When the encoded data slice is received, the method further includes decoding the encoding data slice in accordance with the dispersed storage error encoding function and the mapping to reproduce the independent data object.
    Type: Application
    Filed: October 26, 2018
    Publication date: February 28, 2019
    Inventors: Jason K. Resch, Greg Dhuse, Andrew Baptist
  • Patent number: 10216647
    Abstract: A method begins by a processing module receiving an encoded data slice for storage in memory that is organized as a plurality of log files and identifying a log file based on information regarding the encoded data slice to produce an identified log file, wherein the identified log file is storing at least one other encoded data slice. The method continues with the processing module comparing storage parameters of the identified log file with desired storage parameters associated with the encoded data slice. The method continues with the processing module attempting to identify a second log file based on an alternate log file storage protocol when the storage parameters of the identified log file compare unfavorably with the desired storage parameters and when the second log file is identified, storing the encoded data slice in the second log file.
    Type: Grant
    Filed: October 11, 2011
    Date of Patent: February 26, 2019
    Assignee: International Business Machines Corporation
    Inventors: Ilya Volvovski, Andrew Baptist, Greg Dhuse, Jason K. Resch