Indicating multiple encoding schemes in a dispersed storage network
First Claim
1. A method for execution by a dispersed storage and task (DST) processing unit that includes a processor, the method comprises:
- transmitting via a network a first write request that includes at least one first encoded data slice of a first data object, and an original first slice identifier corresponding to the at least one first encoded data slice, wherein the at least one first encoded data slice is encoded under a first encoding scheme, and wherein the at least one first encoded data slice is assigned to at least one first memory location of a distributed storage network (DSN) based on the original first slice identifier;
transmitting via the network a second write request that includes at least one second encoded data slice of the first data object, and a second slice identifier corresponding to the at least one second encoded data slice, wherein the at least one second encoded data slice is encoded under a second encoding scheme, and wherein the at least one second encoded data slice is assigned to at least one second memory location of the DSN based on the second slice identifier;
receiving via the network a first access request to access the first data object;
generating a derived second slice identifier in response to determining that the first data object requested for access is stored under multiple encoding schemes;
transmitting via the network a first read request that includes the derived second slice identifier to access the at least one second encoded data slice;
generating a new first object identifier to indicate the first data object utilizing a reversible function on the original first object identifier, by;
generating the first slice identifier based on the original first object identifier;
generating a derived original first object identifier by utilizing an inverse function of the reversible function on the new first object identifier; and
generating a derived first slice identifier based on the derived original first object identifier;
wherein the derived second slice identifier is generated by performing a deterministic function on the first slice identifier; and
wherein the reversible function includes multiplying the original first object identifier by a large prime number to generate the new first object identifier, and wherein determining that the first data object is stored under multiple encoding schemes includes determining that a quotient of a division of the new first object identifier by the large prime number is an integer, and wherein the derived original first object identifier is based on the quotient; and
replacing an original first object identifier that identifies the first data object with the new first object identifier.
2 Assignments
0 Petitions
Accused Products
Abstract
A method includes transmitting a first write request that includes a first encoded data slice of a first data object encoded under a first encoding scheme, and a first slice identifier corresponding to the first encoded data slice assigned to a first memory location of a distributed storage network (DSN) based on the first slice identifier. A second write request that includes a second encoded data slice of the first data object encoded under a second encoding scheme, and a second slice identifier corresponding to the second encoded data slice, is transmitted, and the second encoded data slice is assigned to a second memory location of the DSN based on the second slice identifier. A request to access the first data object is received. A derived second slice identifier is generated in response to determining that the first data object requested for access is stored under multiple encoding schemes.
-
Citations
14 Claims
-
1. A method for execution by a dispersed storage and task (DST) processing unit that includes a processor, the method comprises:
-
transmitting via a network a first write request that includes at least one first encoded data slice of a first data object, and an original first slice identifier corresponding to the at least one first encoded data slice, wherein the at least one first encoded data slice is encoded under a first encoding scheme, and wherein the at least one first encoded data slice is assigned to at least one first memory location of a distributed storage network (DSN) based on the original first slice identifier; transmitting via the network a second write request that includes at least one second encoded data slice of the first data object, and a second slice identifier corresponding to the at least one second encoded data slice, wherein the at least one second encoded data slice is encoded under a second encoding scheme, and wherein the at least one second encoded data slice is assigned to at least one second memory location of the DSN based on the second slice identifier; receiving via the network a first access request to access the first data object; generating a derived second slice identifier in response to determining that the first data object requested for access is stored under multiple encoding schemes; transmitting via the network a first read request that includes the derived second slice identifier to access the at least one second encoded data slice; generating a new first object identifier to indicate the first data object utilizing a reversible function on the original first object identifier, by; generating the first slice identifier based on the original first object identifier; generating a derived original first object identifier by utilizing an inverse function of the reversible function on the new first object identifier; and generating a derived first slice identifier based on the derived original first object identifier; wherein the derived second slice identifier is generated by performing a deterministic function on the first slice identifier; and wherein the reversible function includes multiplying the original first object identifier by a large prime number to generate the new first object identifier, and wherein determining that the first data object is stored under multiple encoding schemes includes determining that a quotient of a division of the new first object identifier by the large prime number is an integer, and wherein the derived original first object identifier is based on the quotient; and replacing an original first object identifier that identifies the first data object with the new first object identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A processing system of a dispersed storage and task (DST) processing unit comprises:
-
at least one processor; a memory that stores operational instructions, that when executed by the at least one processor cause the processing system to; transmit via a network a first write request that includes at least one first encoded data slice of a first data object, and an original first slice identifier corresponding to the at least one first encoded data slice, wherein the at least one first encoded data slice is encoded under a first encoding scheme, and wherein the at least one first encoded data slice is assigned to at least one first memory location of a distributed storage network (DSN) based on the original first slice identifier; transmit via the network a second write request that includes at least one second encoded data slice of the first data object, and a second slice identifier corresponding to the at least one second encoded data slice, wherein the at least one second encoded data slice is encoded under a second encoding scheme, and wherein the at least one second encoded data slice is assigned to at least one second memory location of the DSN based on the second slice identifier; receive via the network an first access request to access the first data object; generate a derived second slice identifier in response to determining that the first data object requested for access is stored under multiple encoding schemes; transmit via the network a first read request that includes the derived second slice identifier to access the at least one second encoded data slice; generate a new first object identifier to indicate the first data object utilizing a reversible function on the original first object identifier, by; generating the first slice identifier based on the original first object identifier; generating a derived original first object identifier by utilizing an inverse function of the reversible function on the new first object identifier; and generating a derived first slice identifier based on the derived original first object identifier; wherein the derived second slice identifier is generated by performing a deterministic function on the first slice identifier; and wherein the reversible function includes multiplying the original first object identifier by a large prime number to generate the new first object identifier, and wherein determining that the first data object is stored under multiple encoding schemes includes determining that a quotient of a division of the new first object identifier by the large prime number is an integer, and wherein the derived original first object identifier is based on the quotient; and replace an original first object identifier that identifies the first data object with the new first object identifier. - View Dependent Claims (11, 12, 13)
-
-
14. A non-transitory computer readable storage medium comprises:
at least one memory section that stores operational instructions that, when executed by a processing system of a dispersed storage network (DSN) that includes a processor and a memory, causes the processing system to; transmit via a network a first write request that includes at least one first encoded data slice of a first data object, and an original first slice identifier corresponding to the at least one first encoded data slice, wherein the at least one first encoded data slice is encoded under a first encoding scheme, and wherein the at least one first encoded data slice is assigned to at least one first memory location of the DSN based on the original first slice identifier; transmit via the network a second write request that includes at least one second encoded data slice of the first data object, and a second slice identifier corresponding to the at least one second encoded data slice, wherein the at least one second encoded data slice is encoded under a second encoding scheme, and wherein the at least one second encoded data slice is assigned to at least one second memory location of the DSN based on the second slice identifier; receive via the network a first access request to access the first data object; generate a derived second slice identifier in response to determining that the first data object requested for access is stored under multiple encoding schemes; transmit via the network a first read request that includes the derived second slice identifier to access the at least one second encoded data slice; generate a new first object identifier to indicate the first data object utilizing a reversible function on the original first object identifier, by; generating the first slice identifier based on the original first object identifier; generating a derived original first object identifier by utilizing an inverse function of the reversible function on the new first object identifier; and generating a derived first slice identifier based on the derived original first object identifier; wherein the derived second slice identifier is generated by performing a deterministic function on the first slice identifier; and wherein the reversible function includes multiplying the original first object identifier by a large prime number to generate the new first object identifier, and wherein determining that the first data object is stored under multiple encoding schemes includes determining that a quotient of a division of the new first object identifier by the large prime number is an integer, and wherein the derived original first object identifier is based on the quotient; and replace an original first object identifier that identifies the first data object with the new first object identifier.
Specification