  READ transactions that read data distributed across servers dominate the
workloads of real-world distributed storage systems. The SNOW Theorem stated
that ideal READ transactions that have optimal latency and the strongest
guarantees, i.e. "SNOW" READ transactions, are impossible in one specific
setting that requires three or more clients: at least two readers and one
writer. However, it left many open questions. We close all of these open
questions with new impossibility results and new algorithms. First, we prove
rigorously the result from the The SNOW Theorem paper saying that it is
impossible to have a READ transactions system that satisfies SNOW properties
with three or more clients. The insight we gained from this proof led to
teasing out the implicit assumptions that are required to state the results and
also, resolving the open question regarding the possibility of SNOW with two
clients. We show that it is possible to design an algorithm, where SNOW is
possible in a multi-writer, single-reader (MWSR) setting when a client can send
messages to other clients; on the other hand, we prove it is impossible to
implement SNOW in a multi-writer, single-reader (MWSR) setting, which is more
general than the two-client setting, when client-to-client communication is
disallowed. We also correct the previous claim in The SNOW Theorem paper that
incorrectly identified one existing system, Eiger, as supporting the strongest
guarantees (SW) and whose read-only transactions had bounded latency. Thus,
there were no previous algorithms that provided the strongest guarantees and
had bounded latency. Finally, we introduce the first two algorithms to provide
the strongest guarantees with bounded latency.
