Patents by Inventor Zachary J. Mark

Zachary J. Mark 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: 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
  • Publication number: 20190251061
    Abstract: To identify slice errors, a processing module of a computing device in a dispersed storage network (DSN) sends first list digest requests to at least first and second dispersed storage (DS) units. The requests indicates a first range of slice names to include in a first list digest. The processing module receives digest responses from the DS units, and compares the digest responses to determine whether they identify the same slices. If they do not identify the same slices, the processing module sends second list digest requests indicating a sub-range of the first range of slice names to include in second list digests. The sub-range continues to be narrowed until the processing module identifies at least one sub-range of slice names where a slice error exists.
    Type: Application
    Filed: April 22, 2019
    Publication date: August 15, 2019
    Inventors: Sebastien Vas, Zachary J. Mark, Jason K. Resch
  • Patent number: 10379773
    Abstract: A storage unit for use within a dispersed storage network comprises an interface and a processing module operable to receive encoded data slices from a dispersed storage network client. The encoded data slices are associated with DSN logical addresses and the storage unit is allocated a range of DSN logical addresses in which the DSN logical addresses are found. The storage unit determines whether to store the encoded data slices in local memory of the storage unit or store them in remote memory. When the storage unit determines to store the encoded data slice to the remote memory it converts the DSN logical address into a local storage unit logical address and outputs the encoded data slices to the remote memory.
    Type: Grant
    Filed: August 29, 2016
    Date of Patent: August 13, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew D. Baptist, Bart R. Cilfone, Greg R. Dhuse, Wesley B. Leggette, James L. Lester, Zachary J. Mark, Manish Motwani, Jason K. Resch
  • Patent number: 10372540
    Abstract: A method includes receiving, by a computing device of a dispersed storage network (DSN), a non-standard data access request regarding a set of encoded data slices, where the non-standard data access request includes a set of network identifiers of a set of storage units, a data identifier corresponding to data, and a data access function. The method further includes the computing device converting the non-standard data access request into one or more DSN slice names. The method further includes the computing device determining that the one or more DSN slice names are within a slice name range allocated to the computing device. When the one or more DSN slice names are within the slice name range, the method further includes the computing device executing the data access function regarding one or more encoded data slices corresponding to the one or more DSN slice names.
    Type: Grant
    Filed: October 15, 2018
    Date of Patent: August 6, 2019
    Assignee: International Business Machines Corporation
    Inventors: Andrew D. Baptist, Bart R. Cilfone, Greg R. Dhuse, Wesley B. Leggette, James L. Lester, Zachary J. Mark, Manish Motwani, Jason K. Resch
  • Patent number: 10360180
    Abstract: To identify slice errors, a processing module of a computing device in a dispersed storage network (DSN) sends first list digest requests to at least first and second dispersed storage (DS) units. The requests indicates a first range of slice names to include in a first list digest. The processing module receives digest responses from the DS units, and compares the digest responses to determine whether they identify the same slices. If they do not identify the same slices, the processing module sends second list digest requests indicating a sub-range of the first range of slice names to include in second list digests. The sub-range continues to be narrowed until the processing module identifies at least one sub-range of slice names where a slice error exists.
    Type: Grant
    Filed: July 31, 2014
    Date of Patent: July 23, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Sebastien Vas, Zachary J. Mark, Jason K. Resch
  • Publication number: 20190220451
    Abstract: A method includes generating integrity data of one or more slice names of one or more error encoded data slices and evaluating the integrity data, without using any of the error encoded data slices, for an inconsistency between the plurality of received integrity data. The method further includes indicating an error based on the evaluating the integrity data indicating an inconsistency, retrieving one or more slice names for the one or more error encoded data slices, and when detecting that at least one data error has occurred at a plurality of storage units at a DSN site/pillar, determine that a DSN site/pillar failure has occurred and after a predetermined time period, if the DSN site/pillar failure has not been resolved, rebuild the error encoded data slices of the DSN site/pillar and store them at another DSN site/storage unit.
    Type: Application
    Filed: March 20, 2019
    Publication date: July 18, 2019
    Inventor: Zachary J. Mark
  • Patent number: 10268712
    Abstract: A method includes sending a set of digest list requests to a set of storage units regarding integrity data for a set of encoded data slices. The method further includes receiving, in response to the integrity data requests, the corresponding integrity data from at least some storage units of the set of storage units regarding at least some of the encoded data slices of the set of encoded data slices to produce a set of integrity data. The method further includes determining whether an inconsistency exists in the set of integrity data. When the inconsistency exists, the method further includes identifying an inconsistent encoded data slice of the at least some of the encoded data slices is inconsistent with other encoded data slices of the at least some of the encoded data slices. The method further includes updating the inconsistent encoded data slice to resolve the inconsistency.
    Type: Grant
    Filed: August 5, 2016
    Date of Patent: April 23, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Zachary J. Mark
  • Publication number: 20190050291
    Abstract: A method includes receiving, by a computing device of a dispersed storage network (DSN), a non-standard data access request regarding a set of encoded data slices, where the non-standard data access request includes a set of network identifiers of a set of storage units, a data identifier corresponding to data, and a data access function. The method further includes the computing device converting the non-standard data access request into one or more DSN slice names. The method further includes the computing device determining that the one or more DSN slice names are within a slice name range allocated to the computing device. When the one or more DSN slice names are within the slice name range, the method further includes the computing device executing the data access function regarding one or more encoded data slices corresponding to the one or more DSN slice names.
    Type: Application
    Filed: October 15, 2018
    Publication date: February 14, 2019
    Inventors: Andrew D. Baptist, Bart R. Cilfone, Greg R. Dhuse, Wesley B. Leggette, James L. Lester, Zachary J. Mark, Manish Motwani, Jason K. Resch
  • Publication number: 20190034276
    Abstract: A method for execution by a dispersed storage and task (DST) execution unit includes receiving a write slice request from a requesting entity, where the write slice request includes a plurality of encoded data slices and a corresponding plurality of slice names. The plurality of slice names are interpreted to produce a slice name range. Whether a write lock conflict exists is determined based on the slice name range. An unfavorable write slice response is issued to the requesting entity when the write lock conflict is determined to exist. When the write lock conflict is determined to not exist, local storage of the plurality of encoded data slices is initiated, a favorable write slice response is issued to the requesting entity, and the processing system indicates that the slice name range is not locked when completing the local storage of the plurality of encoded data slices.
    Type: Application
    Filed: September 28, 2018
    Publication date: January 31, 2019
    Inventors: Zachary J. Mark, Ilya Volvovski, Greg R. Dhuse
  • Patent number: 10169149
    Abstract: A method includes determining, by a computing device of a dispersed storage network (DSN), whether to utilize a non-standard DSN data accessing protocol or a standard DSN data accessing protocol to access data from the DSN. When the computing device determines to use the non-standard DSN data accessing protocol, the method further includes generating a set of non-standard data access requests. The method further includes sending the set of non-standard data access requests to storage units. The method further includes converting, by a storage unit, the non-standard data access request into one or more DSN slice names. The method further includes determining, by the storage unit, that the one or more DSN slice names are within a slice name range. When the one or more DSN slice names are within the slice name range, the method further includes executing, by the storage unit, the data access function.
    Type: Grant
    Filed: September 6, 2016
    Date of Patent: January 1, 2019
    Assignee: International Business Machines Corporation
    Inventors: Andrew D. Baptist, Bart R. Cilfone, Greg R. Dhuse, Wesley B. Leggette, James L. Lester, Zachary J. Mark, Manish Motwani, Jason K. Resch
  • Patent number: 9940197
    Abstract: A dispersed storage system includes a plurality of storage units that each include a partial rebuild grid module. The partial rebuild grid module includes partial rebuilding functionality to reconstruct one of a plurality of encoded data slices wherein the plurality of encoded data slices are generated from a data segment based on an error encoding dispersal function. In the partial rebuilding process, a data slice is rebuilt by combining in any order slice partials generated from at least a threshold number T of the plurality of data slices.
    Type: Grant
    Filed: February 27, 2014
    Date of Patent: April 10, 2018
    Assignee: International Business Machines Corporation
    Inventors: Greg Dhuse, Andrew Baptist, Zachary J. Mark, Jason K. Resch, Ilya Volvovski
  • Publication number: 20180067807
    Abstract: A method includes determining, by a computing device of a dispersed storage network (DSN), whether to utilize a non-standard DSN data accessing protocol or a standard DSN data accessing protocol to access data from the DSN. When the computing device determines to use the non-standard DSN data accessing protocol, the method further includes generating a set of non-standard data access requests. The method further includes sending the set of non-standard data access requests to storage units. The method further includes converting, by a storage unit, the non-standard data access request into one or more DSN slice names. The method further includes determining, by the storage unit, that the one or more DSN slice names are within a slice name range. When the one or more DSN slice names are within the slice name range, the method further includes executing, by the storage unit, the data access function.
    Type: Application
    Filed: September 6, 2016
    Publication date: March 8, 2018
    Inventors: Andrew D. Baptist, Bart R. Cilfone, Greg R. Dhuse, Wesley B. Leggette, James L. Lester, Zachary J. Mark, Manish Motwani, Jason K. Resch
  • Publication number: 20180059984
    Abstract: A storage unit for use within a dispersed storage network comprises an interface and a processing module operable to receive encoded data slices from a dispersed storage network client. The encoded data slices are associated with DSN logical addresses and the storage unit is allocated a range of DSN logical addresses in which the DSN logical addresses are found. The storage unit determines whether to store the encoded data slices in local memory of the storage unit or store them in remote memory. When the storage unit determines to store the encoded data slice to the remote memory it converts the DSN logical address into a local storage unit logical address and outputs the encoded data slices to the remote memory.
    Type: Application
    Filed: August 29, 2016
    Publication date: March 1, 2018
    Inventors: Andrew D. Baptist, Bart R. Cilfone, Greg R. Dhuse, Wesley B. Leggette, James L. Lester, Zachary J. Mark, Manish Motwani, Jason K. Resch
  • Patent number: 9880902
    Abstract: A method begins by a processing module of a computing device receiving a most current revision value for a data element, where a revision value for the data element is generated based on a current time of a storing device. The method continues with the processing module generating a new revision value for a currently revised version of the data element based on a current time of the computing device and comparing the current time of the new revision value with the current time of the most current revision value. When the current time of the new revision value precedes the current time of the most current revision value, the method continues with the processing module adjusting the new revision value to produce an adjusted revision value and facilitating storage of the currently revised version of the data element having the adjusted revision value.
    Type: Grant
    Filed: March 16, 2017
    Date of Patent: January 30, 2018
    Assignee: International Business Machines Corporation
    Inventors: Andrew Baptist, Greg Dhuse, Ilya Volvovski, Jason K. Resch, Zachary J. Mark, Bart Cilfone
  • Patent number: 9881043
    Abstract: A method begins by determining slice names of encoded data slices stored within a dispersed storage network (DSN). The method continues by determining dispersed storage (DS) units within the DSN storing a set of the encoded data slices associated with the slice names. The method continues by determining one or more revision numbers associated with the slice names. The method continues by determining if same slice names have different associated revision numbers and, when the same slice names have different associated revision numbers, adding the slice names to a revision mailbox for subsequent correction.
    Type: Grant
    Filed: August 4, 2014
    Date of Patent: January 30, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jason K. Resch, Zachary J. Mark, Andrew Baptist, Ilya Volvovski
  • Patent number: 9807171
    Abstract: A method begins by a processing module generating a payload of a dispersed storage network frame regarding a conclusive write request operation by generating one or more slice name fields of a payload to include one or more slice names corresponding to one or more write commit responses of a write request operation, wherein the conclusive write request operation is a conclusive phase of the write request operation. The method continues with the processing module generating one or more slice revision numbering fields of the payload, wherein each slice revision numbering field includes a slice revision number corresponding to an associated slice name of the one or more slice names. The method continues with the processing module generating a protocol header of the DSN frame by generating a payload length field of the protocol header to include a payload length and generating remaining fields of the protocol header.
    Type: Grant
    Filed: November 8, 2016
    Date of Patent: October 31, 2017
    Assignee: International Business Machines Corporation
    Inventors: Andrew Baptist, Wesley Leggette, Jason K. Resch, Zachary J. Mark, Ilya Volvovski
  • Patent number: 9785503
    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: July 15, 2014
    Date of Patent: October 10, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Greg Dhuse, Andrew Baptist, Zachary J. Mark, Jason K. Resch, Ilya Volvovski
  • Publication number: 20170270003
    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: Application
    Filed: June 2, 2017
    Publication date: September 21, 2017
    Inventors: Greg Dhuse, Andrew Baptist, Zachary J. Mark, Jason K. Resch, Ilya Volvovski
  • Patent number: 9749419
    Abstract: A method includes sending a set of check request messages to a set of storage units. A first check request message of the set of check request messages includes a first group of slice names that includes a first slice name from each of a plurality of sets of slice names, and the plurality of sets of slices names corresponds to a plurality of sets of encoded data slices. The method further includes receiving, by a first storage unit, the first check request message, determining a first group of slice information, and sending first check response message, where the first check response message includes the first group of slice information. The method further includes interpreting the first check response message in light of the first group of slice names to identify one or more encoded data slices of the plurality of sets of encoded data slices in need of rebuilding.
    Type: Grant
    Filed: November 10, 2016
    Date of Patent: August 29, 2017
    Assignee: International Business Machines Corporation
    Inventors: Andrew Baptist, Wesley Leggette, Jason K. Resch, Zachary J. Mark, Ilya Volvovski, Greg Dhuse
  • Patent number: 9697171
    Abstract: A method begins by a processing module of a computing device receiving a most current revision value for a data element, where a revision value for the data element is generated based on a current time of a storing device. The method continues with the processing module generating a new revision value for a currently revised version of the data element based on a current time of the computing device and comparing the current time of the new revision value with the current time of the most current revision value. When the current time of the new revision value precedes the current time of the most current revision value, the method continues with the processing module adjusting the new revision value to produce an adjusted revision value and facilitating storage of the currently revised version of the data element having the adjusted revision value.
    Type: Grant
    Filed: July 20, 2014
    Date of Patent: July 4, 2017
    Assignee: INTERNAITONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew Baptist, Greg Dhuse, Ilya Volvovski, Jason K. Resch, Zachary J. Mark, Bart Cilfone