Request-reply protocols Flashcards

1
Q

What is the typical pattern for client-server interaction?

A

Client sends request
Server receives request
Server handles request
Server handles response
Client receives response and continues

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are some data requirements for request-reply APIs?

A

The server needs to be identified by a remote reference (host IP and port number)
Choice of operation as the server may support several different operations (explicit operation ID)
Client and server must agree on how arguments are encoded - external data representation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Name some things needed for request-reply implementation?

A

Message identifiers, failure model, timeouts, duplicate request messages, history

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Describe message identifiers

A

Typically each request is given a unique ID

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Describe failure model

A

Can suffer from communication omission faults and process omission faults

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Describe timeouts

A

Client typically uses a timeout to detect a missing reply - the client then retransmits the request

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Describe duplicate request messages

A

Can be detected in the server from the duplicate message identifier

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Describe history

A

With idempotent operations performing the operation twice makes no difference (e.g. setting a variable) but with other operations the server should not execute a duplicate request twice
Results are held in history and re-sent back to the client if a duplicate request is received

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Compare and contrast TCP and UDP

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly