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: 20210367932Abstract: 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: ApplicationFiled: July 20, 2021Publication date: November 25, 2021Inventors: 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: 11101929Abstract: 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: GrantFiled: February 12, 2020Date of Patent: August 24, 2021Assignee: 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: 11036584Abstract: 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: GrantFiled: July 30, 2019Date of Patent: June 15, 2021Assignee: Pure Storage, Inc.Inventors: Greg Dhuse, Jason K. Resch, Thomas Franklin Shirley, Jr.
-
Patent number: 10574395Abstract: 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: GrantFiled: January 4, 2019Date of Patent: February 25, 2020Assignee: 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: 10402269Abstract: 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: GrantFiled: September 12, 2018Date of Patent: September 3, 2019Assignee: PURE STORAGE, INC.Inventors: Greg Dhuse, Jason K. Resch, Thomas Franklin Shirley, Jr.
-
Publication number: 20190140777Abstract: 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: ApplicationFiled: January 4, 2019Publication date: May 9, 2019Inventors: S. Christopher Gladwin, Timothy W. Markison, Greg Dhuse, Thomas Franklin Shirley, JR., Wesley Leggette, Jason K. Resch, Gary W. Grube
-
Patent number: 10275313Abstract: 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: GrantFiled: September 15, 2017Date of Patent: April 30, 2019Assignee: International Business Machines CorporationInventors: 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: 20190081781Abstract: 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: ApplicationFiled: October 25, 2018Publication date: March 14, 2019Inventors: Jason K. Resch, Gary W. Grube, S. Christopher Gladwin, Thomas Franklin Shirley, JR., Timothy W. Markison
-
Patent number: 10200156Abstract: 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: GrantFiled: July 18, 2016Date of Patent: February 5, 2019Assignee: International Business Machines CorporationInventors: S. Christopher Gladwin, Timothy W. Markison, Greg Dhuse, Thomas Franklin Shirley, Jr., Wesley Leggette, Jason K. Resch, Gary W. Grube
-
Patent number: 10193689Abstract: 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: GrantFiled: August 4, 2011Date of Patent: January 29, 2019Assignee: International Business Machines CorporationInventors: Jason K. Resch, Gary W. Grube, S. Christopher Gladwin, Thomas Franklin Shirley, Jr., Timothy W. Markison
-
Publication number: 20190012233Abstract: 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: ApplicationFiled: September 12, 2018Publication date: January 10, 2019Inventors: Greg Dhuse, Jason K. Resch, Thomas Franklin Shirley, JR.
-
Patent number: 10162705Abstract: 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: GrantFiled: August 1, 2016Date of Patent: December 25, 2018Assignee: International Business Machines CorporationInventors: Greg Dhuse, Jason K. Resch, Thomas Franklin Shirley, Jr.
-
Patent number: 10108493Abstract: 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: GrantFiled: August 22, 2016Date of Patent: October 23, 2018Assignee: International Business Machines CorporationInventors: 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: 10102068Abstract: 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: GrantFiled: August 1, 2016Date of Patent: October 16, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: S. Christopher Gladwin, Timothy W. Markison, Greg Dhuse, Thomas Franklin Shirley, Jr., Wesley Leggette, Jason K. Resch, Gary W. Grube
-
Patent number: 10075523Abstract: 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: GrantFiled: February 4, 2014Date of Patent: September 11, 2018Assignee: International Business Machines CorporationInventors: 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: 10049120Abstract: 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: GrantFiled: July 8, 2015Date of Patent: August 14, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: 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: 9992019Abstract: 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: GrantFiled: November 30, 2015Date of Patent: June 5, 2018Assignee: International Business Machines CorporationInventors: Jason K. Resch, S. Christopher Gladwin, Andrew Baptist, Thomas Franklin Shirley, Jr.
-
Publication number: 20180024887Abstract: 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: ApplicationFiled: September 15, 2017Publication date: January 25, 2018Inventors: 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: 9819447Abstract: 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: GrantFiled: February 8, 2016Date of Patent: November 14, 2017Assignee: International Business Machines CorporationInventors: S. Christopher Gladwin, Timothy W. Markison, Greg Dhuse, Thomas Franklin Shirley, Jr., Wesley Leggette, Jason K. Resch, Gary W. Grube
-
Patent number: 9778987Abstract: 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: GrantFiled: December 15, 2014Date of Patent: October 3, 2017Assignee: International Business Machines CorporationInventors: 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