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
P2P: Centralised or decentralised?
Decentralised
26
P2P: Structured or unstructured?
Either!
27
Hypercube: Definition
Structured P2P which can be used to store data
28
Hypercube: Common practice for location identification
Use a hash funciton to map data items to keys identifying the node location Key(item) = hash(item's value)
29
Chord: Organisation shape
Ring
30
Chord: Data location (eg for virtual nodes)
Data with key k is stored at the node with the smallest id >= k (successor)
31
Chord: Successor
Next node with the smallest identifier greater than or equal to the key number
32
Overlay Network: Definition
Virtual Network on top of a physical network. Links usually not physical but path of physical links
33
Unstructured P2P: Nodes maintain what? What does the overlay resemble?
Each node maintains a list of neighbours and the resulting overlay resembles a random graph
34
Unstructured P2P: Search Types
Random Walks Flooding
35
Unstruct. P2P: Random Walks
Send request to random neighbour, v if v has data then send back and stop else repeat for another neighbour
36
Unstruct. P2P: Flooding
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
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
Random = N/r Flooding = Smallest k that fulfills d*(d-1)k-1>=N/r
38
Flooding vs Random Walk
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
Superpeer: What problem are they trying to solve?
Searching in unstructured networks is resource-intensive
40
Superpeer: Concept
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
Superpeer: Problem
Failure of a superpeer can be fatal so backups are required.
42
Adaptive Systems: List
Feedback Control Model Content Delivery Networks
43
Feedback Control Model
Used to automatically adjust a distributed system by analysing metrics which are compared to a reference output. If necessary, corrections are issued
44
Content Delivery Network
Large, automatically adjusting media delivery systems System decides whether to replicate content and where.
45
Three tiered approach. Layers
Interface processing data
46
Flooding how not to waste messages
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
What kind of overlay network might you choose for broadcasts/multicasts?
Acyclic Graph - a tree so there's only single paths to nodes.
48
Middleware in terms of layers
Above transport but below application layer