12
Sincronizarea ceasurilor - algorimul lui Cristian 1. Desc rierea prob lemei  Algoritmul de sincronizare a ceasurilor este utilizat pentru a ajusta timpul de pe o masina  locala cu timpul unui server. Problema sincronizarii ceasurilor se pune deoarece timpul local  aflate pe un calculator s-ar putea sa difere fata de timpul aflat pe un alt calculator. Chiar  daca initial diferite calculatoare au fost setate cu acelasi timp, in realitate timpul local tinde  sa difere datorita abaterilor de ceas care au loc pe diferite instante. Acest fenomen este o  cumulare de facto ri diversi, prin tre care putem enumera diferenta de volta j dint re diverse  surse ale calculatoarelor, temperatura ambianta, gradul de utilizare al unui calculator etc.  Acesta problema este importanta in analiza ordinii produceri i evenimentelor. Spre  exemplu, avand doua evenimente, a si b, cu conditia ca evenimentul b sa se produca dupa  evenimentul a, este important sa stim exact cand evenimentul a si-a incheiat executia astfel  incat evenimentul b sa poata sa inceapa. 2. Idei de rezo lvar e  Algoritmul lui Cristian (creat de inginerul roman Flaviu Cristian) rezolva problema  deviatiei ceas urilor localizate pe calc ulat oare diferite folo sind timpul unui serv er. Aces t  server isi mentine ora exact utilizand o sursa de incredere, iar timpul de pe acest server va fi  folosind ca timp de referinta. Un calculator isi va ajusta timpul facand un apel catre aces  server. 3. Alg ori tm a. Descr ier e Desc rier ea algo ritmului lui Cris tian este urma toare a: un proces p face un request la  ser ver int ru-un mesaj mr si pri meste timpul ace stu ia t int r-un al t mes aj mt; timpul t est e  introdus in mesaj chiar inainte de plecarea acestuia de la serverul S. Instanta locala (cea  care face request la server) ajusteaza apoi acest timp primit ca raspuns cu valoarea timpului  care a trecut intre momentul in care a solicitat ajustarea timpului si momentul in care a primit  raspuns. b. Pseudo cod c. Exemplu de apli care Presupunand ca avem un server de timp cu ora exacta. O instanta locala P va face un  request la momentul T0, serverul S va procesa mesajul si va trimite inapoi un raspuns cu  timpul t, care va ajunge la P in momentul T 1. Atunci cand P va primi raspunsul, trebuie sa isi  set eze timpul local cu valoarea pri mit a ca raspu ns t la care se adauga timpul necesar  transimiterii mesajului, adica (T 0 + T1) / 2 . d. Core ctitudine Corectitudinea rezolvarii problemei depinde de timpul necesar serverului pentru a trimite  raspunsul. Considerand Tmin  ca fiind timpul minim de transmitere a mesajului intr-o directie,  P primeste raspunsul de la S intr-un interval de forma: [ t + T min, t + (T 0  + T1) / 2 - min ],  adica ± ((T0 + T1) / 4 - min). e. Anal iza comp lexi tatii f. Imp lemen tar e

Cloccckkk Sync

Embed Size (px)

DESCRIPTION

Clock synchronization using Christian's algorithm

Citation preview

7/21/2019 Cloccckkk Sync

http://slidepdf.com/reader/full/cloccckkk-sync 1/12

Sincronizarea ceasurilor - algorimul lui Cristian

1. Descrierea problemei

Algoritmul de sincronizare a ceasurilor este utilizat pentru a ajusta timpul de pe o masina

locala cu timpul unui server. Problema sincronizarii ceasurilor se pune deoarece timpul local

aflate pe un calculator s-ar putea sa difere fata de timpul aflat pe un alt calculator. Chiar

daca initial diferite calculatoare au fost setate cu acelasi timp, in realitate timpul local tinde

sa difere datorita abaterilor de ceas care au loc pe diferite instante. Acest fenomen este o

cumulare de factori diversi, printre care putem enumera diferenta de voltaj dintre diverse

surse ale calculatoarelor, temperatura ambianta, gradul de utilizare al unui calculator etc.

Acesta problema este importanta in analiza ordinii producerii evenimentelor. Spre

exemplu, avand doua evenimente, a si b, cu conditia ca evenimentul b sa se produca dupa

evenimentul a, este important sa stim exact cand evenimentul a si-a incheiat executia astfel

incat evenimentul b sa poata sa inceapa.

2. Idei de rezolvare

Algoritmul lui Cristian (creat de inginerul roman Flaviu Cristian) rezolva problema

deviatiei ceasurilor localizate pe calculatoare diferite folosind timpul unui server. Acest

server isi mentine ora exact utilizand o sursa de incredere, iar timpul de pe acest server va fi

folosind ca timp de referinta. Un calculator isi va ajusta timpul facand un apel catre aces

server.

3. Algoritm

a. Descriere

Descrierea algoritmului lui Cristian este urmatoarea: un proces p face un request la

server intru-un mesaj mr si primeste timpul acestuia t intr-un alt mesaj mt; timpul t este

introdus in mesaj chiar inainte de plecarea acestuia de la serverul S. Instanta locala (cea

care face request la server) ajusteaza apoi acest timp primit ca raspuns cu valoarea timpului

care a trecut intre momentul in care a solicitat ajustarea timpului si momentul in care a primit

raspuns.

b. Pseudocod

c. Exemplu de aplicare

Presupunand ca avem un server de timp cu ora exacta. O instanta locala P va face un

request la momentul T0, serverul S va procesa mesajul si va trimite inapoi un raspuns cu

timpul t, care va ajunge la P in momentul T1. Atunci cand P va primi raspunsul, trebuie sa isi

seteze timpul local cu valoarea primita ca raspuns t la care se adauga timpul necesar

transimiterii mesajului, adica (T0 + T1) / 2 .

d. Corectitudine

Corectitudinea rezolvarii problemei depinde de timpul necesar serverului pentru a trimite

raspunsul. Considerand Tmin ca fiind timpul minim de transmitere a mesajului intr-o directie,

P primeste raspunsul de la S intr-un interval de forma: [ t + Tmin, t + (T0 + T1) / 2 - min ],

adica ± ((T0 + T1) / 4 - min).

e. Analiza complexitatii

f. Implementare

7/21/2019 Cloccckkk Sync

http://slidepdf.com/reader/full/cloccckkk-sync 2/12

g. Testare

4. Concluzii

Sincronizarea ceasurilor - algorimul lui Cristian

4. Descrierea problemei

Algoritmul de sincronizare a ceasurilor este utilizat pentru a ajusta timpul de pe o masina

locala cu timpul unui server. Problema sincronizarii ceasurilor se pune deoarece timpul local

aflate pe un calculator s-ar putea sa difere fata de timpul aflat pe un alt calculator. Chiar

daca initial diferite calculatoare au fost setate cu acelasi timp, in realitate timpul local tinde

sa difere datorita abaterilor de ceas care au loc pe diferite instante. Acest fenomen este o

cumulare de factori diversi, printre care putem enumera diferenta de voltaj dintre diverse

surse ale calculatoarelor, temperatura ambianta, gradul de utilizare al unui calculator etc.

Acesta problema este importanta in analiza ordinii producerii evenimentelor. Spre

exemplu, avand doua evenimente, a si b, cu conditia ca evenimentul b sa se produca dupa

evenimentul a, este important sa stim exact cand evenimentul a si-a incheiat executia astfel

incat evenimentul b sa poata sa inceapa.

5. Idei de rezolvare

Algoritmul lui Cristian (creat de inginerul roman Flaviu Cristian) rezolva problema

deviatiei ceasurilor localizate pe calculatoare diferite folosind timpul unui server. Acest

server isi mentine ora exact utilizand o sursa de incredere, iar timpul de pe acest server va fi

folosind ca timp de referinta. Un calculator isi va ajusta timpul facand un apel catre aces

server.

6. Algoritm

h. Descriere

Descrierea algoritmului lui Cristian este urmatoarea: un proces p face un request la

