Patents by Inventor THOMAS FRANKLIN SHIRLEY, JR.

THOMAS FRANKLIN SHIRLEY, JR. 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: 20210367932
    Abstract: A data segment is encrypted to produce an encrypted data segment, and a data tag associated with the data segment is generated. The encrypted data segment is encoded to generate a set of encoded data slices. At least a read-threshold number of encoded data slices are required to reconstruct the encrypted data segment. A set of write slice requests, which includes the set of encoded data slices and the data tag, is transmitted to a DSN memory. A determination is made, based on the data tag, whether a first encoded data slice of the set of encoded data slices is a duplicate of a second encoded data slice already stored within the DSN memory. If it is a duplicate, rather of storing the first encoded data slice, a reference to a location of the second encoded data slice is stored.
    Type: Application
    Filed: July 20, 2021
    Publication date: November 25, 2021
    Inventors: Ilya Volvovski, S. Christopher Gladwin, Gary W. Grube, Timothy W. Markison, Jason K. Resch, Thomas Franklin Shirley, JR., Greg Dhuse, Manish Motwani, Andrew Baptist, Wesley Leggette
  • Patent number: 11101929
    Abstract: A method for execution by a computing device includes, receiving, from a requesting device, a request for a data segment of a data object that is or is to be stored in storage units of a content delivery network. The method further includes determining whether the data segment is stored in a cache memory of the content delivery network or in the storage units. When stored in the cache memory, the method includes retrieving the cached data segment, and sending it to the requesting device. When stored in the storage units, the method includes, sending read requests regarding the data segment to the storage units, receiving, in response to the read requests, at least a decode threshold number of encoded data slices, decoding the at least the decode threshold number of encoded data slices to reproduce the data segment, and sending the data segment to the requesting device.
    Type: Grant
    Filed: February 12, 2020
    Date of Patent: August 24, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: S. Christopher Gladwin, Timothy W. Markison, Greg Dhuse, Thomas Franklin Shirley, Jr., Wesley Leggette, Jason K. Resch, Gary W. Grube
  • Patent number: 11036584
    Abstract: A method includes, for a current phase of a multiple phase write operation to write a set of encoded data slices to a set of storage units, determining whether to send a write performance threshold number of write requests to a subset of the set of storage units regarding a write performance threshold number of encoded data slices of the set of encoded data slices, where the set of encoded data slices includes a total number of encoded data slices, and wherein the write performance threshold number is less than the total number and greater than or equal to the write threshold number. When the write performance threshold number of write requests is to be sent to the subset of the set of storage units, the method continues by sending the write performance threshold number of write requests to the subset of the set of storage units.
    Type: Grant
    Filed: July 30, 2019
    Date of Patent: June 15, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Greg Dhuse, Jason K. Resch, Thomas Franklin Shirley, Jr.
  • Patent number: 10574395
    Abstract: A method includes receiving streaming data. The method further includes dividing the streaming data into data segments. The method further includes performing a unity matrix function on a data segment to produce a set of encoded data slices. The method further includes storing the set of encoded data slices in a set of storage units of the DSN. After storage of the set of encoded data slices, the method further includes performing a redundancy portion of an encoding matrix on the set of encoded data slices to produce a set of redundancy encoded data slices and storing the set of redundancy encoded data slices in a set of set of storage units of the DSN.
    Type: Grant
    Filed: January 4, 2019
    Date of Patent: February 25, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: S. Christopher Gladwin, Timothy W. Markison, Greg Dhuse, Thomas Franklin Shirley, Jr., Wesley Leggette, Jason K. Resch, Gary W. Grube
  • Patent number: 10402269
    Abstract: A computer readable storage medium includes a first memory section that stores operational instructions that, when executed by a computing device of a dispersed storage network (DSN), cause the computing device to, for a first phase of a multiple phase write operation, determine whether to send a write performance threshold number of write requests to storage units. When yes, a second memory section storing operational instructions causes the computing device to, send them to storage units. When no, a third memory section storing operational instructions causes the computing device to determine whether to change the write performance threshold number for a second phase of the multiple write operation. When the write performance threshold number is to be changed, change the write performance threshold number and send the changed write performance threshold number of write commit requests to a second subset of the set of storage units.
    Type: Grant
    Filed: September 12, 2018
    Date of Patent: September 3, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Greg Dhuse, Jason K. Resch, Thomas Franklin Shirley, Jr.
  • Publication number: 20190140777
    Abstract: A method includes receiving streaming data. The method further includes dividing the streaming data into data segments. The method further includes performing a unity matrix function on a data segment to produce a set of encoded data slices. The method further includes storing the set of encoded data slices in a set of storage units of the DSN. After storage of the set of encoded data slices, the method further includes performing a redundancy portion of an encoding matrix on the set of encoded data slices to produce a set of redundancy encoded data slices and storing the set of redundancy encoded data slices in a set of set of storage units of the DSN.
    Type: Application
    Filed: January 4, 2019
    Publication date: May 9, 2019
    Inventors: S. Christopher Gladwin, Timothy W. Markison, Greg Dhuse, Thomas Franklin Shirley, JR., Wesley Leggette, Jason K. Resch, Gary W. Grube
  • 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
  • Publication number: 20190081781
    Abstract: A method includes encoding a data segment to produce a first encoded share and a second encoded share. The method includes obtaining a set of personalized authenticating values and generating a first and second hidden password from the set of personalized authenticating values based on a first and second function. The method includes generating a first encryption key from the first hidden password and a first random number and generating a second encryption key from the second hidden password and a second random number. The method includes encrypting the first encoded share with the first encryption key to produce a first encrypted encoded share and encrypting the second encoded share using the second encryption key to produce a second encrypted encoded share. The method further includes generating first and second encoded data slices based on the first and second encrypted encoded shares and the first and second random numbers.
    Type: Application
    Filed: October 25, 2018
    Publication date: March 14, 2019
    Inventors: Jason K. Resch, Gary W. Grube, S. Christopher Gladwin, Thomas Franklin Shirley, JR., Timothy W. Markison
  • Patent number: 10200156
    Abstract: A processing module of a computing device alternatingly sends a stream of data to a first or second processing device. When receiving the stream of data, the first processing device performs a first portion of a dispersed storage error encoding function on the received stream of data to produce a plurality of sets of a threshold number of slices and writes the plurality of sets of the threshold number of slices into first memory of a dispersed storage network (DSN). When not receiving the stream of data, the first processing device reads the plurality of sets of the threshold number of slices from the first memory, performs a second portion of the dispersed storage error encoding function using the plurality of sets of the threshold number of slices to produce a plurality of sets of redundancy slices, and writes the plurality of sets of redundancy slices into second DSN memory.
    Type: Grant
    Filed: July 18, 2016
    Date of Patent: February 5, 2019
    Assignee: International Business Machines Corporation
    Inventors: S. Christopher Gladwin, Timothy W. Markison, Greg Dhuse, Thomas Franklin Shirley, Jr., Wesley Leggette, Jason K. Resch, Gary W. Grube
  • Patent number: 10193689
    Abstract: A method begins by a processing module applying a share encoding function on data to produce a plurality of encoded shares and generating a plurality of random numbers. The method continues with the processing module obtaining a set of personalized authenticating values regarding user access to the data and generating a plurality of hidden passwords based on the set of personalized authenticating values. The method continues with the processing module generating an encryption key based on a corresponding one of the plurality of hidden passwords and a corresponding one of the plurality of random numbers and encrypting the encoded share utilizing the encryption key to produce an encrypted share for each encoded share of the plurality of encoded shares. The method continues with the processing module facilitating storage of the plurality of random numbers and each of the encrypted shares.
    Type: Grant
    Filed: August 4, 2011
    Date of Patent: January 29, 2019
    Assignee: International Business Machines Corporation
    Inventors: Jason K. Resch, Gary W. Grube, S. Christopher Gladwin, Thomas Franklin Shirley, Jr., Timothy W. Markison
  • Publication number: 20190012233
    Abstract: A computer readable storage medium includes a first memory section that stores operational instructions that, when executed by a computing device of a dispersed storage network (DSN), cause the computing device to, for a first phase of a multiple phase write operation, determine whether to send a write performance threshold number of write requests to storage units. When yes, a second memory section storing operational instructions causes the computing device to, send them to storage units. When no, a third memory section storing operational instructions causes the computing device to determine whether to change the write performance threshold number for a second phase of the multiple write operation. When the write performance threshold number is to be changed, change the write performance threshold number and send the changed write performance threshold number of write commit requests to a second subset of the set of storage units.
    Type: Application
    Filed: September 12, 2018
    Publication date: January 10, 2019
    Inventors: Greg Dhuse, Jason K. Resch, Thomas Franklin Shirley, JR.
  • Patent number: 10162705
    Abstract: A method includes, for a first phase of a multiple phase write operation, determining whether to send a write performance threshold number of write requests to a subset of the set of storage units regarding a write performance threshold number of encoded data slices. The method further includes, when the write performance threshold number of write requests is to be sent, sending them to the subset of the set of storage units. The method further includes, when the write threshold number of favorable responses have been received, determining whether to change the write performance threshold number for a second phase of the multiple write operation. The method further includes, when the write performance threshold number is to be changed, changing the write performance threshold number. The method further includes sending the changed write performance threshold number of write commit requests to a second subset of the set of storage units.
    Type: Grant
    Filed: August 1, 2016
    Date of Patent: December 25, 2018
    Assignee: International Business Machines Corporation
    Inventors: Greg Dhuse, Jason K. Resch, Thomas Franklin Shirley, Jr.
  • Patent number: 10108493
    Abstract: A method includes identifying an encoded data slice for rebuilding. The method further includes determining whether a rebuilding threshold for the set of encoded data slices has been reached. When the rebuilding threshold has been reached, the method further includes determining, based on a condition of the DSN, whether to execute a rebuilding function, to delay execution of the rebuilding function, to adjust a rebuilding network protocol, or to modifying rebuilding criteria. When the determination is to execute the rebuilding function, the method further includes rebuilding the encoded data slice.
    Type: Grant
    Filed: August 22, 2016
    Date of Patent: October 23, 2018
    Assignee: International Business Machines Corporation
    Inventors: Ilya Volvovski, S. Christopher Gladwin, Gary W. Grube, Timothy W. Markison, Jason K. Resch, Thomas Franklin Shirley, Jr., Greg Dhuse, Manish Motwani, Andrew Baptist, Wesley Leggette
  • Patent number: 10102068
    Abstract: A method includes dispersed storage error encoding a data object in accordance with temporary parameters. The method further includes generating a first source name. The method further includes sending, in accordance with the first source name, the first sets of encoded data slices to a first set of storage units for temporary storage therein. When a determination is made to permanently store the data object, the method further includes recovering the data object from the first sets of encoded data slices. The method further includes dispersed storage error encoding the recovered data object in accordance with permanent parameters to produce second sets of encoded data slices. The method further includes generating a second source name. The method further includes sending, in accordance with the second source name, the second sets of encoded data slices to a second set of storage units for permanent storage therein.
    Type: Grant
    Filed: August 1, 2016
    Date of Patent: October 16, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: S. Christopher Gladwin, Timothy W. Markison, Greg Dhuse, Thomas Franklin Shirley, Jr., Wesley Leggette, Jason K. Resch, Gary W. Grube
  • Patent number: 10075523
    Abstract: A method begins by a dispersed storage (DS) processing module receiving data for storage and generating a dispersed storage network (DSN) source name for the data. The method continues with the DS processing module determining whether substantially identical data to the data has been previously stored in memory of the DSN. When the substantially identical data has been previously stored in the memory of the DSN, the method continues with the DS processing module generating an object linking file that links the data to the substantially identical data, dispersed storage error encoding the object linking file to produce a set of encoded link file slices, and outputting the set of encoded link file slices for storage in the memory of the DSN.
    Type: Grant
    Filed: February 4, 2014
    Date of Patent: September 11, 2018
    Assignee: International Business Machines Corporation
    Inventors: Ilya Volvovski, S. Christopher Gladwin, Gary W. Grube, Timothy W. Markison, Jason K. Resch, Thomas Franklin Shirley, Jr., Greg Dhuse, Manish Motwani, Andrew Baptist, Wesley Leggette
  • Patent number: 10049120
    Abstract: A method begins by a requesting entity sending a normal data segment access request to first and second groups of storage units of a dispersed storage network. The method continues with the requesting entity sending a group failure data segment access request to the first group of storage units when the second group of storage units has less than a decode threshold number of encoded data slices of a set of encoded data slices available. When the second group of storage units has reestablished that the at least the decode threshold number of encoded data slices is available, the method continues with the requesting entity sending a re-integration data segment write request to the first and second groups of storage units and sending a re-integration data segment read request to the first group of storage units.
    Type: Grant
    Filed: July 8, 2015
    Date of Patent: August 14, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jason K. Resch, Andrew Baptist, Niall John McShane, Greg Dhuse, Thomas Franklin Shirley, Jr., Gregory Palinckx, Russell Paul Kennedy, S. Christopher Gladwin, Robert Clark McCammon, James Sherer
  • Patent number: 9992019
    Abstract: A method includes affiliating an authentication token with user information of a user. The method further includes generating a private/public key pairing associated with the user information. The method further includes applying a share encoding function on a private key of the private/public key pairing to produce a set of encoded shares. The method further includes generating a set of random numbers and generating a set of hidden passwords based on the user information. The method further includes generating a set of encryption keys based on the set of hidden passwords and the set of random numbers. The method further includes encrypting the set of encoded shares utilizing the set of encryption keys to produce a set of encrypted shares. The method further includes outputting the set of encrypted shares to the authentication token for storage therein and outputting the set of random numbers to a set of authenticating units.
    Type: Grant
    Filed: November 30, 2015
    Date of Patent: June 5, 2018
    Assignee: International Business Machines Corporation
    Inventors: Jason K. Resch, S. Christopher Gladwin, Andrew Baptist, Thomas Franklin Shirley, Jr.
  • Publication number: 20180024887
    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: Application
    Filed: September 15, 2017
    Publication date: January 25, 2018
    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: 9819447
    Abstract: A method includes generating, by execution units, a plurality of sets of a decode threshold number of encoded data slices from data streams. A first execution unit produces a first encoded data slice for each set of the plurality of sets of the decode threshold number of encoded data slices from a first data stream. The method further includes generating, by at least some of the execution units, a plurality of sets of partially encoded data slices from the plurality of a sets of a decode number of encoded data slices. When partially encoded data slices are processed, the processed partially encoded data slices represent redundancy encoded data slices. The decode threshold number of encoded data slices combined with the redundancy encoded data slices forms a full set of encoded data slices. The method further includes sending the partially encoded data slices to other execution units for storage therein.
    Type: Grant
    Filed: February 8, 2016
    Date of Patent: November 14, 2017
    Assignee: International Business Machines Corporation
    Inventors: S. Christopher Gladwin, Timothy W. Markison, Greg Dhuse, Thomas Franklin Shirley, Jr., Wesley Leggette, Jason K. Resch, Gary W. Grube
  • Patent number: 9778987
    Abstract: A method for writing a set of encoded data slices to memory of a dispersed storage network (DSN) begins by a processing module identifying an encoded data slice of the set of encoded data slices for a redundant write operation to produce an identified encoded data slice. The method continues with the processing module generating a set of first write requests regarding the set of encoded data slices less the identified encoded data slice and generating a set of second write requests regarding the identified encoded data slice. The method continues with the processing module sending the set of first write requests to storage units of the DSN and sending 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: December 15, 2014
    Date of Patent: October 3, 2017
    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