chapter 3 [ RPC ] Flashcards

1
Q

what is the most used model for organizing distributed applications?

A

client-server model

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

what is a Chained Client-Server Interactions?

A

when a server acts as a client for another server

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

what is the downside of a Client-Server Model?

A
  • usually doesn’t run faster than a centralized application
  • client waits while server works
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

what are advantages of a Client-Server Model?

A
  • specialized resources [ faster cpu, larger memory ]
  • splits up the application
  • allows server use by multiple clients
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

what is RPC?

A

the extension of local procedure calls into the context of a distributed system

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

how does RPC work?

A

by converting procedure call invocations into network messages and vice versa

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

what is a stub?

A

a piece of code on the client side that converts:
- function call to network req
- network resp to function returns

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

what is a skeleton?

A

is a piece of code on the server side that converts:
- net req to function call
- function return to net response

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

how are stubs and skeletons generated?

A

automatically by the RPC

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

what are limitations of RPC?

A

clients and servers do not share:
- address space
- file descriptors
- global vars
- func params

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

what constraints does RPC place on client-server model?

A
  • server needs to have function prototypes
  • both client and server can have internal data that can not be accessed by the other
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

what is sun RPC?

A

is a mechanism that automatically generates client stub and server skeleton using RPC compiler rpcgen.

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

sun rpc is _________ dependent and ________ independent?

A

language [ c ] and platform

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

what is port mapper?

A

a protocol that permits a client to look up the port number of programs hosted on the server

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

What port is port mapper?

A

port 111

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

what do we mean by RPC runtime is unaware?

A
  • it doesn’t know about function prototypes, procedure names, what the procedures are doing or what arguments they take
17
Q

what is the only thing an RPC is concerned with?

A

managing requests and shipping response buffers

18
Q

what is the downside of using UDP based RPC?

A
  • lose of req and resp
19
Q

what happens if a request gets lost in a UDP based RPC?

A
  • client automatically resends request until it receives a response
20
Q

what happens if a response gets lost in a UDP based RPC?

A
  • server will be invoked several times [ however many times it takes ] until response is sent
21
Q

what type of server is recommended if using UDP based RPC?

A

idempotent server : performing an operation once is the same as performing it multiple times

22
Q

what is (Un)Marshalling Parameters?

A

process of converting parameters from a lower level representations to a higher level representations and vice versa

23
Q

what is the lower level and higher level representation of parameters respectively?

A
  • buffers and C variables
24
Q

what is in charge of parameter conversion?

A

XDR [ external data representation ] layer

25
Q

what is the role of client Stub in XDR context?

A

calls XDR function to:
- marshal procedure params to buffers
- un marshal function return to variables

26
Q

what is the role of server Skeleton?

A
  1. defines a function that handles incoming requests
  2. creates TCP and UDP server sockets and registers them to the port mapper
  3. registers function created at 1 to RPC system
  4. waits for incoming requests from RPC