server intru-un mesaj mr si primeste timpul acestuia t intr-un alt mesaj mt; timpul t este

introdus in mesaj chiar inainte de plecarea acestuia de la serverul S. Instanta locala (cea

care face request la server) ajusteaza apoi acest timp primit ca raspuns cu valoarea timpului

care a trecut intre momentul in care a solicitat ajustarea timpului si momentul in care a primit

raspuns.

i. Pseudocod

j. Exemplu de aplicare

Presupunand ca avem un server de timp cu ora exacta. O instanta locala P va face un

request la momentul T0, serverul S va procesa mesajul si va trimite inapoi un raspuns cu

timpul t, care va ajunge la P in momentul T1. Atunci cand P va primi raspunsul, trebuie sa isi

seteze timpul local cu valoarea primita ca raspuns t la care se adauga timpul necesar

transimiterii mesajului, adica (T0 + T1) / 2 .

k. Corectitudine

Corectitudinea rezolvarii problemei depinde de timpul necesar serverului pentru a trimite raspunsul. Considerand Tmin ca fiind timpul minim de transmitere a mesajului intr-o directie,

7/21/2019 Cloccckkk Sync

http://slidepdf.com/reader/full/cloccckkk-sync 3/12

7/21/2019 Cloccckkk Sync

http://slidepdf.com/reader/full/cloccckkk-sync 4/12

q. Exemplu de aplicare

Presupunand ca avem un server de timp cu ora exacta. O instanta locala P va face un

request la momentul T0, serverul S va procesa mesajul si va trimite inapoi un raspuns cu

timpul t, care va ajunge la P in momentul T1. Atunci cand P va primi raspunsul, trebuie sa isi

seteze timpul local cu valoarea primita ca raspuns t la care se adauga timpul necesar

transimiterii mesajului, adica (T0 + T1) / 2 .

r. Corectitudine

Corectitudinea rezolvarii problemei depinde de timpul necesar serverului pentru a trimite

raspunsul. Considerand Tmin ca fiind timpul minim de transmitere a mesajului intr-o directie,

P primeste raspunsul de la S intr-un interval de forma: [ t + Tmin, t + (T0 + T1) / 2 - min ],

adica ± ((T0 + T1) / 4 - min).

s. Analiza complexitatii

t. Implementare

u. Testare

4. Concluzii

Sincronizarea ceasurilor - algorimul lui Cristian

10. Descrierea problemei

Algoritmul de sincronizare a ceasurilor este utilizat pentru a ajusta timpul de pe o masina

locala cu timpul unui server. Problema sincronizarii ceasurilor se pune deoarece timpul local

aflate pe un calculator s-ar putea sa difere fata de timpul aflat pe un alt calculator. Chiar

daca initial diferite calculatoare au fost setate cu acelasi timp, in realitate timpul local tinde

sa difere datorita abaterilor de ceas care au loc pe diferite instante. Acest fenomen este o

cumulare de factori diversi, printre care putem enumera diferenta de voltaj dintre diverse

surse ale calculatoarelor, temperatura ambianta, gradul de utilizare al unui calculator etc.

Acesta problema este importanta in analiza ordinii producerii evenimentelor. Spre

exemplu, avand doua evenimente, a si b, cu conditia ca evenimentul b sa se produca dupa

evenimentul a, este important sa stim exact cand evenimentul a si-a incheiat executia astfel

incat evenimentul b sa poata sa inceapa.

11. Idei de rezolvare

Algoritmul lui Cristian (creat de inginerul roman Flaviu Cristian) rezolva problema

deviatiei ceasurilor localizate pe calculatoare diferite folosind timpul unui server. Acest

server isi mentine ora exact utilizand o sursa de incredere, iar timpul de pe acest server va fi

folosind ca timp de referinta. Un calculator isi va ajusta timpul facand un apel catre aces

server.12. Algoritm

7/21/2019 Cloccckkk Sync

http://slidepdf.com/reader/full/cloccckkk-sync 5/12

v. Descriere

Descrierea algoritmului lui Cristian este urmatoarea: un proces p face un request la

server intru-un mesaj mr si primeste timpul acestuia t intr-un alt mesaj mt; timpul t este

