H2: Middleware Flashcards

(30 cards)

1
Q

Hoe werkt Chord Search?

A

Een chain van remote procedure calls tot dat het gezochte resultaat is gevonden.

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

Wat is de 4-Tuple van een Berkeley socket?

A

IP src, port src, ip dst, port dst

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

Hoe werkt de interactie met Berkeley sockets

A

sockets -> connect -> accept -> write -> read -> write -> read -> write -> read -> close -> read

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

Wanneer worden socket, bind en listen gebruikt?

A

Socket maakt een nieuwe connection endpoint
Bind linkt een lokaal address met de socket (server)
Listen is willing om N connecties te accepteren

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

Welke extra’s komen er nog bij bij remote invocation die nodig zijn? (5)

A

Creating sockets
Byte streaming (marshalling)
Fault tolerance
Multi threading
Closing sockets

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

Uni processor vs Multi-processor vs Multicomputer:
- OS infrastructuur
- Memory access

A

OS infrastructuur:
- Een simpele machine, 1 kernel, 1 core
- Multiple cores, multi CPU, 1 machine
- Heel verschillend
Memory access:
- Direct memory access
- Direct memory access (Uniform of niet uniform (NUMA))
- Geen directe memory access

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

Welke 3 taken zitten nog tussen applications en OS Wat is de verzamelnaam?

A
  • RPCs en RMIs
  • Request reply protocol
  • External data representation
    Verzamelnaam: Middleware
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Hoe kan je een method invocation via dezelfde address space doen?

A

Je gaat eerst het Object (Class) verkrijgen met een Object Reference (bv. Pointer) en dan via het Interface (Methodes) de methode aanroepen die je nodig hebt.

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

Hoe kan je een method invocation doen buiten de address space?

A

Remote Object (bv. service) eerst localiseren en kunnen bereiken via Remote Object Reference (URL), en dan via de remote interface de juiste methode aanspreken (API)

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

Wat is een remote object reference? Welke items zitten hierin (5)?

A

Een ID wat uniek is voor objects in een distributed system over tijd en ruimte.
IP + Port + Creation Time + Object nr + Interface

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

Wanneer is iets een local invocation en wanneer is iets een remote invocation? Hoe wordt het opgeroepen? Hoe zit het met access? Hoevaak wordt het invoked?

A

Alleen binnen hetzelfde process is het een local invocation. Opgeroepen met een Local of Remote Object Reference. De externe interface is natuurlijk veel stricter dan de interne. De lokale wordt exact 1 keer geinvoceert, bij extern kan er nog veel meer gebeuren maar weten we het niet omdat we dit niet weten door proxies en andere zaken.

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

Wat zijn de 5 failure modes van RMI/RPC?

A
  • Lost Request
  • Lost Reply
  • Client failed voor receiving reply
  • Server failed voor execution
  • Server crashed tijdens execution, voor de reply
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Hoe kan men de failure modes van RMI/RPC oplossen? (3)

A
  • Request opnieuw sturen
  • Duplicates filteren
  • Reply opnieuw sturen (kan met table of opnieuw runnen)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wat zijn invocation semantics?

A

De geranties op het aantal executies na een remote invocation.

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

Wat zou verborgen moeten zijn bij een remote invocation? (4)

A
  • Location / contact met remote object
  • Marshalling
  • Fault tolerance measures
  • Communications details (sockets)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wat zou een gebruiker moeten weten bij een remote invocation? (3)

A
  • Of object remote is
  • Invocation semantics
  • Failures
17
Q

Welke component zorgt ervoor dat requests naar de juiste remote objects methodes gaan?

A

Remote reference module

18
Q

Hoe krijg je de initiele reference voor een remote reference module? (2)

A
  • Server contacteren
  • Binding service
19
Q

Waarom moet je al de middelware code niet schrijven?

A

Zit in de IDL (interface descriptive language).

20
Q

Wat is middelware?

A

De softwarelaag tussen het OS en de applicatie laag die voor communicatie en databeheer tussen systemen zorgt.

21
Q

Wat is een RPC?

A

Een Remote Procedure Call is een protocol dat code op een andere machine laat runnen.

22
Q

Wat is een RMI?

A

Een Remote Method Invocation is een methode om objects van andere Java Virtual Machines op te roepen.

23
Q

Wat is een Socket?

A

Een abstractie voor inter-process communicatie, zet dingen “op de wire”

24
Q

Wat is een proxy? Wat zijn zijn taken?

A

Een component die responsible is voor RMI, maar als een lokaal object gedraagd.
- Marshalling
- Forwarding
- Unmarshalling

25
Wat is een Skeleton?
Reverse proxy at server side
26
Wat is marshalling?
Transforming objects to bitstreams
27
Wat is een Communication Module?
Een module die communicatie verzorgt tussen proxy en dispatcher. Deze zorgt ook voor de invocation semantics en request- reply protocol.
28
Wat is een dispatcher?
Deze component is aangesloten op de communcatie module en forward alle messages naar de juiste skeleton.
29
Wat is een remote referencing module?
Deze component transleert tussen lokale en remote references en wordt dus gebruikt voor remote object references.
30
Wat is een binding service?
Deze is een dictionary service voor middleware, soort DNS server.