P4L1. Remote Procedure Calls Flashcards

1
Q

What is RPC?

A

Remote Procedure Calls: An IPC mechanism that specifies that the processes interact via a procedure call interface. It’s intended to simplify the development of cross-address space & cross-machined interactions.

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

What are the benefits of RPC?

A

+ higher-level interface for data movement and communication + automates error handling + hides complexities of cross-machine interactions

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

What are RPC requirements?

A
  1. Client/Server Interactions 2. Procedure Call Interface 3. Type Checking 4. Cross-Machine Conversion 5. Higher-level Protocol
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

RPC Steps

A

-1. register: server “registers” procedure, args types, location… 0. bind: client finds and “binds to desired server 1. call: client makes RPC call; control passed to stub, client code blocks 2. marshal: client stub “marshals” arguments (serialize args into buffer) 3. send: client sends message to server 4. receive: server receives message; passes message to server-stub; access ctrl 5. unmarshal: server stub “unmarshals” args (extracts and creates data structures) 6. actual call: server stub calls local procedure implementation 7. result: server performs operation and computes result of RPC operation

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

What is an Interface Definition Language (IDL)?

A

An IDL is used to describe the interface the server exports: - procedure name, arg & result types - version # RPC can use IDL that is: - language agnostic (e.g., XDR in SunPRC) - language specific (e.g., Java in Java RMI)

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

What is binding?

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

What is a registry?

A

A registry is a database of available services with information about how to connect to them.

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

How should RPC handle pointers as arguments?

A

Either pointers as arguments should be disallowed or the RPC should build in some kind of support to serialize pointed data

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

What is Sun RPC?

What are its design choices for binding, IDL, pointers, and failures?

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