introdus in mesaj chiar inainte de plecarea acestuia de la serverul S. Instanta locala (cea

care face request la server) ajusteaza apoi acest timp primit ca raspuns cu valoarea timpului

care a trecut intre momentul in care a solicitat ajustarea timpului si momentul in care a primit

raspuns.

w. Pseudocod

x. Exemplu de aplicare

Presupunand ca avem un server de timp cu ora exacta. O instanta locala P va face un

request la momentul T0, serverul S va procesa mesajul si va trimite inapoi un raspuns cu

timpul t, care va ajunge la P in momentul T1. Atunci cand P va primi raspunsul, trebuie sa isi

seteze timpul local cu valoarea primita ca raspuns t la care se adauga timpul necesar

transimiterii mesajului, adica (T0 + T1) / 2 .

y. Corectitudine

Corectitudinea rezolvarii problemei depinde de timpul necesar serverului pentru a trimite

raspunsul. Considerand Tmin ca fiind timpul minim de transmitere a mesajului intr-o directie,

P primeste raspunsul de la S intr-un interval de forma: [ t + Tmin, t + (T0 + T1) / 2 - min ],

adica ± ((T0 + T1) / 4 - min).

z. Analiza complexitatii

aa. Implementare

bb. Testare

4. Concluzii

Sincronizarea ceasurilor - algorimul lui Cristian

13. Descrierea problemei

Algoritmul de sincronizare a ceasurilor este utilizat pentru a ajusta timpul de pe o masina

locala cu timpul unui server. Problema sincronizarii ceasurilor se pune deoarece timpul local

aflate pe un calculator s-ar putea sa difere fata de timpul aflat pe un alt calculator. Chiar

daca initial diferite calculatoare au fost setate cu acelasi timp, in realitate timpul local tinde

sa difere datorita abaterilor de ceas care au loc pe diferite instante. Acest fenomen este o

cumulare de factori diversi, printre care putem enumera diferenta de voltaj dintre diverse

surse ale calculatoarelor, temperatura ambianta, gradul de utilizare al unui calculator etc.

Acesta problema este importanta in analiza ordinii producerii evenimentelor. Spre exemplu, avand doua evenimente, a si b, cu conditia ca evenimentul b sa se produca dupa

7/21/2019 Cloccckkk Sync

http://slidepdf.com/reader/full/cloccckkk-sync 6/12

evenimentul a, este important sa stim exact cand evenimentul a si-a incheiat executia astfel

incat evenimentul b sa poata sa inceapa.

14. Idei de rezolvare

Algoritmul lui Cristian (creat de inginerul roman Flaviu Cristian) rezolva problema

deviatiei ceasurilor localizate pe calculatoare diferite folosind timpul unui server. Acest

server isi mentine ora exact utilizand o sursa de incredere, iar timpul de pe acest server va fi

folosind ca timp de referinta. Un calculator isi va ajusta timpul facand un apel catre aces

server.

15. Algoritm

cc. Descriere

Descrierea algoritmului lui Cristian este urmatoarea: un proces p face un request la

server intru-un mesaj mr si primeste timpul acestuia t intr-un alt mesaj mt; timpul t este

introdus in mesaj chiar inainte de plecarea acestuia de la serverul S. Instanta locala (cea

care face request la server) ajusteaza apoi acest timp primit ca raspuns cu valoarea timpului

care a trecut intre momentul in care a solicitat ajustarea timpului si momentul in care a primit

raspuns.

dd. Pseudocod

ee. Exemplu de aplicare

Presupunand ca avem un server de timp cu ora exacta. O instanta locala P va face un

request la momentul T0, serverul S va procesa mesajul si va trimite inapoi un raspuns cu

timpul t, care va ajunge la P in momentul T1. Atunci cand P va primi raspunsul, trebuie sa isi

seteze timpul local cu valoarea primita ca raspuns t la care se adauga timpul necesar

transimiterii mesajului, adica (T0 + T1) / 2 .

ff. Corectitudine

Corectitudinea rezolvarii problemei depinde de timpul necesar serverului pentru a trimite

