clearified UUID
This commit is contained in:
parent
0d4d02376e
commit
277677ea4b
1 changed files with 11 additions and 37 deletions
48
report.lyx
48
report.lyx
|
@ -2949,9 +2949,9 @@ Inside the GGS everything needs a unique identifier.
|
|||
When players communicate amongst each other or with tables, they need to
|
||||
be able to uniquely identify all of these resources.
|
||||
Within one machine, this is mostly not a problem.
|
||||
A simple system with a counter can be imagined, where each request for
|
||||
a new ID increments the previous identifier and returns the new identifier
|
||||
based on the old one; see algorithm
|
||||
A simple systems a counter can be imagined, where each request for a new
|
||||
ID increments the previous identifier and returns the new identifier based
|
||||
on the old one; see algorithm
|
||||
\begin_inset CommandInset ref
|
||||
LatexCommand ref
|
||||
reference "alg:A-simple-generator"
|
||||
|
@ -2974,8 +2974,8 @@ reference "alg:A-simple-generator"
|
|||
\begin_layout Standard
|
||||
The obvious solution to this problem is to ensure mutual exclusion by using
|
||||
some sort of a lock, which may work well in many concurrent systems.
|
||||
In a distributed system, like the GGS, this lock, along with the state,
|
||||
would have to be distributed.
|
||||
In a distributed system like the GGS however, this lock, along with the
|
||||
state, would have to be distributed.
|
||||
If the lock is not distributed, no guaranties can be made that two nodes
|
||||
in the distributed system do not generate the same identifier.
|
||||
\end_layout
|
||||
|
@ -3029,31 +3029,19 @@ Ds generated until 3400 A.D.
|
|||
|
||||
\begin_layout Standard
|
||||
The generation of a UUID is accomplished by gathering several different
|
||||
sources of information, such as: time, MAC addresses of network cards,
|
||||
and operating system data, such as percentage of memory in use, mouse cursor
|
||||
sources of information, such as: time, MAC addresses of network cards;
|
||||
and operating system data such as; percentage of memory in use, mouse cursor
|
||||
position and process IDs.
|
||||
The gathered data is then
|
||||
\emph on
|
||||
hashed
|
||||
\emph default
|
||||
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
using an algorithm such as SHA-1.
|
||||
using an algorithm such as SHA-1.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
When using system wide unique identifiers, such as the ones generated by
|
||||
algorithm
|
||||
\begin_inset CommandInset ref
|
||||
LatexCommand ref
|
||||
reference "alg:A-simple-generator"
|
||||
|
||||
\end_inset
|
||||
|
||||
with mutual exclusion, it is extremly unlikely to have identifier collisions
|
||||
when recovering from network splits between the GGS clusters.
|
||||
When using system wide unique identifiers it is extremly unlikely to have
|
||||
identifier collisions when recovering from network splits between GGS clusters.
|
||||
Consider figure
|
||||
\begin_inset CommandInset ref
|
||||
LatexCommand ref
|
||||
|
@ -3082,7 +3070,7 @@ reference "alg:A-simple-generator"
|
|||
|
||||
\end_inset
|
||||
|
||||
, even when mutual system-wide exclusion is implemented.
|
||||
, even when mutual system-wide exclusion was implemented.
|
||||
This is exactly the problem UUIDs solve.
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
@ -3148,20 +3136,6 @@ end{centering}
|
|||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
\begin_inset Note Note
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
Add clients on each side, and replace the cloud with pole-landlines being
|
||||
cut by a pair of scissors
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue