1460949679-f64efcf5-626e-4c5d-8ddb-e0267c2b2997

1. A polythiol composition comprising polythiol molecules having the structures:
2. The composition of claim 1, further comprising a polythiol molecule having the structure:
3. The composition of claim 1, wherein polythiol molecules having at least three SH groups have:
an average thiol sulfur to sulfide sulfur molar ratio in a range from 2:1 to 1000:1;
an average of from 0.1 mole % to 33 mole % sulfide sulfur, based on the total sulfur of polythiol molecules having at least three SH groups;
an average of from 67 mole % to 99 mole % thiol sulfur, based on the total sulfur of polythiol molecules having at least three SH groups;
a mercaptan equivalent weight in a range from 118 to 190 geq; or
any combination thereof.
4. The composition of claim 1, wherein polythiol molecules having at least three SH groups have:
an average thiol sulfur to sulfide sulfur molar ratio in a range from 3:1 to 50:1;
an average of from 2 mole % to 20 mole % sulfide sulfur, based on the total sulfur of polythiol molecules having at least three SH groups;
an average of from 75 mole % to 98 mole % thiol sulfur, based on the total sulfur of polythiol molecules having at least three SH groups;
a mercaptan equivalent weight in a range from 120 to 140 geq; or
any combination thereof.
5. An adhesive comprising the polythiol composition of claim 1.
6. (canceled)
7. The composition of claim 1, wherein the composition is produced by a process comprising:
1) contacting:
a) 1,3,5-triallylisocyanurate;
b) H2S; and
c) a phosphite compound; and

2) forming the polythiol composition;

wherein a molar ratio of H2S to carbon-carbon double bonds of 1,3,5-triallylisocyanurate is in a range from 5:1 to 500:1.
8. The composition of claim 7, wherein the phosphite compound comprises a compound having the formula:
P(OR1)3;
wherein each R1 is independently a C1-C10 hydrocarbyl group.
9. The composition of claim 7, wherein:
the molar ratio of H2S to carbon-carbon double bonds of 1,3,5-triallylisocyanurate is in a range from 15:1 to 150:1; and
a molar ratio of the phosphite compound to carbon-carbon double bonds of the unsaturated compound is in a range from 0.0005:1 to 0.10:1.
10. The composition of claim 7, wherein the polythiol composition is formed in the presence of ultraviolet light.
11. The composition of claim 7, wherein the polythiol composition is formed in the presence of ultraviolet light and a photoinitiator, wherein the photoinitiator is present at an amount in a range from 0.05 to 5 wt. %, based on the weight of 1,3,5-triallylisocyanurate.
12. The composition of claim 7, wherein the polythiol composition is formed in the presence of a hydrocarbon solvent, an aromatic hydrocarbon solvent, a ketone solvent, an alcohol solvent, an ether solvent, or any combination thereof.
13. The composition of claim 7, wherein the process further comprises a step of removing at least a portion of the H2S, of the phosphite compound, of 1,3,5-triallylisocyanurate, of compounds having two or less sulfur atoms, or combinations thereof, from the polythiol composition.
14. The composition of claim 13, wherein the H2S, the phosphite compound, 1,3,5-triallylisocyanurate, the compounds having two or less sulfur atoms, or combinations thereof, are removed by wiped film evaporation, distillation, short path distillation, or a combination thereof.
15. A polythiol composition comprising polythiol molecules having the structures:
16. The composition of claim 15, further comprising:
17. The composition of claim 15, wherein polythiol molecules having at least three SH groups have:
an average thiol sulfur to sulfide sulfur molar ratio in a range from 2:1 to 1000:1;
an average of from 0.1 mole % to 33 mole % sulfide sulfur, based on the total sulfur of polythiol molecules having at least three SH groups;
an average of from 67 mole % to 99 mole % thiol sulfur, based on the total sulfur of polythiol molecules having at least three SH groups;
a mercaptan equivalent weight in a range from 120 to 190 geq; or
any combination thereof.
18. The composition of claim 15, wherein polythiol molecules having at least three SH groups have:
an average thiol sulfur to sulfide sulfur molar ratio in a range from 3:1 to 50:1;
an average of from 2 mole % to 20 mole % sulfide sulfur, based on the total sulfur of polythiol molecules having at least three SH groups;
an average of from 75 mole % to 98 mole % thiol sulfur, based on the total sulfur of polythiol molecules having at least three SH groups;
a mercaptan equivalent weight in a range from 122 to 140 geq; or
any combination thereof.
19. An adhesive comprising the polythiol composition of claim 15.
20. The composition of claim 15, wherein the composition is produced by a process comprising:
1) contacting:
a) pentaerythritol triallyl ether;
b) H2S; and
c) a phosphite compound; and

2) forming the polythiol composition;

wherein a molar ratio of H2S to carbon-carbon double bonds of pentaerythritol triallyl ether is in a range from 5:1 to 500:1.
21. A polythiol composition comprising polythiol molecules having the formulas:
wherein R is a C1-C18 hydrocarbyl group.
22. The composition of claim 21, further comprising polythiol molecules having the formula:
wherein R is a C1-C18 hydrocarbyl group.
23. The composition of claim 21, wherein R is an ethyl group.
24. The composition of claim 23, wherein polythiol molecules having at least two SH groups have:
an average thiol sulfur to sulfide sulfur molar ratio in a range from 1:1.5 to 1000:1;
an average of from 0.1 mole % to 60 mole % sulfide sulfur, based on the total sulfur of polythiol molecules having at least two SH groups;
an average of from 40 mole % to 99 mole % thiol sulfur, based on the total sulfur of polythiol molecules having at least two SH groups;
a mercaptan equivalent weight in a range from 142 to 350 geq; or
any combination thereof.
25. The composition of claim 23, wherein polythiol molecules having at least two SH groups have:
an average thiol sulfur to sulfide sulfur molar ratio in a range from 2:1 to 50:1;
an average of from 5 mole % to 30 mole % sulfide sulfur, based on the total sulfur of polythiol molecules having at least two SH groups;
an average of from 70 mole % to 97 mole % thiol sulfur, based on the total sulfur of polythiol molecules having at least two SH groups;
a mercaptan equivalent weight in a range from 145 to 165 geq; or
any combination thereof.
26. An adhesive comprising the polythiol composition of claim 23.
27. The composition of claim 21, wherein the composition is produced by a process comprising:
1) contacting a compound having the formula:
a)
wherein R is a C1-C18 hydrocarbyl group;