raspunsul. Considerand Tmin ca fiind timpul minim de transmitere a mesajului intr-o directie,

P primeste raspunsul de la S intr-un interval de forma: [ t + Tmin, t + (T0 + T1) / 2 - min ],

adica ± ((T0 + T1) / 4 - min).

gg. Analiza complexitatii

hh. Implementare

ii. Testare

4. Concluzii

Sincronizarea ceasurilor - algorimul lui Cristian

16. Descrierea problemei

7/21/2019 Cloccckkk Sync

http://slidepdf.com/reader/full/cloccckkk-sync 7/12

Algoritmul de sincronizare a ceasurilor este utilizat pentru a ajusta timpul de pe o masina

locala cu timpul unui server. Problema sincronizarii ceasurilor se pune deoarece timpul local

aflate pe un calculator s-ar putea sa difere fata de timpul aflat pe un alt calculator. Chiar

daca initial diferite calculatoare au fost setate cu acelasi timp, in realitate timpul local tinde

sa difere datorita abaterilor de ceas care au loc pe diferite instante. Acest fenomen este o

cumulare de factori diversi, printre care putem enumera diferenta de voltaj dintre diverse

surse ale calculatoarelor, temperatura ambianta, gradul de utilizare al unui calculator etc.

Acesta problema este importanta in analiza ordinii producerii evenimentelor. Spre

exemplu, avand doua evenimente, a si b, cu conditia ca evenimentul b sa se produca dupa

evenimentul a, este important sa stim exact cand evenimentul a si-a incheiat executia astfel

incat evenimentul b sa poata sa inceapa.

17. Idei de rezolvare

Algoritmul lui Cristian (creat de inginerul roman Flaviu Cristian) rezolva problema

deviatiei ceasurilor localizate pe calculatoare diferite folosind timpul unui server. Acest

server isi mentine ora exact utilizand o sursa de incredere, iar timpul de pe acest server va fi

folosind ca timp de referinta. Un calculator isi va ajusta timpul facand un apel catre aces

server.

18. Algoritm

jj. Descriere

Descrierea algoritmului lui Cristian este urmatoarea: un proces p face un request la

server intru-un mesaj mr si primeste timpul acestuia t intr-un alt mesaj mt; timpul t este

introdus in mesaj chiar inainte de plecarea acestuia de la serverul S. Instanta locala (cea

care face request la server) ajusteaza apoi acest timp primit ca raspuns cu valoarea timpului

care a trecut intre momentul in care a solicitat ajustarea timpului si momentul in care a primit

raspuns.

kk. Pseudocod

ll. Exemplu de aplicare

Presupunand ca avem un server de timp cu ora exacta. O instanta locala P va face un

request la momentul T0, serverul S va procesa mesajul si va trimite inapoi un raspuns cu

timpul t, care va ajunge la P in momentul T1. Atunci cand P va primi raspunsul, trebuie sa isi

seteze timpul local cu valoarea primita ca raspuns t la care se adauga timpul necesar

transimiterii mesajului, adica (T0 + T1) / 2 .

mm. Corectitudine

Corectitudinea rezolvarii problemei depinde de timpul necesar serverului pentru a trimite

raspunsul. Considerand Tmin ca fiind timpul minim de transmitere a mesajului intr-o directie,

P primeste raspunsul de la S intr-un interval de forma: [ t + Tmin, t + (T0 + T1) / 2 - min ],

adica ± ((T0 + T1) / 4 - min).

nn. Analiza complexitatii

oo. Implementare

pp. Testare

4. Concluzii

7/21/2019 Cloccckkk Sync

http://slidepdf.com/reader/full/cloccckkk-sync 8/12

Sincronizarea ceasurilor - algorimul lui Cristian

19. Descrierea problemei

Algoritmul de sincronizare a ceasurilor este utilizat pentru a ajusta timpul de pe o masina

locala cu timpul unui server. Problema sincronizarii ceasurilor se pune deoarece timpul local

aflate pe un calculator s-ar putea sa difere fata de timpul aflat pe un alt calculator. Chiar

