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: 20190265898
    Abstract: A method includes obtaining a plurality of sets of write requests regarding a plurality of sets of encoded data slices. During a first time period, the method continues by identifying a set of storage units of a dispersed storage network and identifying a first namespace subrange of a namespace associated with the set of storage units. The method continues by issuing a first set of write requests of the plurality of sets of write requests to a first subset of storage units of the set of storage units regarding first sets of encoded data slices to be stored in the first namespace subrange. The method continues by issuing a second set of write requests of the plurality of sets of write requests to a second subset of storage units of the set of storage units regarding second sets of encoded data slices to be stored in the first namespace subrange.
    Type: Application
    Filed: May 14, 2019
    Publication date: August 29, 2019
    Inventors: Andrew D. Baptist, Jason K. Resch, Ilya Volvovski
  • Publication number: 20190268296
    Abstract: A method for processing partial tasks in a distributed storage network (DSN) includes receiving a partial task request message for a DS execution unit, where the partial task request message includes corresponding partial tasks. The method continues by processing each partial task request message in accordance with the processing parameters to produce task request slice groupings, generating slices, such that each message is directed at a corresponding DS execution unit, and the sending the slice groupings and the task request slice groupings to the selected DS execution units for storage therein. The method continues by retrieving at least a decode threshold number of task response slices of one or more task response slice groupings from the DS execution units, decoding the task response slices, retrieving at least a decode threshold number of partial result slices, and decoding the partial results slices and processing the partial results to produce a result.
    Type: Application
    Filed: May 9, 2019
    Publication date: August 29, 2019
    Inventors: Wesley B. Leggette, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Ilya Volvovski, Manish Motwani, S. Christopher Gladwin, Gary W. Grube, Thomas F. Shirley, JR.
  • Patent number: 10394468
    Abstract: A method for execution by a storage unit of a dispersed storage network (DSN) includes receiving a data slice for storage. A first bin that includes the data slice is generated and stored in a first location of a memory device of the storage unit, and a bin pointer that includes a reference to the first location is generated. A revision of the data slice is later received, and a second bin that includes the revised data slice is generated and stored in a second location of the memory device. A modified bin pointer is generated by editing the bin pointer to include a reference to the second location. A back pointer that references the first location is generated in response to commencing writing of the revised data slice. The back pointer is deleted in response to determining that the revised data slice has reached a finalized write stage.
    Type: Grant
    Filed: February 23, 2017
    Date of Patent: August 27, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew D. Baptist, Manish Motwani, Praveen Viraraghavan, Ilya Volvovski
  • Patent number: 10394476
    Abstract: A method for execution by a computing device of a dispersed storage network (DSN). The method begins with obtaining a plurality of write requests. The method continues where for a write request of the plurality of write requests, the computing device generates a vault identification and a generation number. The method continues where the computing device obtains a rounded timestamp and a capacity factor and generates a temporary object number based on the rounded timestamp and the capacity factor. The method continues where the computing device generates a temporary source name based on the vault identification, the generation number, and the temporary object number. The method continues where the computing device identifies a set of storage units of a plurality of sets of storage units of the DSN based on the temporary source name.
    Type: Grant
    Filed: August 8, 2017
    Date of Patent: August 27, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Andrew D. Baptist, Jason K. Resch, Ilya Volvovski
  • Publication number: 20190258546
    Abstract: Methods and systems for use in a dispersed storage network to prioritize data rebuilding operations. In various examples, a device receives data loss information from a set of storage units. Based on the data loss information, data slice errors are detected regarding data stored by the storage units, and corresponding rebuild requests are issued to the storage units. The device also determines a rebuild rate based on a rate of rebuilding associated with the rebuild requests. The device further receives storage error information regarding errors associated with storage requests to the storage units and, based on the data loss information and storage error information, determines a data loss rate. The rebuild rate and the data loss rate are provided to the storage units for use in prioritizing the rebuild requests, such that when the rebuild rate compares unfavorably to the data loss rate, rebuild requests are prioritized over storage requests.
    Type: Application
    Filed: May 2, 2019
    Publication date: August 22, 2019
    Inventors: Ilya Volvovski, Andrew D. Baptist, Jason K. Resch, Wesley B. Leggette
  • Patent number: 10387063
    Abstract: A method includes retrieving a read threshold number of integrity check value list (ICVL) encoded data slices of a set of ICVL encoded data slices. The method further includes determining whether an appended ICVL of each ICVL encoded data slice of the read threshold number of ICVL encoded data slices substantially match. When the appended ICVL of one of the ICVL encoded does not substantially match the appended ICVL of other ICVL encoded data slices, the method further includes determining a likely cause for the mismatch. When the likely cause is missing a revision update, the method further includes initiate rebuilding of the encoded data slice portion. The method further includes generating an integrity check value for the rebuilt encoded data slice and updating the integrity check value list. The method further includes appending the updated integrity check value list to the rebuilt encoded data slice.
    Type: Grant
    Filed: February 20, 2018
    Date of Patent: August 20, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Niall J. McShane, Jason K. Resch, Ilya Volvovski
  • Patent number: 10387067
    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. Dispersed storage network (DSN) configuration information is obtained and a write threshold number of encoded data slices is mapped to storage units to produce a slice storage mapping to facilitate storage of the encoded data slices. Unavailability of at least one encoded data slice is detected, and updated DSN configuration information is obtained. An updated slice storage mapping is produced and storage of an updated write threshold number of encoded data slices is facilitated accordingly. Availability of greater than the write threshold number of encoded data slices is detected and further updated DSN configuration information is obtained. A further updated slice storage mapping is produced and storage of a further updated write threshold number of encoded data slices is facilitated accordingly.
    Type: Grant
    Filed: December 14, 2017
    Date of Patent: August 20, 2019
    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: 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: 10387080
    Abstract: A method for use in a dispersed storage network operates to select a recovery of selected ones of one or more first sets of encoded data slices in response to detecting a storage error associated with the selected ones of the one or more first sets of encoded data slices; issue requests for a second decode threshold number of encoded data slices of selected ones of one or more second sets of encoded data slices corresponding to the selected ones of the one or more first sets of encoded data slices; decode the second decode threshold number of encoded data slices to produce recovered data in response to receiving the second decode threshold number of encoded data slices; encode the recovered data utilizing first IDA parameters associated with the first IDA to produce one or more rebuilt encoded data slices corresponding to the selected ones of the one or more first sets of encoded data slices; and facilitate storage of the one or more rebuilt encoded data slices.
    Type: Grant
    Filed: October 25, 2018
    Date of Patent: August 20, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew D. Baptist, Greg R. Dhuse, Scott M. Horan, Ravi V. Khadiwala, Wesley B. Leggette, Manish Motwani, Jason K. Resch, Praveen Viraraghavan, Ilya Volvovski, Trevor J. Vossberg, Ethan S. Wozniak
  • Patent number: 10382553
    Abstract: A distributed storage network (DSN) includes a DSN memory and a distributed storage (DS) processing unit. The DS processing unit determines a particular revision of source data for persistence, and generates a protocol message associated with the particular revision of source data. The protocol message is generated based on a balance between durability and persistence associated with the particular revision. The protocol message is transmitted from the DS processing unit to the DSN memory, and indicates to the DSN memory a particular persistence protocol. The DSN memory process data slices corresponding to the particular revision of source data in accordance with the particular persistence protocol.
    Type: Grant
    Filed: February 20, 2017
    Date of Patent: August 13, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew D. Baptist, Greg R. Dhuse, Ravi V. Khadiwala, Manish Motwani, Praveen Viraraghavan, Ilya Volvovski
  • Publication number: 20190243554
    Abstract: A method for use in a dispersed storage network operates to initiate retrieval of a decode threshold number of encoded data slices of each of one or more sets of encoded data slices in accordance with a first recovery approach. When a recovery time frame expires prior to receiving a second decode threshold number of encoded data slices of each of the one or more second sets of encoded data slices, the method proceeds to select a second data recovery approach that differs from the first recovery approach; recover a sufficient number of encoded data slices in accordance with the second data recovery approach; and dispersed storage error decode the sufficient number of encoded data slices to produce recovered data.
    Type: Application
    Filed: April 17, 2019
    Publication date: August 8, 2019
    Inventors: Andrew D. Baptist, Jason K. Resch, Ilya Volvovski, Ethan S. Wozniak
  • Patent number: 10372506
    Abstract: A method performed by a processing module embedded in a solid state memory device begins by receiving at least one partial task related to a group of slices of contiguous data, and slices of the group of slices of contiguous data to produce received slices. The received slices are random access stored in the solid state memory device, and the processing module decides whether to execute the at least one partial task. In response to a positive determination, a portion of the received slices are random access retrieved, and the at least one partial task is executed using the portion of the received slices to generate a partial result. The partial result is random access stored in the solid state memory device; and the processing module facilitates dispersed storage of the partial result in a distributed storage task network (DSTN).
    Type: Grant
    Filed: November 9, 2016
    Date of Patent: August 6, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Andrew D. Baptist, Greg R. Dhuse, S. Christopher Gladwin, Gary W. Grube, Manish Motwani, Wesley B. Leggette, Jason K. Resch, Thomas F. Shirley, Jr., Ilya Volvovski
  • Publication number: 20190235931
    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: Application
    Filed: April 9, 2019
    Publication date: August 1, 2019
    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
  • Publication number: 20190235955
    Abstract: A method includes determining, by a computing device of a dispersed storage network (DSN), routing path performance information of a set of routing paths with respect to a set of storage units of the DSN. The method further includes adjusting a pillar width to decode threshold ratio of a dispersed storage error encoding function when the routing path performance information deviates from a performance threshold. The performance threshold includes a first error rate threshold and a second error rate threshold. The method further includes dispersed storage error encoding a data object using the adjusted pillar width to decode threshold ratio to produce a plurality of sets of encoded data slices. The method further includes sending the plurality of sets of encoded data slices to the set of storage units via the set of routing paths for storage therein.
    Type: Application
    Filed: April 8, 2019
    Publication date: August 1, 2019
    Inventors: Gary W. Grube, Timothy W. Markison, S. Christopher Gladwin, Greg R. Dhuse, Andrew D. Baptist, Ilya Volvovski, Jason K. Resch
  • Publication number: 20190238481
    Abstract: A processing system in a dispersed storage and a task network DSTN determines whether or not to execute a partial task. When determined to execute the partial task, the processing system operates by determining execution steps and a schedule; identifying a portion of the contiguous data for execution of one or more steps of the execution steps; retrieving the portion of the contiguous data from the disk drive; executing the one or more steps of the execution steps in accordance with the schedule on the portion of the contiguous data to produce a partial result; dispersed storage error encoding the partial result to produce a plurality of sets of slices in accordance with dispersal parameters associated with one or more of the group of slices and the partial task; and facilitating storing a plurality of sets of slices in the DSTN.
    Type: Application
    Filed: April 9, 2019
    Publication date: August 1, 2019
    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: 10360107
    Abstract: A method for execution by a resource allocation module includes facilitating migration of a first set of encoded data slices stored at a storage unit for decommissioning to a newly commissioned storage unit, and facilitating migration of a remaining set of encoded data slices stored at the storage unit for decommissioning as foster encoded data slices to at least one other storage unit. For each foster encoded data slice, it is determined whether to facilitate migration of the foster encoded data slice to the newly commissioned storage unit. When determining to facilitate the migration of the foster encoded data slice, the migration of the foster encoded data slice to the newly commissioned storage unit is facilitated. An association of the newly commissioned storage unit and identity of the foster encoded data slice is updated in response to detecting successful migration of the foster encoded data slice.
    Type: Grant
    Filed: September 4, 2018
    Date of Patent: July 23, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Thomas F. Shirley, Jr., Gary W. Grube, Bart R. Cilfone, Ravi V. Khadiwala, Greg R. Dhuse, Thomas D. Cocagne, Michael Colin Storm, Yogesh R. Vedpathak, Wesley B. Leggette, Jason K. Resch, Andrew D. Baptist, Ilya Volvovski
  • Publication number: 20190220911
    Abstract: A computing device that includes an interface, a memory, and a processing module receives a data access request from a requesting computing device and processes them to produce a set of distributed storage (DS) access requests. The computing device then transmits the set of DS access requests to a set of storage units (SUs) via a DSN connection that is between the computing device and the set of SUs and monitors the DSN connection to generate utilization information. The computing device then receives a set of DS access responses from the set of SUs via the DSN connection and monitors the DSN connection to generate updated utilization information. The computing device then transmits a data access response to the requesting computing device and generates billing information based on at least one of the updated utilization information associated with the DSN connection, a level of billing, and a billing rate.
    Type: Application
    Filed: March 20, 2019
    Publication date: July 18, 2019
    Inventors: Ilya Volvovski, S. Christopher Gladwin, Gary W. Grube, Timothy W. Markison, Jason K. Resch, Thomas F. Shirley, JR., Greg R. Dhuse, Manish Motwani, Andrew D. Baptist, Wesley B. Leggette
  • Publication number: 20190220354
    Abstract: A method includes a computing device determining error coding dispersal storage function parameters to be utilized in a dispersed storage error encoding process of a data object. The method further includes the computing device dividing the dispersed storage error encoding process into a plurality of dispersed storage error encoding tasks. The method further includes allocating, by the computing device, the plurality of dispersed storage error encoding tasks to a plurality of central processing units (CPUs) available to the computing device. The method further includes dispersed storage error encoding, by the CPUs, the data segments into the plurality of sets of encoded data slices in accordance with the dispersed storage error encoding tasks. The method further includes sending, by the computing device, the plurality of sets of encoded data slices to storage units of the DSN for storage therein.
    Type: Application
    Filed: March 27, 2019
    Publication date: July 18, 2019
    Inventors: Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Ilya Volvovski
  • Patent number: 10346218
    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: February 28, 2017
    Date of Patent: July 9, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    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: 10348640
    Abstract: A processing system in a dispersed storage and a task network DSTN determines whether or not to execute a partial task. When determined to execute the partial task, the processing system operates by determining execution steps and a schedule; identifying a portion of the contiguous data for execution of one or more steps of the execution steps; retrieving the portion of the contiguous data from the disk drive; executing the one or more steps of the execution steps in accordance with the schedule on the portion of the contiguous data to produce a partial result; dispersed storage error encoding the partial result to produce a plurality of sets of slices in accordance with dispersal parameters associated with one or more of the group of slices and the partial task; and facilitating storing a plurality of sets of slices in the DSTN.
    Type: Grant
    Filed: February 28, 2017
    Date of Patent: July 9, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    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