b) H2S; and
c) a phosphite compound; and

2) forming the polythiol composition;

wherein a molar ratio of H2S to carbon-carbon double bonds of the compound having formula (IV) is in a range from 5:1 to 500:1.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:
initiating replay of data transactions in a data storage application;
loading pages of a log segment directory into memory, the log segment directory characterizing metadata for a plurality of log segments;
removing redundant pages within the log segment directory;
determining, based on the log segment directory, which log segments need to be accessed; and
accessing the log segments that need to be accessed to execute the log replay.
2. A computer program product as in claim 1, wherein the metadata for each log segment comprises: a log sequence number of a first entry and a last entry in the log segment, and a current state of the log segment.
3. A computer program product as in claim 1, wherein the log segment directory is divided into fixed-sized pages.
4. A computer program product as in claim 1, wherein each page of the log segment directory comprises an index of a first log segment addressed by the page, a page generation value, and a checksum value, and a fixed number of log segment metadata.
5. A computer program product as in claim 4, wherein the removal of the redundant pages within the log segment directory comprises: removing pages having a same index as another page and correct checksum value but with a lower page generation value.
6. A computer program product as in claim 5, wherein the removal of the redundant pages within the log segment directory comprises: removing pages having an incorrect checksum value.
7. A computer program product as in claim 1, wherein physical locations on secondary storage of the removed redundant pages are put to a free list data structure used to track free physical pages on secondary storage.
8. A computer program product as in claim 4, wherein the operations further comprise: modifying a metadata entry for a particular log segment.
9. A computer program product as in claim 8, wherein the modifying of the metadata entry for the log segment comprises:
modifying metadata of the log segment in memory;
increasing, in response to the modifying, a value for a current page generation counter;
setting the page generation value for the log segment to the current generation counter value;
assigning a new physical secondary storage location for a new page for the log segment to a physical secondary storage position taken from a free list data structure;
computing a new checksum for the log segment;
writing the modified page to the new physical secondary storage location; and
adding a previous physical secondary storage location for an old page for the log segment to the free list data structure.
10. A computer program product as in claim 8, wherein the metadata is modified in response to a request to execute an operation selected from a group consisting of:
closing a log segment, opening a new log segment, setting a log segment backup flag, and marking a log segment as free.
11. A method comprising:
initiating replay of data transactions in a data storage application;
loading pages of a log segment directory into memory, the log segment directory characterizing metadata for a plurality of log segments;
removing redundant pages within the log segment directory;
determining, based on the log segment directory, which log segments need to be accessed; and
accessing the log segments that need to be accessed to execute the log replay.
12. A method as in claim 11, wherein the metadata for each log segment comprises: a log sequence number of a first entry and a last entry in the log segment, and a current state of the log segment.
13. A method as in claim 11, wherein the log segment directory is divided into fixed-sized pages.
14. A method as in claim 11, wherein each page of the log segment directory comprises an index of a first log segment addressed by the page, a page generation value, and a checksum value, and a fixed number of log segment metadata.
15. A method as in claim 14, wherein the removal of the redundant pages within the log segment directory comprises: removing pages having a same index as another page and correct checksum value but with a lower page generation value.
16. A method as in claim 15, wherein the removal of the redundant pages within the log segment directory comprises: removing pages having an incorrect checksum value.
17. A method as in claim 11, wherein physical locations on secondary storage of the removed redundant pages are put to a free list data structure used to track free physical pages on secondary storage.
18. A method as in claim 14, further comprising: modifying a metadata entry for a particular log segment; wherein the metadata is modified in response to a request to execute an operation selected from a group consisting of: closing a log segment, opening a new log segment, setting a log segment backup flag, and marking a log segment as free.
19. A method as in claim 18, wherein the modifying of the metadata entry for the log segment comprises:
modifying metadata of the log segment in memory;
increasing, in response to the modifying, a value for a current page generation counter;
setting the page generation value for the log segment to the current generation counter value;
assigning a new physical secondary storage location for a new page for the log segment to a physical secondary storage position taken from a free list data structure;
computing a new checksum for the log segment;
writing the modified page to the new physical secondary storage location; and
adding a previous physical secondary storage location for an old page for the log segment to the free list data structure.
20. A computer program product comprising a non-transitory machine-readable media storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:
loading pages of a log segment directory into memory, the log segment directory comprising metadata for a plurality of log segments, wherein each page of the log segment directory comprises an index of a first log segment addressed by the page, a page generation value, a checksum value and a fixed number of log segment metadata;
modifying metadata of a first log segment in memory;
increasing, in response to the modifying, a value for a current page generation counter for the first log segment;
setting the page generation value for the log segment to the current generation counter value;
assigning a new physical secondary storage location for a new page for the log segment to a physical secondary storage position taken from a free list data structure;
computing a new checksum for the log segment;
writing the modified page to the new physical secondary storage location; and
adding a previous physical secondary storage location for a shadow an old page for the log segment to the free list data structure.