daca initial diferite calculatoare au fost setate cu acelasi timp, in realitate timpul local tinde

sa difere datorita abaterilor de ceas care au loc pe diferite instante. Acest fenomen este o

cumulare de factori diversi, printre care putem enumera diferenta de voltaj dintre diverse

surse ale calculatoarelor, temperatura ambianta, gradul de utilizare al unui calculator etc.

Acesta problema este importanta in analiza ordinii producerii evenimentelor. Spre

exemplu, avand doua evenimente, a si b, cu conditia ca evenimentul b sa se produca dupa

evenimentul a, este important sa stim exact cand evenimentul a si-a incheiat executia astfel

incat evenimentul b sa poata sa inceapa.

20. Idei de rezolvare

Algoritmul lui Cristian (creat de inginerul roman Flaviu Cristian) rezolva problema

deviatiei ceasurilor localizate pe calculatoare diferite folosind timpul unui server. Acest

server isi mentine ora exact utilizand o sursa de incredere, iar timpul de pe acest server va fi

folosind ca timp de referinta. Un calculator isi va ajusta timpul facand un apel catre aces

server.

21. Algoritm

qq. Descriere

Descrierea algoritmului lui Cristian este urmatoarea: un proces p face un request la

server intru-un mesaj mr si primeste timpul acestuia t intr-un alt mesaj mt; timpul t este

introdus in mesaj chiar inainte de plecarea acestuia de la serverul S. Instanta locala (cea

care face request la server) ajusteaza apoi acest timp primit ca raspuns cu valoarea timpului

care a trecut intre momentul in care a solicitat ajustarea timpului si momentul in care a primit

raspuns.

rr. Pseudocod

ss. Exemplu de aplicare

Presupunand ca avem un server de timp cu ora exacta. O instanta locala P va face un

request la momentul T0, serverul S va procesa mesajul si va trimite inapoi un raspuns cu

timpul t, care va ajunge la P in momentul T1. Atunci cand P va primi raspunsul, trebuie sa isi

seteze timpul local cu valoarea primita ca raspuns t la care se adauga timpul necesar

transimiterii mesajului, adica (T0 + T1) / 2 .

tt. Corectitudine

Corectitudinea rezolvarii problemei depinde de timpul necesar serverului pentru a trimite

raspunsul. Considerand Tmin ca fiind timpul minim de transmitere a mesajului intr-o directie,

7/21/2019 Cloccckkk Sync

http://slidepdf.com/reader/full/cloccckkk-sync 9/12

P primeste raspunsul de la S intr-un interval de forma: [ t + Tmin, t + (T0 + T1) / 2 - min ],

adica ± ((T0 + T1) / 4 - min).

uu. Analiza complexitatii

vv. Implementare

ww. Testare

4. Concluzii

Sincronizarea ceasurilor - algorimul lui Cristian

22. Descrierea problemei

Algoritmul de sincronizare a ceasurilor este utilizat pentru a ajusta timpul de pe o masina

locala cu timpul unui server. Problema sincronizarii ceasurilor se pune deoarece timpul local

aflate pe un calculator s-ar putea sa difere fata de timpul aflat pe un alt calculator. Chiar

daca initial diferite calculatoare au fost setate cu acelasi timp, in realitate timpul local tinde

sa difere datorita abaterilor de ceas care au loc pe diferite instante. Acest fenomen este o

cumulare de factori diversi, printre care putem enumera diferenta de voltaj dintre diverse

surse ale calculatoarelor, temperatura ambianta, gradul de utilizare al unui calculator etc.

Acesta problema este importanta in analiza ordinii producerii evenimentelor. Spre

exemplu, avand doua evenimente, a si b, cu conditia ca evenimentul b sa se produca dupa

evenimentul a, este important sa stim exact cand evenimentul a si-a incheiat executia astfel

incat evenimentul b sa poata sa inceapa.

23. Idei de rezolvare

Algoritmul lui Cristian (creat de inginerul roman Flaviu Cristian) rezolva problema

deviatiei ceasurilor localizate pe calculatoare diferite folosind timpul unui server. Acest

