2 - Architectures Flashcards

1
Q

Architectural Style: Definition

A

Components with well defined interfaces.
Relationships between components

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

Connector: Definition

Components

A

Mechanism that mediates comms between components

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

Architectural Styles: List of styles

A

Layered
Object based
Data centred
Event based

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

What is an example of a layered style?

A

The Internet Protocol stack

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

Object Based: Definition

A

Components are objects
Objects encapsulate data and offer methods
Objects may be on different machines

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

Object based: Communication method

A

RPC (Remote Procedure Call)

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

Object based: Examples

A

Common Object Request Broker Architecture
Java Remote Method Invocation

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

Object based: CORBA

A

Common Object Request Broker Architecture

Middleware that supports RPCs
Support of different platforms and languages
OOP approach but other programs possible

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

Object Based: RMI

A

Java Remote Method Invocation

Allows method calls between JVMs.
Locally or multiple computers
Platform independent

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

Data centred: Definition

A

Shared data approach

Communicate via a repository
Common in web apps

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

Data centred: Examples

A

RESTful Architecture
Amazon Simple Storage Service

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

Data centred: RESTful Architecture

A

Collection of resources managed by components.

Resources added, removed, retrieved and modified by remote apps

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

Data centred: Amazon S3

A

Simple Storage Service

Objects stored in buckets
Operations sent as HTTP requests

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

Event based: Definition

(pub/sub)

A

Publish/Subscriber systems (queues)

Components publish messages on an event bus
Components subscribe to event bus while specifying desired type

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

Event based: Do components/processes have explicit references?

A

No

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

Event based: Example

A

OpenStack Cloud Software

Data centred (Database)
Event Based (Message Broker)

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

Middleware: Definition

A

Software layer on top of the OS

Adds additional services LIKE comms and I/O routines
Can handle replication-related tasks
Makes using different (heterogeneous) hardware easier

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

Middleware: Transparency

A

OS and hardware hidden by middleware

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

Middleware: Design Patterns

(two different design types)

A

Wrapper - Offers client app interface
Interceptor - Breaks flow of comms to allow other code to exec

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

Middleware: Example

A

Object-based system

App calls method doit of obj B. App is unaware of B’s location.

Call intercepted and sent to object B

21
Q

Centralised Arch: Definition

A

Uses a central coordination system to direct services

22
Q

Centralised Arch: Examples:

A

Application Layering
Client server and multi- architectures
Two tiered configurations

23
Q

Peer to Peer (P2P): Definition

In terms of the load

A

Horizontal distribution of components and load (not vertical)

24
Q

P2P: Asymmetric or symmetric?

A

Symmetric. Processes are servers and clients simultaneously

25
Q

P2P: Centralised or decentralised?

A

Decentralised

26
Q

P2P: Structured or unstructured?

A

Either!

27
Q

Hypercube: Definition

A

Structured P2P which can be used to store data

28
Q

Hypercube: Common practice for location identification

A

Use a hash funciton to map data items to keys identifying the node location

Key(item) = hash(item’s value)

29
Q

Chord: Organisation shape

A

Ring

30
Q

Chord: Data location (eg for virtual nodes)

A

Data with key k is stored at the node with the smallest id >= k (successor)

31
Q

Chord: Successor

A

Next node with the smallest identifier greater than or equal to the key number

32
Q

Overlay Network: Definition

A

Virtual Network on top of a physical network.

Links usually not physical but path of physical links

33
Q

Unstructured P2P: Nodes maintain what? What does the overlay resemble?

A

Each node maintains a list of neighbours and the resulting overlay resembles a random graph

34
Q

Unstructured P2P: Search Types

A

Random Walks
Flooding

35
Q

Unstruct. P2P: Random Walks

A

Send request to random neighbour, v
if v has data then send back and stop
else repeat for another neighbour

36
Q

Unstruct. P2P: Flooding

A

Send request to all neighbours (v) with reduced hop counter
If v has data, has seen request before or hop counter = 0 then stop and send back data (if applic.)
If not v forwards to all neighbours

37
Q

If there are N nodes in a unstruct. P2P net with r nodes having the correct data, what is the expected number of nodes to be checked? Random walk vs Flooding

A

Random = N/r
Flooding = Smallest k that fulfills d*(d-1)k-1>=N/r

38
Q

Flooding vs Random Walk

A

Flooding is faster but sends more messages.

Data may be found but child processes only stop when hop counter = 0 and the hop counter must be larger than the expected number of steps (wasted messages)

39
Q

Superpeer: What problem are they trying to solve?

A

Searching in unstructured networks is resource-intensive

40
Q

Superpeer: Concept

A

Introduce partial-structures which form a backbone net.

Each (weak) peer is assigned to a superpeer that keeps an index

All comms are via superpeers

41
Q

Superpeer: Problem

A

Failure of a superpeer can be fatal so backups are required.

42
Q

Adaptive Systems: List

A

Feedback Control Model
Content Delivery Networks

43
Q

Feedback Control Model

A

Used to automatically adjust a distributed system by analysing metrics which are compared to a reference output.

If necessary, corrections are issued

44
Q

Content Delivery Network

A

Large, automatically adjusting media delivery systems

System decides whether to replicate content and where.

45
Q

Three tiered approach. Layers

A

Interface
processing
data

46
Q

Flooding how not to waste messages

A

Set the initial hop counter to exactly the diameter of the network (otherwise to ensure finding the data, it must be at least the diameter)

47
Q

What kind of overlay network might you choose for broadcasts/multicasts?

A

Acyclic Graph - a tree so there’s only single paths to nodes.

48
Q

Middleware in terms of layers

A

Above transport but below application layer