SLIDE 1
❘❡❧✐❛❜❧❡ ❚r❛♥s♣♦rt Pr♦t♦❝♦❧
❙❤❛♥❦❛r ❏✉♥❡ ✶✻✱ ✷✵✶✹
SLIDE 2 ❖✉t❧✐♥❡
♦✈❡r✈✐❡✇
❖✈❡r✈✐❡✇
- r❛❝❡❢✉❧✲❝❧♦s✐♥❣ ❞❛t❛ tr❛♥s❢❡r ♣r♦t♦❝♦❧
❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ❞❡s❝r✐♣t✐♦♥ ❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ♣r♦❣r❛♠✿ ✉♥❜♦✉♥❞❡❞ ❡♥❞♣♦✐♥t ♥✉♠❜❡rs ❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ♣r♦❣r❛♠✿ ❝②❝❧✐❝ ❡♥❞♣♦✐♥t ♥✉♠❜❡rs ❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ✇✐t❤ ❛❜♦rt
SLIDE 3 ❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ♦✈❡r✈✐❡✇
♦✈❡r✈✐❡✇
k j
c .rx(k) c .tx(k,msg), j LRD channel j k Tp(...) TpDist(...) GcDtp GcDtp v .accept(), v .connect(k) v .tx(k,msg), v .close(k) j j j j GcDtp j v .endServer() v .rx(k) cj ck vj vk Tp(...) GcDtp
j
■♠♣❧❡♠❡♥ts r❡❧✐❛❜❧❡ tr❛♥s♣♦rt s❡r✈✐❝❡ ✉s✐♥❣ ▲❘❉ ❝❤❛♥♥❡❧
Tp s②st❡♠ ❛t ❡❛❝❤ ❛❞❞r❡ss
SLIDE 4
❉✐str✐❜✉t❡❞ ♣r♦❣r❛♠
♦✈❡r✈✐❡✇
♣r♦❣r❛♠ TpDist ( ADDR )
// ✐♠♣❧❡♠❡♥ts RelTransportService ( ADDR )
{cj} ← st❛rt LrdChannel(ADDR) ❢♦r j ✐♥ ADDR
vj ← st❛rt Tp ( ADDR, j, cj )
r❡t✉r♥ {vj}
SLIDE 5
❙✐♠✐❧❛r✐t✐❡s ✇✐t❤ ❚❈P
♦✈❡r✈✐❡✇
❈♦♥♥❡❝t✐♦♥ ❡st❛❜❧✐s❤♠❡♥t ✐♥✈♦❧✈❡s ✸✲✇❛② ❤❛♥❞s❤❛❦❡ ❚♣ j ♠❛✐♥t❛✐♥s ❛♥ ❡♥❞♣♦✐♥t ❢♦r k ♦♥❧② ✇❤✐❧❡ ✐♥t❡r❛❝t✐♥❣ ✇✐t❤ k ♦♣❡♥✐♥❣✱ ♦♣❡♥✱ ♦♣❡♥✲❛♥❞✲❝❧♦s✐♥❣✱ ❝❧♦s❡❞ ♦♣❡♥✐♥❣✿ ❛❝t✐✈❡ ✭✐❢ ❝❧✐❡♥t✮ ♦r ♣❛ss✐✈❡ ✭✐❢ s❡r✈❡r✮ ❊❛❝❤ ❡♥❞♣♦✐♥t ❣❡ts ❛ ✉♥✐q✉❡ ❡♥❞♣♦✐♥t ♥✉♠❜❡r ✇❤❡♥ ❝r❡❛t❡❞ s❛♠❡ r♦❧❡ ❛s ❚❈P✬s ✐♥✐t✐❛❧ s❡q✉❡♥❝❡ ♥✉♠❜❡rs ✐♥❝r❡❛s✐♥❣ ❜✉t ♥❡❡❞ ♥♦t ❜❡ ❝♦♥s❡❝✉t✐✈❡
// ❝❧♦❝❦✱ ❝♦✉♥t❡r
✇❤❡♥ ♦♣❡♥✱ ♠❛✐♥t❛✐♥s ❜♦t❤ ❧♦❝❛❧ ❛♥❞ r❡♠♦t❡ ❡♥❞♣♦✐♥t ♥✉♠❜❡rs ❊♥❞♣♦✐♥t✬s ✹✲t✉♣❧❡✿ [j,k,n,m]
// ❛❞❞rs j✱ k❀ ❡♥❞♣t ♥✉♠❜❡rs n✱ m
SLIDE 6
❉✐✛❡r❡♥❝❡s ✇✐t❤ ❚❈P
♦✈❡r✈✐❡✇
❈❧❡❛♥ s❡♣❛r❛t✐♦♥ ♦❢ ❝♦♥♥❡❝t✐♦♥ ❡st❛❜❧✐s❤♠❡♥t ❛♥❞ ❞❛t❛ tr❛♥s❢❡r ❈♦♥♥ ❡st❛❜❧✐s❤♠❡♥t ♣r♦✈✐❞❡s ❞❡❞✐❝❛t❡❞ ✈✐rt✉❛❧ ❝❤❛♥♥❡❧ ❜② t❛❣❣✐♥❣ ♠s❣s ✇✐t❤ ❡♥❞♣♦✐♥t✬s ✹✲t✉♣❧❡ ❈❛♥ r✉♥ ❛♥② ❞t♣ ✭❞❛t❛ tr❛♥s❢❡r ♣r♦t♦❝♦❧✮ ♦✈❡r t❤✐s ❢♦r ❝♦♥❝r❡t❡♥❡ss✱ ✉s❡ ❣r❛❝❡❢✉❧✲❝❧♦s✐♥❣ ❞t♣ ✭GcDtp✮ ❚♣ s②st❡♠ st❛rts ❛ ❞t♣ s②st❡♠ ✇❤❡♥ ❡♥❞♣♦✐♥t ❜❡❝♦♠❡s ♦♣❡♥ r❡❧❛②s ♠s❣s✿ ❞t♣ s②st❡♠ ↔ ✉s❡r✱ ▲❘❉ ❝❤❛♥♥❡❧ ❈♦♥♥❡❝t r❡q ♠s❣ ✐♥❞✐❝❛t❡s ✇❤❡t❤❡r s❡♥❞❡r ✐s ❝❧✐❡♥t ♦r s❡r✈❡r ❚❈P ❞♦❡s ♥♦t ❞♦ t❤✐s✱ ❛♥❞ ❤❡♥❝❡ ❤❛s ❛ ✢❛✇
SLIDE 7 ❖✉t❧✐♥❡
❣❝✲❞t♣
❖✈❡r✈✐❡✇
- r❛❝❡❢✉❧✲❝❧♦s✐♥❣ ❞❛t❛ tr❛♥s❢❡r ♣r♦t♦❝♦❧
❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ❞❡s❝r✐♣t✐♦♥ ❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ♣r♦❣r❛♠✿ ✉♥❜♦✉♥❞❡❞ ❡♥❞♣♦✐♥t ♥✉♠❜❡rs ❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ♣r♦❣r❛♠✿ ❝②❝❧✐❝ ❡♥❞♣♦✐♥t ♥✉♠❜❡rs ❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ✇✐t❤ ❛❜♦rt
SLIDE 8
- r❛❝❡❢✉❧✲❝❧♦s✐♥❣ ❞t♣✿ r❡✈✐❡✇
❣❝✲❞t♣
GcDtpDist k j tx, rx, close tx, rx, close GcDtp GcDtp Lossy/Lrd Channel
■♥♣✉t ❢♥s t①(k, data) r①()✿ r❡t✉r♥s [0, data] ♦r [−1] ✭✐❢ ✐♥✲❞❛t❛ ❞♦♥❡✮ ❝❧♦s❡()✿ r❡t✉r♥s ✐❢ ❞❛t❛ ①❢r ❞♦♥❡✱ r❡♠♦t❡ ❝❧♦s✐♥❣ ▼s❣s✿ DAT✱ ACK✱ FIN✱ FINACK
// FINs s❡♥t ❜② close
▲♦❝❛❧ t❤r❡❛❞ ❢♥s✿
doTxDat()✿ s❡♥❞s DAT doRxDatAck()✿ r❝✈s❀ s❡♥❞s ACK✱ FINACK
SLIDE 9
- r❛❝❡❢✉❧✲❝❧♦s✐♥❣ ❞t♣✿ ♣r♦♣❡rt✐❡s
❣❝✲❞t♣
A✶ : ✐❢ j.rx r❡t✉r♥s [0,db] t❤❡♥ j.drxh ◦ [db] ♣r❡✜①✲♦❢ k.dtxh A✷ : ✐❢ j.rx r❡t✉r♥s [−1] t❤❡♥ j.drxh = k.dtxh✱ k ❝❧♦s✐♥❣✴❝❧♦s❡❞ A✸ : ✐❢ j ✐s ❝❧♦s❡❞ t❤❡♥ ♥♦ ♦♥❣♦✐♥❣ j.tx ♦r j.rx✱ j.drxh = k.dtxh✱ ❛♥❞ k ❝❧♦s✐♥❣✴❝❧♦s❡❞ A✹ : ✐❢ j.tx ✐s ♦♥❣♦✐♥❣ t❤❡♥ j.tx r❡t✉r♥s A✺ : ✐❢ j.rx ♦♥❣♦✐♥❣✱ j.drxh = k.dtxh✱ t❤❡♥ j.rx r❡t✉r♥s A✻ : ✐❢ j.rx ✐s ♦♥❣♦✐♥❣✱ j.drxh = k.dtxh✱ k ❝❧♦s✐♥❣✴❝❧♦s❡❞ t❤❡♥ j.rx r❡t✉r♥s A✼ : ✐❢ j ❝❧♦s✐♥❣✱ k ❝❧♦s✐♥❣✴❝❧♦s❡❞ t❤❡♥
j ❜❡❝♦♠❡s ❝❧♦s❡❞ ♦r j.rx ♥♦t ♦♥❣♦✐♥❣
SLIDE 10
❚✇♦ ♠♦❞✐✜❝❛t✐♦♥s t♦ GcDtp
❣❝✲❞t♣
❚❡r♠✐♥❛t❡ GcDtp s②st❡♠ ✇❤❡♥ ✐t ❜❡❝♦♠❡s ❝❧♦s❡❞✿ ❢♥ close✿ ✐♥s❡rt endSystem() ❜❡❢♦r❡ t❤❡ r❡t✉r♥ ♦r✐❣✐♥❛❧✿ doRxDatAck() r❡s♣♦♥❞s t♦ FIN ❡✈❡♥ ✇❤❡♥ ❝❧♦s❡❞ ♥♦✇✿ tp s②st❡♠ ❤❛♥❞❧❡s t❛❦❡s ❝❛r❡ ♦❢ t❤✐s ❘❡♥❛♠❡ ♦✉t♣✉t ❝❛❧❧s✿ c.tx✱ c.rx → x.dTx✱ x.dRx ♦r✐❣✐♥❛❧✿ c ✐s ▲r❞ ❝❤❛♥♥❡❧ s✐❞ ♥♦✇✿ c ✐s t♣ s✐❞
// ❛❧r❡❛❞② ❤❛s ✐♥♣✉t ❢♥s tx✱ rx
SLIDE 11 ❖✉t❧✐♥❡
t♣ ❞❡s❝
❖✈❡r✈✐❡✇
- r❛❝❡❢✉❧✲❝❧♦s✐♥❣ ❞❛t❛ tr❛♥s❢❡r ♣r♦t♦❝♦❧
❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ❞❡s❝r✐♣t✐♦♥ ❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ♣r♦❣r❛♠✿ ✉♥❜♦✉♥❞❡❞ ❡♥❞♣♦✐♥t ♥✉♠❜❡rs ❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ♣r♦❣r❛♠✿ ❝②❝❧✐❝ ❡♥❞♣♦✐♥t ♥✉♠❜❡rs ❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ✇✐t❤ ❛❜♦rt
SLIDE 12
❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ❡♥❞♣♦✐♥ts
t♣ ❞❡s❝
❊♥❞♣♦✐♥t ✭❡♣✮ [ ❥✱ ❦✱ ♥✱ ♠ ] ♠❛✐♥t❛✐♥❡❞ ❛t t♣ ❥ ✇❤✐❧❡ ✐♥t❡r❛❝t✐♥❣ ✇✐t❤ t♣ ❦ ♥✿ ❡♣✬s ❧♦❝❛❧ ♥✉♠❜❡r❀ ≥ ✵ s❡t ❢r♦♠ ✐♥❝r❡❛s✐♥❣ ❝❧♦❝❦✴❝♦✉♥t❡r ✇❤❡♥ ❡♣ ❝r❡❛t❡❞ ♠✿ ❡♣✬s r❡♠♦t❡ ♥✉♠❜❡r❀ −✶ ✐❢ ✉♥❦♥♦✇♥ r❝✈❞ ❢r♦♠ r❡♠♦t❡ ❡♥❞♣♦✐♥t [ ❦✱ ❥✱ ♠✱ ♥ ] ❊♣ [❥✱ ❦✱ ♥✱ ♠] ❛❝t✐✈❡ ♦♣❡♥✐♥❣ ✭❛♦♣✮✿ ❥✳❝♦♥♥❡❝t(❦) ♦♥❣♦✐♥❣ ♣❛ss✐✈❡ ♦♣❡♥✐♥❣ ✭♣♦♣✮✿ ❥✳❛❝❝❡♣t r❡s♣♦♥❞✐♥❣ t♦ ❦✳❝♦♥♥❡❝t(❥) ♦♣❡♥✿ ❝♦♥♥❡❝t❡❞ t♦ [❦✱❥✱♠✱♥]❀ s❡♥❞✴r❝✈ ❞❛t❛ ❝❧♦s✐♥❣✿ ❥✳❝❧♦s❡(❦) ♦♥❣♦✐♥❣❀ r❝✈ ❞❛t❛
// st✐❧❧ ♦♣❡♥
❝❧♦s❡❞✿ ❡♥❞♣♦✐♥t ♥♦ ❧♦♥❣❡r ❡①✐sts
SLIDE 13
■♥t❡r❛❝t✐♦♥ ❜❡t✇❡❡♥ t♣ s②st❡♠s
t♣ ❞❡s❝
■♥t❡r❛❝t✐♦♥ ❜❡t✇❡❡♥ ❥ ❛♥❞ ❦ ✐s ❛ s✉❝❝❡ss✐♦♥ ♦❢ ❤❛♥❞s❤❛❦❡s ❡❛❝❤ ❝♦♥♥❡❝t✴❝❧♦s❡ r❡q ✐♥✐t✐❛t❡s ❛ ❤❛♥❞s❤❛❦❡ ✷✲✇❛② ❤❛♥❞s❤❛❦❡ ❥
m1 −
→ ← − m2 ❦ ✸✲✇❛② ❤❛♥❞s❤❛❦❡ ❥
m1 −
→ ← − m2
m3 −
→ ❦ ❈❧✐❡♥t✲s❡r✈❡r ❝♦♥♥❡❝t✐♦♥✿ ♦♥❡ ✸✲✇❛② ❤❛♥❞s❤❛❦❡ ❈❧✐❡♥t✲❝❧✐❡♥t ❝♦♥♥❡❝t✐♦♥✿ t✇♦ s✐♠✉❧t❛♥❡♦✉s ✷✲✇❛② ❤❛♥❞s❤❛❦❡s ❈♦♥♥❡❝t r❡❥❡❝t✐♦♥✿ t✇♦ s✐♠✉❧t❛♥❡♦✉s ✷✲✇❛② ❤❛♥❞s❤❛❦❡s ❉❛t❛ tr❛♥s❢❡r✿ ✷✲✇❛② ❤❛♥❞s❤❛❦❡s ❈❧♦s❡✿ t✇♦ ✷✲✇❛② ❤❛♥❞s❤❛❦❡s
// ♦♥❡ ❢♦r ❡❛❝❤ ❞✐r❡❝t✐♦♥
SLIDE 14
❈❧✐❡♥t✲s❡r✈❡r ❝♦♥♥❡❝t✐♦♥ ✕ ❛ss✉♠✐♥❣ ✜❢♦ ❝❤❛♥♥❡❧
t♣ ❞❡s❝
j k [j,k,n,m] open, start dtp j.connect(k) [j,k,n,-1] active opening endpoint # n
[CCR, j, k, n, -1] [CRACK, j, k, n, m] [SCR, k, j, m, n]
[k,j,m,n] passive opening endpoint # m [k,j,m,n] open, start dtp accept()
[EDT, j, k, n, m, [ ACK,...] ]
[EDT, k. j, m, n, [ DAT,...] ] j.tx(k,data)
[EDT, j, k ,n, m, [ DAT,...] ]
[EDT, k. j, m, n, [ ACK,...] ] k.tx(j, data) k.rx(j) j.rx(k)
SLIDE 15 ❈❧✐❡♥t✲❝❧✐❡♥t ❝♦♥♥❡❝t✐♦♥ ✕ ❛ss✉♠✐♥❣ ✜❢♦ ❝❤❛♥♥❡❧
t♣ ❞❡s❝ j k [j,k,n,m] open, start dtp j.connect(k) [k,j,m,-1] active opening [j,k,n,-1] active opening endpoint # n [k,j,m,n] open, start dtp [CRACK, j, k, n, m] [CCR, j, k, n, -1] endpoint # m k.connect(j) [ C C R , k , j , m ,
] [ C R A C K , k , j , m , n ]
j.tx(k,data) j.rx(k) k.tx(j, data) k.rx(j)
EDT msgs
SLIDE 16
❈❧✐❡♥t ❝♦♥♥❡❝t r❡❥❡❝t✐♦♥ ✕ ❛ss✉♠✐♥❣ ✜❢♦ ❝❤❛♥♥❡❧
t♣ ❞❡s❝ j [j,k,n,-1] active opening endpoint number n [j,k,n,-1] closed j.connect(k) k no ongoing k.accept() no ongoing k.connect(j) [ CCR, j, k, n, -1 ] [ REJ, k, j, -1, n ]
SLIDE 17
❈♦♥♥❡❝t✐♦♥ ❝❧♦s✐♥❣ ✕ ❛ss✉♠✐♥❣ ✜❢♦ ❝❤❛♥♥❡❧
t♣ ❞❡s❝
j k [j,k,n,m] closed, end dtp system j.close(k) [j,k,n,m] closing
[EDT, k, j, m, n, [ FIN ] ] [EDT, j, k, n, m, [ FIN ] ] [ E D T , k , j , m , n , [ F I N A C K ] ] [EDT,j ,k ,n, m, [ FINACK ] ]
[k,j,m,n] closed start dtp system [k,j,m,n] closing k.close(j) j.tx(k,data) j.rx(k) k.tx(j, data) k.rx(j)
EDT DAT/ACK msgs
SLIDE 18
❍❛♥❞❧✐♥❣ ▲❘❉
t♣ ❞❡s❝
❚♦ ♦✈❡r❝♦♠❡ ♠s❣ ❧♦ss ♥♦♥✲✜♥❛❧ ♠s❣s r❡s❡♥t ✉♥t✐❧ r❡s♣♦♥s❡ r❝✈❞
// ♣r✐♠❛r② ♠s❣
✜♥❛❧ ♠s❣ s❡♥t ♦♥❧② ✐♥ r❡s♣♦♥s❡
// s❡❝♦♥❞❛r② ♠s❣
✜♥❛❧ ♠s❣ s❡♥t ❡✈❡♥ ✐❢ ❤❛♥❞s❤❛❦❡ ♦✈❡r ❢r♦♠ s❡♥❞❡r✬s ♣❡rs♣❡❝t✐✈❡ ❖❧❞ ♠s❣s ❝❛♥ st❛rt ❤❛♥❞s❤❛❦❡s✱ ✇❤✐❝❤ ♥❡❡❞ t♦ ❜❡ ❡♥❞❡❞ ❤❛♥❞❧❡ ✈✐❛ r❡❥❡❝t ♠s❣s ✴ ✐♥❝r❡❛s✐♥❣ ❡♣ ♥✉♠❜❡rs ❡①❛♠♣❧❡ ❛❝❝❡♣t✐♥❣ ❦ r❝✈s ♦❧❞ [CCR✱❥✱❦✱♠✱−✶] st❛rts ♣♦♣ [❦✱❥✱♥✱♠]✱ ✭r❡✮s❡♥❞s [SCR✱❦✱❥✱♥✱♠] ✐❢ ❥ ♥♦t ❛♦♣ t♦ ❦✿ ❥ r❡❥❡❝ts SCR ✐❢ ❥ ❛♦♣ [❥✱❦✱♣✱−✶]✿ ❦ ❜❡❝♦♠❡s ♣♦♣ [❦✱❥✱q✱♣]
SLIDE 19
❚♣ ♠❡ss❛❣❡s ❢r♦♠ ❥ t♦ ❦
t♣ ❞❡s❝
[CCR✱ ❥✱❦✱♥✱♠]✿ ❝❧✐❡♥t ❝♦♥♥✲r❡q❀ ♣r✐♠❛r②❀ s❡♥t ❜② ❛♦♣ [❥✱❦✱♥✱♠] [SCR✱ ❥✱❦✱♥✱♠]✿ s❡r✈❡r ❝♦♥♥✲r❡q❀ ♣r✐♠❛r②❀ s❡♥t ❜② ♣♦♣ [❥✱❦✱♥✱♠] [CRACK✱ ❥✱❦✱♥✱♠]✿ ❝♦♥♥✲r❡q ❛❝❦❀ s❡❝♦♥❞❛r②
r❡s♣♦♥s❡ t♦ [SCR|CCR✱ ❦✱❥✱♠✱♥] ❜② ❛♦♣✴♦♣❡♥ [❥✱❦✱♥✱♠]
[REJ✱ ❥✱❦✱♥✱♠]✿ r❡❥❡❝t❀ s❡❝♦♥❞❛r②
r❡s♣♦♥s❡ t♦ [CCR✱ ❦✱❥✱♠✱♥] ✇❤❡♥ ♥♦t ❛❝❝❡♣t✐♥❣ ♦r ❛♦♣ t♦ ❦ r❡s♣♦♥s❡ t♦ [SCR✱ ❦✱❥✱♠✱♥] ✇❤❡♥ ♥♦t ❛♦♣ t♦ ❦
[EDT✱ ❥✱❦✱♥✱♠✱ ❞t♠s❣]✿ ❡♥❝❛♣s✉❧❛t❡s ❞t♣♠s❣
♣r✐♠❛r② ✐❢ ❞t♠s❣ ✐s DAT ♦r FIN s❡❝♦♥❞❛r② ✐❢ ❞t♠s❣ ✐s ACK ♦r FINACK
SLIDE 20
❖✈❡r❧❛♣♣✐♥❣ ❤❛♥❞s❤❛❦❡s
t♣ ❞❡s❝
❍❛♥❞s❤❛❦❡s ❝❛♥ ♦✈❡r❧❛♣ ❥ st❛rts ❛ ❤❛♥❞s❤❛❦❡ ✇❤✐❧❡ ❦ ✐s st✐❧❧ ✐♥ ♣r❡✈✐♦✉s ❤❛♥❞s❤❛❦❡ ♠s❣ ♦❢ ❧❛t❡r ❤❛♥❞s❤❛❦❡ ❝❛♥ ❡♥❞ t❤❡ ❡❛r❧✐❡r ❤❛♥❞s❤❛❦❡ ❡①❛♠♣❧❡ ♦♣❡♥✐♥❣ ❬❥✱❦✱♥✱♠❪ r❝✈s [EDT✱❦✱❥✱♠✱♥✱✳] ❜❡❝♦♠❡s ♦♣❡♥
SLIDE 21
❇✉✛❡r✐♥❣ r❝✈❞ CCRs ❛t ❥ ✐♥ s❡r✈❡r ♠♦❞❡
t♣ ❞❡s❝
ccrBuff✿ ♠❛♣ <❛❞❞r✱ ❡♣ #> t♦ st♦r❡ CCRs ✐♥ s❡r✈❡r ♠♦❞❡ ccrBuffk ❡①✐sts ❛♥❞ ❡q✉❛❧s ♥ ✐✛
❥ ✐♥ s❡r✈❡r ♠♦❞❡ ♥♦ [❥✱❦] s♦❝❦❡t ❡①✐sts ❛t ❧❡❛st ♦♥❡ [CCR✱❦✱❥✱✳✱✳] r❝✈❞ ♥ ✐s ❤✐❣❤❡st s❡♥❞❡r ❡♣ # ✐♥ t❤❡s❡ CCRs ❆♥ ♦♥❣♦✐♥❣ ❥✳❛❝❝❡♣t() ❣❡ts ✐ts ♥❡①t CCR ❢r♦♠ ccrBuff ✜❢♦ ♦r ♣r✐♦r✐t② q✉❡✉✐♥❣
SLIDE 22 ❖✉t❧✐♥❡
t♣ ♣r♦❣r❛♠✿ ✉♥❜♥❞❡❞ ❡♣ ★s
❖✈❡r✈✐❡✇
- r❛❝❡❢✉❧✲❝❧♦s✐♥❣ ❞❛t❛ tr❛♥s❢❡r ♣r♦t♦❝♦❧
❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ❞❡s❝r✐♣t✐♦♥ ❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ♣r♦❣r❛♠✿ ✉♥❜♦✉♥❞❡❞ ❡♥❞♣♦✐♥t ♥✉♠❜❡rs ❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ♣r♦❣r❛♠✿ ❝②❝❧✐❝ ❡♥❞♣♦✐♥t ♥✉♠❜❡rs ❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ✇✐t❤ ❛❜♦rt
SLIDE 23
Pr♦❣r❛♠ Tp ✕ ✶
t♣ ♣r♦❣r❛♠✿ ✉♥❜♥❞❡❞ ❡♣ ★s
P❛r❛♠❡t❡rs✿ ADDR✱ j✱ cj ■♥♣✉t ❢♥s
// ❝❛❧❧❡❞ ❜② s❡r✈✐❝❡ ✉s❡rs
❛❝❝❡♣t()✱ endServer()✱ ❝♦♥♥❡❝t(k)✱ ❝❧♦s❡(k)
// ❝♠
t①(❦✱ ❞❛t❛)✱ r①(❦)
// ❞t
■♥♣✉t ❢♥s
// ❝❛❧❧❡❞ ❜② dtpk
❞t①✭❦✱❞t♠s❣✮✱ ❞r①✭❦✮
// s❡♥❞✴r❝✈ ❞t♠s❣
▲♦❝❛❧ ❢♥s
doRx() // r❝✈ ♠s❣✱ ✉♣❞❛t❡ st❛t❡✱ t① s❡❝♦♥❞❛r② ♠s❣
❖✉t♣✉t ❝❛❧❧s
cj✳t①✭❦✱ ♠s❣✮✱ cj✳r①✭✮ // s❡♥❞✴r❝✈ ♠s❣
❛t♦♠✐❝✐t② ❛ss✉♠♣t✐♦♥✿ ❛✇❛✐t ♣r♦❣r❡ss ❛ss✉♠♣t✐♦♥✿ ✇❡❛❦ ❢❛✐r♥❡ss ❢♦r ❛❧❧ t❤r❡❛❞s
SLIDE 24
Pr♦❣r❛♠ Tp ✕ ✷
t♣ ♣r♦❣r❛♠✿ ✉♥❜♥❞❡❞ ❡♣ ★s
▼❛✐♥
ngen✿ ❡♥❞♣♦✐♥t ♥✉♠❜❡r ❣❡♥❡r❛t♦r // ❝❧♦❝❦✴❝♦✉♥t❡r✱ ✐♥✐t✐❛❧❧② ✵
❋♦r ❡✈❡r② k st ❡♣ ❬❥✱❦❪ ❡①✐sts
// ✐♥✐t✐❛❧❧② ♥♦♥❡ stk✿ st❛t✉s✿ ❛♦♣✱ ♣♦♣✱ r❡❥❡❝t❡❞✱ ♦♣❡♥ // ♥♦ ❝❧♦s❡❞ lnk✿ ❧♦❝❛❧ ♥✉♠❜❡r✱ ≥✵ rnn✿ r❡♠♦t❡ ♥✉♠❜❡r✱ −✶ ✐❢ ♥✉❧❧
■✛ ✐♥ s❡r✈❡r ♠♦❞❡✱ ♥♦ ❡♣ ❬❥✱❦✱✳✳❪✱ ≥ ✶ CCR r❝✈❞ ❢r♦♠ ❦
ccrBuffk✿ ❤✐❣❤❡st s❡♥❞❡r ❡♣ # ✐♥ t❤❡s❡ CCRs
❋♦r ❡✈❡r② ♦♣❡♥ ❡♣ ❬❥✱❦✱✳✳❪
dtpk✿ s✐❞ ♦❢ ❞t♣ s②st❡♠ ❢♦r ❦ dtpRxQk✿ r❝✈❞ ❞t♣ ♠s❣s ❢♦r dtpk startThread ( doRx() )
SLIDE 25
Pr♦❣r❛♠ Tp ✕ ✸
t♣ ♣r♦❣r❛♠✿ ✉♥❜♥❞❡❞ ❡♣ ★s
✐♥♣✉t ♠②s✐❞✳❛❝❝❡♣t()✿ ✇❤✐❧❡ ✭tr✉❡✮ ❛✇❛✐t ✭♥♦t s❡r✈❡r✲♠♦❞❡ ♦r ccrBuff ♥♦t ❡♠♣t②✮ ✐❢ ✭♥♦t s❡r✈❡r✲♠♦❞❡✮ r❡t✉r♥ [] ❦ ← ❡❛r❧✐❡st ❦❡② ✐♥ ccrBuff ✭stk✱ lnk✱ rnk✮ ← ✭♣♦♣✱ ♥❣❡♥ + +✱ crBuffk ❞❡❧❡t❡✮ ✇❤✐❧❡ ✭tr✉❡✮ ✐❢ ✭stk ✐s ♣♦♣✮
cj✳t①✭❦✱ [SCR✱ ❥✱ ❦✱ ♥✱ rnk]
❡❧s❡ ✐❢ ✭stk = ♦♣❡♥✮ r❡t✉r♥ ❬❦❪ ❡❧s❡ // stk = RJCT ❞❡❧❡t❡ stk✱ lnk✱ rmk✱ ❜r❡❛❦
SLIDE 26
Pr♦❣r❛♠ Tp ✕ ✹
t♣ ♣r♦❣r❛♠✿ ✉♥❜♥❞❡❞ ❡♣ ★s
✐♥♣✉t ♠②s✐❞✳❡♥❞❙❡r✈❡r()✿ ❛✇❛✐t ✭tr✉❡✮ ❡①✐t s❡r✈❡r✲♠♦❞❡ ❢♦r ✭❦ ✐♥ ❝❝r❇✉✛✳❦❡②s✮
cj✳t①✭❦✱ [REJ✱ ❥✱ ❦✱ ccrBuffk, −1]✮
❡♠♣t② ccrBuff ❛✇❛✐t ✭♥♦ ♦♥❣♦✐♥❣ ❛❝❝♣❡t✮ r❡t✉r♥
SLIDE 27
Pr♦❣r❛♠ Tp ✕ ✺
t♣ ♣r♦❣r❛♠✿ ✉♥❜♥❞❡❞ ❡♣ ★s
✐♥♣✉t ♠②s✐❞✳❝♦♥♥❡❝t✭❦✮✿ ❛✇❛✐t ✭tr✉❡✮ ✭stk✱ lnk✱ rnk✮ ← ✭❛♦♣✱ ♥❣❡♥ + +✱ −✶✮ ✇❤✐❧❡ ✭tr✉❡✮ ❛✇❛✐t ✭tr✉❡✮ ✐❢ ✭stk ✐s ❛♦♣✮
cj✳t①✭❦✱ [CCR✱ ❥✱ ❦✱ ♥✱ rnk]
❡❧s❡ ✐❢ ✭stk = ♦♣❡♥✮ r❡t✉r♥ ❬❦❪ ❡❧s❡ // stk = RJCT ❞❡❧❡t❡ stk✱ lnk✱ rmk r❡t✉r♥ ❬❪
SLIDE 28
Pr♦❣r❛♠ Tp ✕ ✻
t♣ ♣r♦❣r❛♠✿ ✉♥❜♥❞❡❞ ❡♣ ★s
✐♥♣✉t ♠②s✐❞✳t①(❦✱ ❞❛t❛)✿
dtpk✳t①(❦✱ ❞❛t❛)
r❡t✉r♥ ✐♥♣✉t ♠②s✐❞✳r①(❦)✿ r✈❛❧ ← dtpk✳r①() r❡t✉r♥ r✈❛❧ ✐♥♣✉t ♠②s✐❞✳❞t①(❦✱ ❞t♠s❣)✿ ❛✇❛✐t ✭tr✉❡✮
cj✳t①([EDT , j, k, lnk, rnk, dtmsg])
r❡t✉r♥ r✈❛❧ ✐♥♣✉t ♠②s✐❞✳❞r①(❦)✿ ❛✇❛✐t ✭dtpRxQk ♥♦t ❡♠♣t②✮ r❡♠♦✈❡ ❤❡❛❞ ♦❢ dtpRxQk r❡t✉r♥ ✐t
SLIDE 29
Pr♦❣r❛♠ Tp ✕ ✼
t♣ ♣r♦❣r❛♠✿ ✉♥❜♥❞❡❞ ❡♣ ★s
✐♥♣✉t ♠②s✐❞✳❝❧♦s❡(❦)✿
dtpk✳❝❧♦s❡()
❞❡❧❡t❡ dtpk✱ dtpRxQk r❡t✉r♥ ❞♦❘①()✿
// ❡①❡❝✉t❡❞ ❜② ❧♦❝❛❧ t❤r❡❛❞
✇❤✐❧❡ ✭tr✉❡✮ ✭t②♣❡✱ ❦✱ ♠✱ ♥✱ ❞t♠s❣✮ ← cj✳r①() ❤❛♥❞❧❡<t②♣❡>✭❦✱ ♠✱ ♥✱ ❞t♠s❣✮
// ❞t♠s❣ ♦♥❧② ❢♦r EDT
❤❡❧♣❡r ❢♥ st❛rt❉t♣✭❦✮✿
dtpk ← st❛rt GcDtp(❥✱ ❦✱ ♠②s✐❞✱ ✳✳✳) dtpRxQk ← []
SLIDE 30
Pr♦❣r❛♠ Tp ✕ ✽
t♣ ♣r♦❣r❛♠✿ ✉♥❜♥❞❡❞ ❡♣ ★s
❤❡❧♣❡r ❢♥ ❤❛♥❞❧❡❈❈❘✭❦✱ ♠✱ ♥✮✿ ✐❢ ✭♥♦ stk✮ ✐❢ ✭♥♦t s❡r✈❡r✲♠♦❞❡✮
cj✳t①✭[REJ✱ ❥✱ ❦✱ ♥✱ ♠]✮
❡❧s❡ ✐❢ ✭♥♦ ccrBuffk ♦r ♠ > ccrBuffk✮
ccrBuffk ← ♠
❡❧s❡ ✐❢ ✭stk✮ ✐s ❛♦♣ ❛♥❞ ♥ = lnk✮ ✭stk✱ rnk✮ ← ✭♦♣❡♥✱ ♠✮ st❛rt❉t♣(❦) ❡❧s❡ ✐❢ ✭stk✮ ✐s ♣♦♣ ❛♥❞ ♠ > rnk✮
rnk ← ♠
❡❧s❡ ✐❢ ✭stk✮ ✐s ♦♣❡♥✮ ✐❢ ✭[♠✱ ♥] = [rnk✱ lnk]✮
cj✳t①✭[CRACK✱ ❥✱ ❦✱ ♥✱ ♠]✮
❡❧s❡ ✐❢ ✭♠ > rnk✮
cj✳t①✭[REJ✱ ❥✱ ❦✱ ♥✱ ♠]✮ // dtpRxQk✳❛♣♣❡♥❞([FINACK]) ❄❄
SLIDE 31
Pr♦❣r❛♠ Tp ✕ ✾
t♣ ♣r♦❣r❛♠✿ ✉♥❜♥❞❡❞ ❡♣ ★s
❤❡❧♣❡r ❢♥ ❤❛♥❞❧❡❙❈❘✭❦✱ ♠✱ ♥✮✿ ✐❢ ✭♥♦ stk✮
cj✳t①✭[REJ✱ ❥✱ ❦✱ ♥✱ ♠]✮
❡❧s❡ ✐❢ ✭stk✮ ✐s ❛♦♣ ❛♥❞ ♥ = lnk✮ ✭stk✱ rnk✮ ← ✭♦♣❡♥✱ ♠✮ st❛rt❉t♣(❦)
cj✳t①✭[CRACK✱ ❥✱ ❦✱ ♥✱ ♠]✮
❡❧s❡ ✐❢ ✭stk✮ ✐s ♣♦♣ ❛♥❞ ♠ > rnk✮
cj✳t①✭[REJ✱ ❥✱ ❦✱ ♥✱ ♠]✮
❡❧s❡ ✐❢ ✭stk✮ ✐s ♦♣❡♥✮ ✐❢ ✭[♠✱ ♥] = [rnk✱ lnk]✮
cj✳t①✭[CRACK✱ ❥✱ ❦✱ ♥✱ ♠]✮
❡❧s❡ ✐❢ ✭♠ > rnk✮
cj✳t①✭[REJ✱ ❥✱ ❦✱ ♥✱ ♠]✮ // dtpRxQk✳❛♣♣❡♥❞([FINACK]) ❄❄
SLIDE 32
Pr♦❣r❛♠ Tp ✕ ✶✵
t♣ ♣r♦❣r❛♠✿ ✉♥❜♥❞❡❞ ❡♣ ★s
❤❡❧♣❡r ❢♥ ❤❛♥❞❧❡❈❘❆❈❑✭❦✱ ♠✱ ♥✮✿ ✐❢ ✭stk ❡①✐sts ❛♥❞ stk ✐s ❛♦♣ ♦r ♣♦♣ ❛♥❞
[♠✱ ♥] = [rnk✱ lnk]✮ stk ← ♦♣❡♥
st❛rt❉t♣(❦) ❤❡❧♣❡r ❢♥ ❤❛♥❞❧❡❘❊❏✭❦✱ ♠✱ ♥✮✿ ✐❢ ✭stk ❡①✐sts ❛♥❞ stk ✐s ❛♦♣ ♦r ♣♦♣ ❛♥❞
[♠✱ ♥] = [rnk✱ lnk]✮ stk ← r❥❝t❞
SLIDE 33
Pr♦❣r❛♠ Tp ✕ ✶✶
t♣ ♣r♦❣r❛♠✿ ✉♥❜♥❞❡❞ ❡♣ ★s
❤❡❧♣❡r ❢♥ ❤❛♥❞❧❡❊❉❚✭❦✱ ♠✱ ♥✱ ❞t♠s❣✮✿ ✐❢ ✭♥♦ stk✮ ✐❢ ✭❞t♠s❣ ❂ [FIN]✮
cj✳t①✭[EDT✱ ❥✱ ❦✱ ♥✱ ♠✱✱[FINACK]]✮
❡❧s❡ ✐❢ ✭stk ✐s ❛♦♣ ♦r ♣♦♣ ❛♥❞
[♠✱ ♥] = [rnk✱ lnk]✮ stk ← ♦♣❡♥
st❛rt❉t♣✭❦✮
dtpRxQk✳❛♣♣❡♥❞✭❞t♠s❣✮
❡❧s❡ ✐❢ ✭stk ✐s ♦♣❡♥ ❛♥❞
[♠✱ ♥] = [rnk✱ lnk]✮ dtpRxQk✳❛♣♣❡♥❞✭❞t♠s❣✮
SLIDE 34 ❖✉t❧✐♥❡
t♣ ♣r♦❣r❛♠✿ ❝②❝❧✐❝ ❡♣ ★s
❖✈❡r✈✐❡✇
- r❛❝❡❢✉❧✲❝❧♦s✐♥❣ ❞❛t❛ tr❛♥s❢❡r ♣r♦t♦❝♦❧
❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ❞❡s❝r✐♣t✐♦♥ ❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ♣r♦❣r❛♠✿ ✉♥❜♦✉♥❞❡❞ ❡♥❞♣♦✐♥t ♥✉♠❜❡rs ❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ♣r♦❣r❛♠✿ ❝②❝❧✐❝ ❡♥❞♣♦✐♥t ♥✉♠❜❡rs ❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ✇✐t❤ ❛❜♦rt
SLIDE 35
❯s✐♥❣ ❝②❝❧✐❝ ❡♥❞♣♦✐♥t ♥✉♠❜❡rs
t♣ ♣r♦❣r❛♠✿ ❝②❝❧✐❝ ❡♣ ★s
❆❜♦✈❡ ♣r♦t♦❝♦❧ ❝❛♥ ✉s❡ ♠♦❞✉❧♦✲N ❡♥❞♣♦✐♥t ♥✉♠❜❡rs ✐❢ ◆ ≥ ✻L + ✹W + ✷C δ L✿ ♠❛① ♠❡ss❛❣❡ ❧✐❢❡t✐♠❡ ♦❢ t❤❡ ▲❘❉ ❝❤❛♥♥❡❧ δ✿ ♠✐♥ t✐♠❡ ❜❡t✇❡❡♥ ♥❣❡♥ ✐♥❝r❡❛s❡s ✭♥❡✇ ❡♥❞♣♦✐♥ts✮ ❛t ❛♥ ❛❞❞r W ✿ ♠❛① ♦♣❡♥✐♥❣ ❞✉r❛t✐♦♥ ♦❢ ❛♥ ❡♥❞♣♦✐♥t C✿ ♠❛① ♦♣❡♥ ❞✉r❛t✐♦♥ ♦❢ ❛♥ ❡♥❞♣♦✐♥t ◆♦t❡ L✱ δ ❛r✐s❡ ❛s ✐♥ s❧✐❞✐♥❣ ✇✐♥❞♦✇ ♣r♦t♦❝♦❧ W ✱ C ❛r✐s❡ ❜❡❝❛✉s❡ ❥ tr❛❝❦s ❦ ♦♥❧② ✇❤✐❧❡ ♦♣❡♥✐♥❣✴♦♣❡♥ t♦ ✐t s❡t C t♦ ✵ ❢♦r ❝♦rr❡❝t♥❡ss ✇✐t❤ Pr ≈ ✶ − (✶/N✷)
SLIDE 36
❆♥❛❧②s✐s ✕ ✶
t♣ ♣r♦❣r❛♠✿ ❝②❝❧✐❝ ❡♣ ★s
▲❡t ❥ r❝✈ ♠s❣ [✳✱ ❦✱ ❥✱ ♠✱ ♥] ✇❤❡♥ ✐t ❤❛s ❡♣ [❥✱ ❦✱
n✱ m]
▼❡ss❛❣❡ ❘❡❝❡✐✈✐♥❣ ❡♥❞♣♦✐♥t P♦ss✐❜❧❡ t❡sts
[CCR|SCR✱❦✱❥✱♠✱♥] [♣♦♣⑤❛♦♣, n, m] n = n❀ m > m❀ m > ccrBuff[k] [CCR|SCR,k,j,m,n] [♦♣❡♥, n, m] m = m❀ n = n❀ m > m [CRACK|REJ,k,j,m,n] [❛♦♣⑤♣♦♣, n, m] m = m❀ n = n [EDT ,k,j,m,n,.] [❛♦♣⑤♣♦♣⑤♦♣❡♥, n, m] m = m❀ n = n
◆❡❡❞ K st ♠ −
m ❛♥❞ ♥ − n ✇rt ❛❜♦✈❡ t❡sts
SLIDE 37 ❆♥❛❧②s✐s ✕ ✷
t♣ ♣r♦❣r❛♠✿ ❝②❝❧✐❝ ❡♣ ★s
❋♦❧❧♦✇✐♥❣ ❛r❡ ✐♥✈❛r✐❛♥t F✶ : ✭[j,k,
n, m] ❡①✐sts✮
⇒
F✷ : ✭[j,k,
n, m] ❡①✐sts✮ ❛♥❞ ✭[.,k,j,m,n] r❝✈❜❧✮
⇒
m ≤ k.nGen
F✸ : ✭[j,k,
n, m] ❡①✐sts✮
⇒
F✹ : ✭[j,k,
n, m] ❡①✐sts✮ ❛♥❞ ✭[.,k,j,m,n] r❝✈❜❧✮
⇒
n ≤ n ❜
F✺ : ✭[j,k,
n, m] ♦♣❡♥✐♥❣✮
⇒
k.nGen ≤ m + (L + ✷W )/δ
F✻ : ✭[j,k,
n, m] ♦♣❡♥✮
⇒
k.nGen ≤ m + (C + L + ✷W )/δ
SLIDE 38
❆♥❛❧②s✐s ✕ ✸
t♣ ♣r♦❣r❛♠✿ ❝②❝❧✐❝ ❡♣ ★s
❋♦❧❧♦✇✐♥❣ ❛r❡ ✐♥✈❛r✐❛♥t G✶ : [❥✱❦✱
n✱ m] ♦♣❡♥✐♥❣ ❛♥❞ [✳✱❦✱❥✱♠✱♥] r❝✈❜❧
⇒ ✭♠ = −✶ ♦r
m = −✶ ♦r ♠ ≤ m ✰ (L + ✷W )/δ✮
G✷ : ✭[j,k,
n, m] ♦♣❡♥✮ ❛♥❞ ✭[.,k,j,m,n] r❝✈❜❧✮
⇒ ♠ ≤
m ✰ (C + L + ✷W )/δ
G✸ : ✭[❥✱❦✱
n✱ m] ♦♣❡♥✐♥❣ ♦r ♦♣❡♥✮ ❛♥❞ ✭[CCR|SCR✱❦✱❥✱♠✱♥] r❝✈❜❧✮ ⇒
♠ ≥
m − (L + W )/δ ❛♥❞ ♥ ≥ n −(✷L + ✷W )/δ
G✺ : ✭[❥✱❦✱
n✱ m] ♦♣❡♥✐♥❣✮ ❛♥❞ ✭[CRACK✱❦✱❥✱♠✱♥] r❝✈❜❧✮ ⇒
♠ ≥
m −(✷L + ✷W )/δ ❛♥❞ ♥ ≥ n −(✷L + W )/δ
G✻ : [❥✱❦✱
n✱ m] ♦♣❡♥✐♥❣ ❛♥❞ [REJ✱❦✱❥✱♠✱♥] r❝✈❜❧
⇒ ♠ ≥
m −(✸L + ✷W )/δ ❛♥❞ ♥ ≥ n −(✷L + W )/δ
G✼ : [❥✱❦✱
n✱ m] ♦♣❡♥✐♥❣ ♦r ♦♣❡♥ ❛♥❞ [EDT✱❦✱❥✱♠✱♥✱✳] r❝✈❜❧ ⇒
♠ ≥
m −(L + C + W )/δ ❛♥❞ ♥ ≥ n −(L + C + ✷W )/δ
SLIDE 39
❆♥❛❧②s✐s ✕ ✹
t♣ ♣r♦❣r❛♠✿ ❝②❝❧✐❝ ❡♣ ★s
❋r♦♠ t❤❡ ❛❜♦✈❡✱ t❤❡ ❢♦❧❧♦✇✐♥❣ ❤♦❧❞ H✶ : m ≤
m + (C + L + ✷W )/δ // G✶✱ G✷
H✷ : m ≥
m − ♠❛①(✸L + ✷W , L + C + W )/δ // G✸✕G✼
H✸ : n ≤
n // F✹
H✹ : n ≥
n − ♠❛①(✷L + ✷W , L + C + ✷W )/δ // G✸✕G✼
H✺ : − ♠❛①(✸L+✷W , L+C +W )/δ ≤ m−
m ≤ (C +L+✷W )/δ // H✶✱ H✷
H✻ : − ♠❛①(✷L + ✷W , L + C + ✷W )/δ ≤ n −
n ≤ n // H✸✱ H✹
H✼ : K
≤ m − m, n − n ≤ K✱ ✇❤❡r❡ K = (✸L + ✷W + C)/δ // H✺✱ H✻
SLIDE 40 ❚♣ ✇✐t❤ ♠♦❞✉❧♦✲◆ ❡♣ ★s
t♣ ♣r♦❣r❛♠✿ ❝②❝❧✐❝ ❡♣ ★s
❊♣ ★s ✐♥ ♠s❣s ❛♥❞ ✈❛rs ♥♦✇ r❛♥❣❡ ♦✈❡r −✶..◆ − ✶ ❖♣t✐♦♥❛❧✿ ♥❣❡♥ ✐s ♥♦✇ ♠♦❞✉❧♦✲◆ ❚❡sts ✐♥✈♦❧✈✐♥❣ t❤❡s❡ ✈❛❧✉❡s ❛r❡ ♥♦✇ ❛s ❢♦❧❧♦✇s ❖❧❞ t❡st ◆❡✇ t❡st
m = rn[k]
♥♦ ❝❤❛♥❣❡
n = ln[k]
♥♦ ❝❤❛♥❣❡
m > ccrBuff[k]
✶ ≤ mod(m − ccrBuff[a1]) ≤ N/✷
m > rn[k] (rn[k] = −1 and m = −1)
- r ✶ ≤ mod(m − rn[k]) ≤ N/✷
SLIDE 41 ❖✉t❧✐♥❡
❛❜♦rt❛❜❧❡ t♣
❖✈❡r✈✐❡✇
- r❛❝❡❢✉❧✲❝❧♦s✐♥❣ ❞❛t❛ tr❛♥s❢❡r ♣r♦t♦❝♦❧
❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ❞❡s❝r✐♣t✐♦♥ ❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ♣r♦❣r❛♠✿ ✉♥❜♦✉♥❞❡❞ ❡♥❞♣♦✐♥t ♥✉♠❜❡rs ❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ♣r♦❣r❛♠✿ ❝②❝❧✐❝ ❡♥❞♣♦✐♥t ♥✉♠❜❡rs ❚r❛♥s♣♦rt ♣r♦t♦❝♦❧ ✇✐t❤ ❛❜♦rt
SLIDE 42
❊①t❡♥❞✐♥❣ ❚♣ ✇✐t❤ ❛❜♦rts
❛❜♦rt❛❜❧❡ t♣
❚♣ ♥♦✇ ❛❜♦rts ❡♥❞♣♦✐♥t ✐❢ r❡s♣♦♥s❡ t♦ ❛ ♣r✐♠❛r② ♠❡ss❛❣❡ ♥♦t r❝✈❞ ❛❢t❡r K r❡s❡♥❞s r❡t✉r♥s ♦❢ ❢✉♥❝t✐♦♥s ❞✐st✐♥❣✉✐s❤ ❜❡t✇❡❡♥ ❝❧♦s✐♥❣ ✭♦r r❡❥❡❝t✐♦♥✮ ❛♥❞ ❛❜♦rt ✉s❡ t❤❡ ❛❜♦rt❛❜❧❡ ❞t♣ ♣r♦❣r❛♠ ❛♥❞ s❡r✈✐❝❡