server isi mentine ora exact utilizand o sursa de incredere, iar timpul de pe acest server va fi

folosind ca timp de referinta. Un calculator isi va ajusta timpul facand un apel catre aces

server.

24. Algoritm

xx. Descriere

Descrierea algoritmului lui Cristian este urmatoarea: un proces p face un request la

server intru-un mesaj mr si primeste timpul acestuia t intr-un alt mesaj mt; timpul t este

introdus in mesaj chiar inainte de plecarea acestuia de la serverul S. Instanta locala (cea

care face request la server) ajusteaza apoi acest timp primit ca raspuns cu valoarea timpului

care a trecut intre momentul in care a solicitat ajustarea timpului si momentul in care a primit

raspuns.

yy. Pseudocod

7/21/2019 Cloccckkk Sync

http://slidepdf.com/reader/full/cloccckkk-sync 10/12

zz. Exemplu de aplicare

Presupunand ca avem un server de timp cu ora exacta. O instanta locala P va face un

request la momentul T0, serverul S va procesa mesajul si va trimite inapoi un raspuns cu

timpul t, care va ajunge la P in momentul T1. Atunci cand P va primi raspunsul, trebuie sa isi

seteze timpul local cu valoarea primita ca raspuns t la care se adauga timpul necesar

transimiterii mesajului, adica (T0 + T1) / 2 .

aaa. Corectitudine

Corectitudinea rezolvarii problemei depinde de timpul necesar serverului pentru a trimite

raspunsul. Considerand Tmin ca fiind timpul minim de transmitere a mesajului intr-o directie,

P primeste raspunsul de la S intr-un interval de forma: [ t + Tmin, t + (T0 + T1) / 2 - min ],

adica ± ((T0 + T1) / 4 - min).

bbb. Analiza complexitatii

ccc. Implementare

ddd. Testare

4. Concluzii

Sincronizarea ceasurilor - algorimul lui Cristian

25. Descrierea problemei

Algoritmul de sincronizare a ceasurilor este utilizat pentru a ajusta timpul de pe o masina

locala cu timpul unui server. Problema sincronizarii ceasurilor se pune deoarece timpul local

aflate pe un calculator s-ar putea sa difere fata de timpul aflat pe un alt calculator. Chiar

daca initial diferite calculatoare au fost setate cu acelasi timp, in realitate timpul local tinde

sa difere datorita abaterilor de ceas care au loc pe diferite instante. Acest fenomen este o

cumulare de factori diversi, printre care putem enumera diferenta de voltaj dintre diverse

surse ale calculatoarelor, temperatura ambianta, gradul de utilizare al unui calculator etc.

Acesta problema este importanta in analiza ordinii producerii evenimentelor. Spre

exemplu, avand doua evenimente, a si b, cu conditia ca evenimentul b sa se produca dupa

evenimentul a, este important sa stim exact cand evenimentul a si-a incheiat executia astfel

incat evenimentul b sa poata sa inceapa.

26. Idei de rezolvare

Algoritmul lui Cristian (creat de inginerul roman Flaviu Cristian) rezolva problema

deviatiei ceasurilor localizate pe calculatoare diferite folosind timpul unui server. Acest

server isi mentine ora exact utilizand o sursa de incredere, iar timpul de pe acest server va fi

folosind ca timp de referinta. Un calculator isi va ajusta timpul facand un apel catre aces

server.27. Algoritm

7/21/2019 Cloccckkk Sync

http://slidepdf.com/reader/full/cloccckkk-sync 11/12

eee. Descriere

Descrierea algoritmului lui Cristian este urmatoarea: un proces p face un request la

server intru-un mesaj mr si primeste timpul acestuia t intr-un alt mesaj mt; timpul t este

introdus in mesaj chiar inainte de plecarea acestuia de la serverul S. Instanta locala (cea

care face request la server) ajusteaza apoi acest timp primit ca raspuns cu valoarea timpului

care a trecut intre momentul in care a solicitat ajustarea timpului si momentul in care a primit

raspuns.

fff. Pseudocod

ggg. Exemplu de aplicare

