If someone can help my confused thinking …
What is meant by “keep some keys in memory…” in the statement below?
“KGS can always keep some keys in memory so that it can quickly provide them whenever a server needs them.”
Then this suggestion in the very next passage … how does the above and the below work together or are they two separate approaches?
“For simplicity, as soon as KGS loads some keys in memory, it can move them to the used keys table”
Also, the KGS section has been talking about tables yet mentions data structures in the passage below. Can anyone explain what DS is involved?
“KGS also has to make sure not to give the same key to multiple servers. For that, it must synchronize (or get a lock on) the data structure holding the keys before removing keys from it and giving them to a server”
Finally, although duplicate KGS keys are unlikely, collisions can happen. With a two table approach, will KGS need to check for collisions on both tables before generating new keys?
Thank you!