Patents by Inventor Ethan S. Wozniak

Ethan S. Wozniak 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: 10719499
    Abstract: A method includes generating a first lock requests, each for transmission to a storage unit, where each first lock request indicates a first encoded data slice. First ballots are received, each of the first ballots corresponds to a storage unit, each of the first ballots indicates a first ranking of first requesting entities that includes the DST processing unit. First election result data is generated based on the first ballots. The first election result data indicates a first winner. When the first winner is the DST processing unit, slice access requests are generated in response to the first election result data indicating that the first winner is the DST processing unit, each for transmission to one of the storage units, where each of the slice access requests indicates the first encoded data slice.
    Type: Grant
    Filed: June 6, 2016
    Date of Patent: July 21, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIOb
    Inventors: Greg R. Dhuse, Ravi V. Khadiwala, Ethan S. Wozniak
  • Publication number: 20200225871
    Abstract: A method begins by obtaining a set of load level information regarding a set of dispersed storage (DS) processing units of a plurality of sets of DS processing units of the DSN. The method continues by determining whether the first DS processing unit has a load imbalance based on the set of load level information. When the first DS processing unit has the load imbalance, the method continues by determining whether to delegate a first access request of one or more access requests to another DS processing unit. When determining to delegate the first access request, the method continues by determining a delegate DS processing unit of the set of DS processing units based on the set of load level information. The method continues by instructing the first DS processing unit to send the first access request to the delegate DS processing unit for processing.
    Type: Application
    Filed: January 16, 2019
    Publication date: July 16, 2020
    Inventors: Ethan S. Wozniak, Praveen Viraraghavan
  • Patent number: 10678462
    Abstract: A method for execution by a dispersed storage and task (DST) execution unit includes generating location weight data that includes a plurality of location weights assigned to a plurality of memory devices of the DST execution unit. A first one of the plurality of memory devices and a second one of the plurality of memory devices are selected for reallocation based on the location weight data. The reallocation is executed by removing a data slice from the first one of the plurality of memory devices and storing the data slice in the second one of the plurality of memory devices.
    Type: Grant
    Filed: January 28, 2019
    Date of Patent: June 9, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Andrew D. Baptist, Ravi V. Khadiwala, Manish Motwani, Jason K. Resch, Trevor J. Vossberg, Ethan S. Wozniak
  • Publication number: 20200151068
    Abstract: A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method begins by detecting a failure (partial or full) of a dispersed storage (DS) unit memory device within the DSN. The method continues by tracking namespace ranges of encoded data slices intended for access in the failed DS unit memory device. The method continues by redirecting access of the encoded data slices reflected by the namespace ranges from the failed DS unit memory device to a failover DS unit memory device.
    Type: Application
    Filed: November 14, 2018
    Publication date: May 14, 2020
    Inventors: Ethan S. Wozniak, Praveen Viraraghavan, Asimuddin Kazi, Michael J. Niedbala
  • Patent number: 10652350
    Abstract: A method includes receiving a first access request that indicates a first data object stored as encoded slices in a plurality of storage units. A first desired slice set is selected, based on the requesting module, that includes a first subset of encoded slices of the first data object. Absent slice data is generated based on searching a local cache, indicating an encoded slice not present in the local cache. A read request to read the encoded slice indicated by the absent slice data from one of the storage units is transmitted. The encoded slice indicated by the absent slice data from the storage unit is received and the local cache is updated to include the encoded slice. The first data object is regenerated for transmission to the first requesting module by decoding the first subset of encoded slices in the first desired slice set.
    Type: Grant
    Filed: June 6, 2016
    Date of Patent: May 12, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Ethan S. Wozniak
  • Patent number: 10650160
    Abstract: A method begins by a processing module identifying, for a DSN (Dispersed Storage Network) memory using multiple IDA (Information Dispersal Algorithms) configurations simultaneously, a first IDA configuration with a highest security level relative to each of the multiple IDA configurations. The method continues by generating at least one master key. The method continues by encoding the master key with a secure error coding function to produce master key slices according to the first IDA configuration. The method continues by storing the master key slices in the DSN memory using the first IDA configuration. The method continues by, when storing data with a second IDA configuration having a security level lower than the first IDA configuration, retrieving the master key slices, decoding the master key slices to obtain the master key and encrypting the data using the master key.
    Type: Grant
    Filed: August 31, 2018
    Date of Patent: May 12, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew D. Baptist, Michael E. Factor, Wesley B. Leggette, Ethan S. Wozniak
  • Patent number: 10635536
    Abstract: A method for execution by a device of a dispersed storage network (DSN) to access a set of encoded data slices. The method begins by performing a first distributed agreement protocol (DAP) function using a slice identifier and a first set of coefficients to identify a set of storage units. The method continues by performing a second DAP function using the slice identifier and a second set of coefficients to identify pillar numbers for the set of storage units. The method continues by sending a set of data access requests to the set of storage units in accordance with the pillar numbers, wherein a data access request of the set of data access requests includes a slice name for a corresponding one of the set of encoded data slices and wherein the slice name includes one of the pillar numbers.
    Type: Grant
    Filed: March 23, 2017
    Date of Patent: April 28, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew D. Baptist, Wesley B. Leggette, Manish Motwani, Jason K. Resch, Ethan S. Wozniak
  • Patent number: 10628399
    Abstract: A method includes, for a write operation regarding a set of encoded data slices, determining, by a computing device, whether the write operation is a first instance of writing the set. The method further includes, when the write operation is a first instance, sending, by the computing device, a set of write requests to the storage units, wherein the write requests includes the set of encoded data slices, slice names, and an indication of the first instance. The method further includes, in response to a write request of the set of write requests, determining, by a storage unit, whether a previous version of an encoded data slice is currently stored. The method further includes, when the previous version is currently stored sending, by the storage unit, a conflict message to the computing device. The method further includes updating, by the computing device, the write requests based on the conflict message.
    Type: Grant
    Filed: April 29, 2016
    Date of Patent: April 21, 2020
    Assignee: International Business Machines Corporation
    Inventors: Andrew D. Baptist, Adam M. Gray, Scott M. Horan, Wesley B. Leggette, Jason K. Resch, Ilya Volvovski, Ethan S. Wozniak
  • Patent number: 10585748
    Abstract: A method begins by a computing device of a dispersed storage network (DSN) maintaining a queue of pending requests to access the DSN while new requests are added to the queue and executed requests are deleted from the queue. The method continues by the computing device determining, for each pending request in the queue, a prioritization score to produce a plurality of prioritization scores. The prioritization score is determined by determining an identity of a requestor associated with a pending request, obtaining a trust score based on the requestor's identity, and obtaining a compliance score based on the requestor's identity. The trust score indicates the requestor's level of legitimate use of the DSN and the compliance score indicates the requestor's level of compliance with DSN system requests. The method continues by the computing device executing pending requests of the queue in accordance with the plurality of prioritization scores.
    Type: Grant
    Filed: September 29, 2017
    Date of Patent: March 10, 2020
    Assignee: International Business Machines Corporation
    Inventors: Andrew D. Baptist, Bart R. Cilfone, Greg R. Dhuse, Harsha Hegde, Wesley B. Leggette, Manish Motwani, Jason K. Resch, Ilya Volvovski, Ethan S. Wozniak
  • Patent number: 10579309
    Abstract: A method is provided for increasing throughput in a distributed storage network (DSN). A storage unit (SU) of the DSN receives a set of access requests regarding a set of encoded data slices and determines whether processing one or more access requests from the set of access requests can be delayed. Based on performance information regarding the one or more access requests the SU queues the requests and delays the processing of the requests in order to achieve higher throughput.
    Type: Grant
    Filed: February 16, 2017
    Date of Patent: March 3, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew D. Baptist, Greg R. Dhuse, Manish Motwani, Jason K. Resch, Praveen Viraraghavan, Ilya Volvovski, Ethan S. Wozniak
  • Patent number: 10579450
    Abstract: A distributed storage network (DSN) stores sets of encoded data slices in sets of storage units. A first storage unit assigned to store an encoded data slice included in a set of encoded data slices transmits a rebuild request associated with the storage error to a second storage unit. The second storage unit generates the rebuilt encoded data slice in response to the rebuild request, and transmits the rebuilt encoded data slice back to the first storage unit, which stores the rebuilt encoded data slice.
    Type: Grant
    Filed: November 13, 2018
    Date of Patent: March 3, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Ravi V. Khadiwala, Ethan S. Wozniak, Jason K. Resch
  • Patent number: 10545699
    Abstract: A method for execution by a computing device within a dispersed storage network (DSN). The method beings when data accesses occur for a data object of a storage container within the DSN. The method continues by updating, for at least some of the data accesses, an object value for the data object to produce an updated object value. The method continues by updating an object retention cost for the data object to produce an updated object retention cost. The method continues by updating a data object retention policy for the data object based on the updated object value and the updated object retentions costs. When one of the data accesses is a deletion event, the method continues by utilizing a current updated data object retention policy to determine a deletion-retention option for the data object. The method continues by executing the deletion-retention option on the data object.
    Type: Grant
    Filed: April 11, 2017
    Date of Patent: January 28, 2020
    Assignee: International Business Machines Corporation
    Inventors: Andrew D. Baptist, Bart R. Cilfone, Greg R. Dhuse, Harsha Hegde, Wesley B. Leggette, Manish Motwani, Jason K. Resch, Ilya Volvovski, Ethan S. Wozniak
  • Publication number: 20200026780
    Abstract: A processing module of a memory storage unit includes an interface configured to interface and communicate with a communication system, a memory that stores operational instructions, and processing circuitry operably coupled to the interface and to the memory that is configured to execute the operational instructions to manage data stored using append-only formatting. When the processing module determines that a section of the memory includes invalid data and the amount of invalid data compares unfavorably to a predetermined limit, the processing module determines a rate for execution of a compaction routine for the section of memory, where the rate is based on a proportion, integral and derivative (PID) function that is based on a target usage level of the memory and a current usage level of the memory.
    Type: Application
    Filed: July 17, 2018
    Publication date: January 23, 2020
    Inventors: Ethan S. Wozniak, Praveen Viraraghavan, Ilya Volvovski
  • Patent number: 10534668
    Abstract: A method for execution by a computing device includes generating a data segment to include a first data object for storage and a plurality of null data objects. The data segment is dispersed storage error encoded to produce a set of encoded data slices that includes a first encoded data slice that corresponds to the first data object, a plurality of null slices corresponding to the null data objects, and a remaining number of error coded slices. Storage of the set of encoded data slices in a set of storage units is facilitated. Storage of a second data object is facilitated, where one null data object is overwritten with the second data object. A partial contribution of the second data object is calculated for each of the error coded slices in accordance with a partial encoding approach. Each error coded slice is updated by utilizing the corresponding partial contribution.
    Type: Grant
    Filed: December 5, 2017
    Date of Patent: January 14, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Ethan S. Wozniak, Andrew D. Baptist, Greg R. Dhuse, Ilya Volvovski, Jason K. Resch
  • Patent number: 10534548
    Abstract: A method for ensuring appropriate content formatting of data prior to storage in a dispersed storage network (DSN) includes sending a content format verification code (“code”) to a secure execution module. The method further includes signing the code with a secure execution module signature to produce a trusted code and sending the trusted code to a trusted computing module. The method further includes sending, by the trusted computing module, the secure execution module signature and a trusted content format verification code identification to a dispersed storage (DS) processing unit. When the secure execution module signature and the trusted code ID are verified, the method includes sending a write request to the trusted computing module, determining whether the data is in the appropriate content format based on the trusted code, and when the data of the write request is in the appropriate format, sending the data to the DS processing unit.
    Type: Grant
    Filed: June 20, 2017
    Date of Patent: January 14, 2020
    Assignee: International Business Machines Corporation
    Inventors: Andrew D. Baptist, Bart R. Cilfone, Greg R. Dhuse, Wesley B. Leggette, Manish Motwani, Jason K. Resch, Ilya Volvovski, Ethan S. Wozniak
  • Patent number: 10528282
    Abstract: A method for execution by a storage unit of a dispersed storage network includes receiving a slice access request that includes a slice name. A first function is performed on the slice name to produce a bucket file identifier. A second function is performed on the slice name to produce a bucket identifier. A bucket file of a plurality of bucket files is accessed, where the bucket file is identified by utilizing the bucket file identifier. A bucket of a plurality of buckets within the bucket file is accessed, where the bucket is identified by utilizing the bucket identifier. It is determined to modify a number of buckets in the bucket file based on bucket utilization. An attribute of the second function is modified in response, where the attribute is associated with the number of buckets in the bucket file.
    Type: Grant
    Filed: December 14, 2017
    Date of Patent: January 7, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Joseph M. Kaczmarek, Ethan S. Wozniak, Ilya Volvovski
  • Patent number: 10530861
    Abstract: A method for execution by a dispersed storage and task (DST) processing unit includes receiving data for storage. A storage approach for the data is determined based on the data. Storage of the data in a plurality of sets of storage units is facilitated in accordance with the storage approach. A determination is made to recover the data from storage, and a set of storage units is selected from the plurality of sets of storage units for recovery of the data. Recovery of the data from the selected set of storage units is facilitated.
    Type: Grant
    Filed: November 20, 2017
    Date of Patent: January 7, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Ethan S. Wozniak, Andrew D. Baptist, Greg R. Dhuse, Ilya Volvovski, Jason K. Resch, Thomas D. Cocagne
  • Patent number: 10528425
    Abstract: A method for execution by a computing device includes dispersed storage error encoding a data segment to produce a set of encoded data slices in accordance with an information dispersal algorithm (IDA) width number. Storage of the set of encoded data slices in a set of storage units is maintained. Activation of an incremental subset of storage units is detected to produce an expanded set of storage units in accordance with an updated IDA width number. An incremental subset of encoded data slices of an expanded set of encoded data slices is generated in accordance with the updated IDA width number. Storage of the expanded set of encoded data slices in the expanded set of storage units is maintained. A write threshold number is updated to produce an updated write threshold number. Storage of the updated write threshold number of the expanded set of encoded data slices is maintained.
    Type: Grant
    Filed: December 12, 2017
    Date of Patent: January 7, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Ethan S. Wozniak, Andrew D. Baptist, Greg R. Dhuse, Ilya Volvovski, Jason K. Resch, Ravi V. Khadiwala, Wesley B. Leggette
  • Patent number: 10523781
    Abstract: A method for optimizing scheduler selection by a distributed storage (DS) unit of a dispersed storage network (DSN) begins with a DS unit receiving a dispersed storage error function from a DSN user and queries DS elements to determine measured throughput and measured latency. The method resumes when the DS unit receives measured throughput and measured latency from the DSN elements and selects a scheduler based on the measured throughput and measured latency. The method continues with the DS unit receiving a different updated measured throughput and measured latency from the DSN elements and selecting a different scheduler.
    Type: Grant
    Filed: September 13, 2018
    Date of Patent: December 31, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Ethan S. Wozniak, Manish Motwani
  • Patent number: 10503591
    Abstract: A method for execution by a dispersed storage and task (DST) processing unit includes determining to recover a data segment from a set of storage units. A plurality of candidate retrieval locations of the set of storage units are identified. Performance information for each of the plurality of candidate retrieval locations is obtained. A cost-benefit level for each of a plurality of permutations of a selected number of storage locations of the candidate retrieval locations is determined based on the performance information. One of the plurality of permutations is selected based on the cost-benefit level for each of the plurality of permutations. Retrieval of encoded data slices from the corresponding storage locations of the selected permutation is initiated. The data segment is reproduced in response to receiving a decode threshold number of the encoded data slices.
    Type: Grant
    Filed: December 5, 2017
    Date of Patent: December 10, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Ethan S. Wozniak, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch