Patents by Inventor Ilya Volvovski

Ilya Volvovski 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).

  • Publication number: 20200097181
    Abstract: A method for execution by a dispersed storage and task (DST) execution unit includes generating a first compaction object by performing a compaction function on a first previously compacted object and first data slices that compare favorably to a cold access threshold. Storage of the first previously compacted object in a cold memory region is replaced with the first compacted object, and the first data slices are removed from prior storage in different memory regions. A second compacted object is generated by performing the compaction function on a second previously compacted object and second data slices that compare favorably to a hot access threshold. Storage of the second previously compacted object in a hot memory region is replaced with the second compacted object, and the second data slices are removed from prior storage in different memory regions.
    Type: Application
    Filed: September 26, 2018
    Publication date: March 26, 2020
    Inventors: Ilya Volvovski, Praveen Viraraghavan, Andrew D. Baptist, Jason K. Resch
  • Publication number: 20200097182
    Abstract: A method for execution by a dispersed storage and task (DST) execution unit includes generating a first compaction object by performing a compaction function on a first previously compacted object and first data slices that compare favorably to a cold access threshold. Storage of the first previously compacted object in a cold memory region is replaced with the first compacted object, and the first data slices are removed from prior storage in different memory regions. A second compacted object is generated by performing the compaction function on a second previously compacted object and second data slices that compare favorably to a hot access threshold. Storage of the second previously compacted object in a hot memory region is replaced with the second compacted object, and the second data slices are removed from prior storage in different memory regions.
    Type: Application
    Filed: July 22, 2019
    Publication date: March 26, 2020
    Inventors: Ilya Volvovski, Praveen Viraraghavan, Andrew D. Baptist, Jason K. Resch
  • Patent number: 10599519
    Abstract: A method includes determining, by a computing device, to change a node of a hierarchical index structure. The method further includes determining, by the computing device, whether one or more other computing devices are attempting to change the node. The method further includes, when yes, determining, by the computing device and/or the other computing device(s), to use a delegate device to process multiple change requests to the node. The method further includes, when determined to use the delegate device, sending, by the computing device, a message to the delegate device requesting the delegate device to process the change to the node. The method further includes coordinating, by the delegate device, requested changes to the node by the computing device and the other computing device(s). The method further includes updating, by the delegate device, the node in accordance with the coordinating of the requested changes.
    Type: Grant
    Filed: October 26, 2016
    Date of Patent: March 24, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Greg R. Dhuse, Adam M. Gray, Scott M. Horan, Ravi V. Khadiwala, Tyler K. Reid, Daniel J. Scholl, Ilya Volvovski
  • 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: 10587691
    Abstract: Systems and methods for storing encoded data slices in a dispersed storage network (DSN) involve generating a set of write slice requests relating to the encoded data slices, outputting the set of write slice requests to dispersed storage units of the DSN, receiving write slice responses and determining whether to retry storing the set of encoded data slices based on one or more of the write slice responses. Determining whether to retry storing the set of encoded data slices may involve determining whether less than a write threshold number of favorable responses were received, for example in a time period, and/or whether an unfavorable response was received. Determining whether to retry may also be based on receiving a slow or non-response. For purposes of retrying, the systems and methods may also determine whether to modify the write slice requests, for example by modifying a revision number.
    Type: Grant
    Filed: November 17, 2017
    Date of Patent: March 10, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Greg R. Dhuse, Andrew D. Baptist, Ilya Volvovski, Jason K. Resch
  • Patent number: 10585715
    Abstract: A processing system in a dispersed storage and a task (DST) network operates by receiving data and a corresponding task; identifying candidate DST execution units for executing partial tasks of the corresponding task; receiving distributed computing capabilities of the candidate DST execution units; selecting a subset of DST execution units of the candidate DST execution units to favorably execute the partial tasks of the corresponding task; determining task partitioning of the corresponding task into the partial tasks based on one or more of the distributed computing capabilities of the subset of DST execution units; determining processing parameters of the data based on the task partitioning; partitioning the tasks based on the task partitioning to produce the partial tasks; processing the data in accordance with the processing parameters to produce slice groupings; and sending the slice groupings and the partial tasks to the subset of DST execution units.
    Type: Grant
    Filed: April 9, 2019
    Date of Patent: March 10, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Andrew D. Baptist, Greg R. Dhuse, S. Christopher Gladwin, Gary W. Grube, Wesley B. Leggette, Manish Motwani, Jason K. Resch, Thomas F. Shirley, Jr., Ilya Volvovski
  • 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: 10558621
    Abstract: A method includes sending, by a first computing device, a first set of write requests and sending, by a second computing device, a second set of write requests to a set of storage units. The method further includes receiving, by the first computing device, favorable write responses from a first subset of storage units of the set of storage units and receiving, by the second computing device, favorable write responses from a second subset of storage units. The method further includes determining, by the first computing device, whether a number of the favorable write responses from the first subset of storage units equals or exceeds a write threshold number. When the number of the favorable write responses from the first subset of storage units equals or exceeds the write threshold number, the first computing device sends a set of commit requests to the set of storage units.
    Type: Grant
    Filed: February 14, 2017
    Date of Patent: February 11, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Andrew D. Baptist, Greg R. Dhuse, Ilya Volvovski
  • Patent number: 10552341
    Abstract: Systems and Methods for data storage in a distributed storage network are disclosed. Unexpected errors can adversely affect consistency of both the content of a write (including the slice data), and the synchronicity between the written slices and metadata structures. To maintain consistency between these data structures, a sequencing of the order of writes and flushes to the memory devices for the different data structures may be enforced as follows: First: Slice content data is first written to the volatile memory (e.g. a cache memory) of a DS unit; Second: the Slice content data stored in volatile memory is “flushed” to a non-volatile bin (which bin is associated with a group of physical memory blocks in non-volatile memory); Third: after the flush of the slice content data to the bin (i.e. data is durable on the media device): metadata relating to the data is written.
    Type: Grant
    Filed: February 17, 2017
    Date of Patent: February 4, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew D. Baptist, Joseph M. Kaczmarek, Manish Motwani, Praveen Viraraghavan, Ilya Volvovski
  • 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: 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: 10536525
    Abstract: A method includes a first computing device sending a first set of write requests regarding a set of encoded data slices to storage units. The method further includes a second computing device sending a second set of write requests regarding the set of encoded data slices to the storage units. The method further includes the first computing device receiving a first set of write response ballots from the storage units. The method further includes the second computing device receiving a second set of write response ballots from the storage units. When the first set of write response ballots is favorable, the method further includes the first computing device issuing a first set of finalize commands to the storage units. When the second set of write response ballots is favorable, the method further includes the second computing device issuing a second set of finalize commands to the storage units.
    Type: Grant
    Filed: October 30, 2018
    Date of Patent: January 14, 2020
    Assignee: International Business Machines Corporation
    Inventors: Andrew D. Baptist, Greg R. Dhuse, Ravi V. Khadiwala, 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: 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: 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: 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: 10521300
    Abstract: A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and a processing module operably coupled to the interface and memory such that the processing module, when operable within the computing device based on the operational instructions, is configured to perform various operations. For example, the computing device generates a prioritized request that includes at least one of a task for execution or a priority level based on information stored within a storage unit (SU) of a plurality of storage units (SUs) implemented within the DSN. Note that the information corresponds to a data object that is related to a set of encoded data slices (EDSs) that are distributedly stored within the DSN. The computing device then transmits the prioritized request to the SU and receives, from the SU, a response to the prioritized request.
    Type: Grant
    Filed: September 27, 2018
    Date of Patent: December 31, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Ahmad Alnafoosi, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Ilya Volvovski
  • Patent number: 10514857
    Abstract: A method includes obtaining an input factor regarding dispersed storage operational criteria and generating a set of hardware scores for hardware resources of a computing device based on at least one of: operational conditions of the computing device and the DSN. The method further includes ordering the set of hardware scores based on the dispersed storage operational criteria and identifying a set of modules based on at least one of the dispersed storage operational criteria and the ordered set of hardware scores. The method further includes determining, for each module in the set of modules, a desired adjustment based on at least one of the dispersed storage operational criteria and the ordered set of hardware scores. The method further includes adjusting the set of modules to produce a set of adjusted modules, and utilizing an adjusted module to at least partially satisfy the dispersed storage operational criteria.
    Type: Grant
    Filed: May 21, 2018
    Date of Patent: December 24, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Ilya Volvovski, Manish Motwani, Andrew D. Baptist, Jason K. Resch
  • Patent number: 10514971
    Abstract: A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and processing circuitry operably coupled to the interface and to the memory. The processing circuitry is configured to execute the operational instructions to perform various operations and functions. The computing device obtains directory metrics associated with a directory structure that is associated with a directory file that is segmented into a plurality of data segments and based on a determination to reconfigure the directory structure based on the directory metrics, the computing device determines a number of layers for a reconfigured directory structure, a number of spans per layer of the number of layers for the reconfigured directory structure, and directory entry reassignments. The computing device reconfigures the directory structure based on the number of layers, the spans per layer, and the directory entry reassignments.
    Type: Grant
    Filed: November 16, 2018
    Date of Patent: December 24, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Jason K. Resch, Wesley B. Leggette, Andrew D. Baptist, Ilya Volvovski, Greg R. Dhuse