Presupunand ca avem un server de timp cu ora exacta. O instanta locala P va face un

request la momentul T0, serverul S va procesa mesajul si va trimite inapoi un raspuns cu

timpul t, care va ajunge la P in momentul T1. Atunci cand P va primi raspunsul, trebuie sa isi

seteze timpul local cu valoarea primita ca raspuns t la care se adauga timpul necesar

transimiterii mesajului, adica (T0 + T1) / 2 .

hhh. Corectitudine

Corectitudinea rezolvarii problemei depinde de timpul necesar serverului pentru a trimite

raspunsul. Considerand Tmin ca fiind timpul minim de transmitere a mesajului intr-o directie,

P primeste raspunsul de la S intr-un interval de forma: [ t + Tmin, t + (T0 + T1) / 2 - min ],

adica ± ((T0 + T1) / 4 - min).

iii. Analiza complexitatii

jjj. Implementare

kkk. Testare

4. Concluzii

Sincronizarea ceasurilor - algorimul lui Cristian

28. Descrierea problemei

Algoritmul de sincronizare a ceasurilor este utilizat pentru a ajusta timpul de pe o masina

locala cu timpul unui server. Problema sincronizarii ceasurilor se pune deoarece timpul local

aflate pe un calculator s-ar putea sa difere fata de timpul aflat pe un alt calculator. Chiar

daca initial diferite calculatoare au fost setate cu acelasi timp, in realitate timpul local tinde

sa difere datorita abaterilor de ceas care au loc pe diferite instante. Acest fenomen este o

cumulare de factori diversi, printre care putem enumera diferenta de voltaj dintre diverse

surse ale calculatoarelor, temperatura ambianta, gradul de utilizare al unui calculator etc.

Acesta problema este importanta in analiza ordinii producerii evenimentelor. Spre exemplu, avand doua evenimente, a si b, cu conditia ca evenimentul b sa se produca dupa

7/21/2019 Cloccckkk Sync

http://slidepdf.com/reader/full/cloccckkk-sync 12/12

evenimentul a, este important sa stim exact cand evenimentul a si-a incheiat executia astfel

incat evenimentul b sa poata sa inceapa.

29. Idei de rezolvare

Algoritmul lui Cristian (creat de inginerul roman Flaviu Cristian) rezolva problema

deviatiei ceasurilor localizate pe calculatoare diferite folosind timpul unui server. Acest

server isi mentine ora exact utilizand o sursa de incredere, iar timpul de pe acest server va fi

folosind ca timp de referinta. Un calculator isi va ajusta timpul facand un apel catre aces

server.

30. Algoritm

lll. Descriere

Descrierea algoritmului lui Cristian este urmatoarea: un proces p face un request la

server intru-un mesaj mr si primeste timpul acestuia t intr-un alt mesaj mt; timpul t este

introdus in mesaj chiar inainte de plecarea acestuia de la serverul S. Instanta locala (cea

care face request la server) ajusteaza apoi acest timp primit ca raspuns cu valoarea timpului

care a trecut intre momentul in care a solicitat ajustarea timpului si momentul in care a primit

raspuns.

mmm. Pseudocod

nnn. Exemplu de aplicare

Presupunand ca avem un server de timp cu ora exacta. O instanta locala P va face un

request la momentul T0, serverul S va procesa mesajul si va trimite inapoi un raspuns cu

timpul t, care va ajunge la P in momentul T1. Atunci cand P va primi raspunsul, trebuie sa isi

seteze timpul local cu valoarea primita ca raspuns t la care se adauga timpul necesar

transimiterii mesajului, adica (T0 + T1) / 2 .

ooo. Corectitudine

Corectitudinea rezolvarii problemei depinde de timpul necesar serverului pentru a trimite

raspunsul. Considerand Tmin ca fiind timpul minim de transmitere a mesajului intr-o directie,

P primeste raspunsul de la S intr-un interval de forma: [ t + Tmin, t + (T0 + T1) / 2 - min ],

adica ± ((T0 + T1) / 4 - min).

ppp. Analiza complexitatii

qqq. Implementare

rrr. Testare

4. Concluzii