GoConqr has a new look! Let us know what you think.

Flashcards

311 - Cue cards

Mac Howarth English 174 cards

Cards in this deck (174)

  1. 1What is a distributed system?A system that is comprised of more than one computer, with a goal of reaching a level of performance which is infeasible in a single computer
  2. 2Why do we build distributed systems?The world is distributed, meaning people are everywhere. Distributed systems allow communication and more globally
    Problems rarely hit two different places simultaneously (replication)
    Multiple computers increase performance and availability
  3. 3What is ubiquitous computing?Computing that is made to appear anywhere, anytime.
    can occur using any device, in any location and in any format
  4. 4What is the Byzantines general problem, and what issues do they face?A complication in distributed coordination
    In it's simplest form we have 2 generals
    have to agree whether to attack/retreat
    issues;
    both need to agree the same (A/R)
    both need confirmation of the others choice
    have to trust the response is actually from the other general
    message might never been received
  5. 5What are the eight fallacies of distributed computing?The network is reliable
    Latency is zero
    Bandwidth is infinite
    The network is secure
    Topology doesn't change
    There is one admin
    Transport cost is zero
    The network is homogeneous (the same)
  6. 6What are some future complications for distributed systems?Variety in access, platform, format and administration
    up/down scaling (virtual cloud), relocation and failure
  7. 7What is middleware?Software that sits between the operating system and applications
    Rationale
    provides high level programming abstraction
    hides the complexities of distributed systems
  8. 8What are the goals of middleware?Resource sharing
    Transparency
    Openness
    Extensiblity
    Scalability
    Dependability
  9. 9What is resource sharing (middleware context)?The ability to access and share resources in a distributed environment
  10. 10What is distributed locking?A way for distributed systems to synchronise resources
  11. 11What is transparency (middleware context)?The ability to view a distributed system as if it were a single computer
    e.g. from a user's view point, connection to a remote print would be the same as connecting to a local printer
  12. 12What are the varying dimensions of transparency (middleware context)?Access transparency
    Location transparency
    Concurrency transparency
    Replication transparency
    Fault tolerance transparency
    Migration transparency
    Performance transparency
    Scaling transparency
  13. 13What is openness (middleware context)?Systems should conform to well-defined interfaces
    Should support portability of application
    Should easily interoperate (work reliably with another system)
  14. 14What is extensibility (middleware context)?The ability to be able to introduce new/modified functionality
  15. 15What is scalability (middleware context)?Support growth in the number of users of a service (scalable with respect to size)
    Support distributed systems that span continents (scalable with respect to geography)
    Support systems that span multiple administration organisations (scalable with respect to administration)
  16. 16What is dependability (middleware context)?Providing secure and authenticated channels, access control and key management (security)
    Highly available and resilient to failure (fault tolerance)
  17. 17What are the four styles of middleware, with an example for each?Client-server - distributed computing environment (DCE)
    Distributed object technology - Java RMI
    Group communication services - JGroups
    Publish-subscribe - Java message service (JMS)
  18. 18What are the three styles of exchange protocols?R - request - no value needs to be returned, client fires and forgets no blocking
    RR - request-reply - if reply is lost, request will be re-sent
    RRA - request-reply-acknowledge- server needs to know the client received the message
  19. 19What is RPC?Remote procedure call
    Higher level request-response mechanism supporting the construction of distributed applications
  20. 20What are the aims of RPC?To provide distributed transparency so that it looks like conventional programming
    Hides marshalling
  21. 21What are the transparency issues in RPC?Cost - takes 1-10ms per call
    Exceptions - Need to be handled by the programmer
    Parameter passing - programmer has to explicitly pass the params they require
  22. 22What are problems that can occur when communication modules try to mimic local call semantics?Request might get lost
    reply might get lost
    client may crash
    server may crash
  23. 23What are the four RPC guarantee semantics?Maybe
    At-least-once
    At-most-once
    Exactly once
  24. 24How does the at-least-once guarantee semantic work?Sends message to server
    no reply received after a given amount of time, then the message is resent
    failure assumed after N resends
    good for idempotent operations
  25. 25How does the maybe guarantee semantic work?Send request to server, server replies
    no real guarantee
  26. 26How does the at-most-once guarantee semantic work?Sends request to server
    if reply doesn't make it back to client, it doesn't matter as requests are logged, so when client requests it again it can just reply with the logged request
  27. 27How does the exactly once guarantee semantic work?Message will be delivered to the client exactly once
  28. 28What is RMI?Remote method invocation
    Effectively RPC but with object oriented principles (Also more transparent, and expressive)
  29. 29What is the goal of RMI?To allow one java object to call methods on another object in another JVM
  30. 30What are the components of an RMI system?1 - interface definition of remote services
    2 - implementations of remote services
    3 - server to host remote services(stub)
    4 - RMI naming service/registry
    5- client program which uses the remote services(skeleton)
  31. 31How does parameter passing work in Java RMI?Objects/primitives are passed by value
    Remote objects are access via reference
  32. 32What are three issues we face when using RMI?Malicious mobile code (protection against this using sandboxing)
    Insecure communication (protection against this using encryption)
    No access control (protection against this with authentication)
  33. 33What are two ways we can authenticate?Passwords (hashing)
    Keys (cryptography)
  34. 34What is symmetric key encryption?Both parties have a key which they use to encrypt/decrypt messages, this is done via the use of a shared secret (this is also the drawback, how do we securely exchange a secret?)
  35. 35What is asymmetric key encryption?Public/key private pair
    Client encrypted message with servers public key, server decrypts with it's private key and vice versa
  36. 36What does a challenge-response protocol allow, and what are is the process?A protocol which is able to identify a user without the exchanging of keys
    REQUIRES server to know all secret keys
    Steps;
    client asks to be auth'd
    server says encrypt X with your key
    client encrypts, then sends
    if server can decrypt using secret key, user is authenticated
    (e.g. diffie-hellman)
  37. 37What is mobile code?Mobile code is code which can be migrated from one machine or application to another
  38. 38+ve and -ve of mobile code?+ useful to pass objects from one machine to another
    - big security threat
    - malicious code can compromise server/client
  39. 39What is sandboxing?Mechanism for separating running programs (in a vm for instance) in order to mitigate system failures
  40. 40What is the goal of sandboxing?Distinguish trusted from untrusted code
    Limit what untrusted code can do
  41. 41What are five vulnerabilities distributed systems face?Eavesdropping
    Masquerading
    Tampering
    Replaying
    Repudiation
  42. 42What is eavesdropping?Unauthorised interception of real-time data (done via network sniffing, then reconstructed into actual data)
  43. 43What is masquerading?Attacker fronts as someone they are not e.g. a phishing website pretending to be Amazon
  44. 44What is tampering?Changing parameters to do something unauthorised e.g. SQL Injection, XSS attack etc
  45. 45What is replaying?Valid data transmission is repeated
    usually done by network sniffing the request, which will later on be re-requested by the attack with the hopes of producing the same output as the original
  46. 46What is repudiation?An attack where the attacker can deny that they ever did anything e.g. hacking into your email account, and sending an email
  47. 47What are five security mechanism employed by distributed systems and what do they provide?Encryption - confidentiality of messages
    Authentication - verification of identities
    Digital signatures - prevent data tampering
    Authorisation - defines access rights
    Auditing - analysis of security breaches
  48. 48What are the two main goals of cryptography?Obscurity - be hard to recover plaintext from ciphertext (avalanche effect)
    Diffusion - order is not maintained, making it infeasible to break
  49. 49What is the avalanche effect when referring to cryptography?A desirable property in cryptographic algorithms where if an input is changed slightly the output changes dramatically
  50. 50What are issues arisen with symmetric cryptographic systems?Key exchange - how do we securely communicate a key before having a secure communication channel?
    Scalability - unique key needed for every distinct connection
    Key length - must be adjusted for message size and never re-used
    Vulnerable to reflection attack
  51. 51How does a reflection attack work?1 - attacker initiates a connection to target
    2 - target attempts to authenticate the attacker by sending it a challenge
    3 - attacker opens another connection to the target, and sends the target this challenge as its own
    4 - target responds to the challenge
    5 - attacker sends that response back to the target on the original connection
  52. 52Why are digital signatures required when using public keys?Origin integrity - only the sender can send this message
    Connection integrity - signature cannot be copied from message-to-message
    Non-repudiation - sender cannot credibly deny the signature
  53. 53Why do distributed systems need security managers?Key management - establishment, distribution and deletion
    Authorisation management - access control
    Auditor - event management, prevention and mitigation
  54. 54Why do we use layers in distributed systems?Due to the complexities of distributed systems we use layering to partition the services
  55. 55What are the advantages of layering your architecture?Abstraction - separation of concern
    Re-usability - layers can be used for other systems
    Loose coupling - components don't know about each other, promotes re-usability
  56. 56Why do we use tiering in distributed systems?Tiering complements layering by considering the logical organisation within a layer, and mapping to services
  57. 57What are the three common tiers?Presentation tier - user/app
    Business logic tier - processing of the application
    Data tier - where data is stored
  58. 58What are the advantages of tiering?Increased availability - due to the ability to add more resources at each tier
    Increased flexibility
    Easy to manage - if a tier fails or need maintenance, the whole system isn't affected
    Scalable - add more resources to each tier e.g. more databases at the data tier
  59. 59What is replication and what are the +ve and -ve's?The mapping of services to multiple servers
    + potential higher performance
    + availability
    + scalability
    - requires support to maintain consistency
  60. 60What is Brewer's CAP theorem?A hypothesis that its impossible for a distributed data store to simultaneously provide more than TWO of the following;
    Consistency - every read receives the most recent write or an error
    Availability - every request receives a non-error response
    Partition tolerance - system continues to operator despite message being dropped
  61. 61What is a stateless server and what are some +ve and -ve's?Stateless servers do not keep client state and can change their own state without information the client (REST API)
    + simplifies error recovery
    + improved scalability
    - has no info about the client
  62. 62What is a stateful server and what are the +ve and -ve's?Stateful servers maintain state on each of their clients (e.g. file servers)
    + increased performance
    + can be optimized
    - make crash recovery very complex
  63. 63What are the design patterns used in distributed computing?Proxy pattern
    Smart proxy
    Interception/reflection
    Brokerage
    Observer
    Facade
    Mediator
    Strategy
    Pipeline
  64. 64What is the client-server model and what are the +ve and -ve's?Model which involves client(s) and single server
    + centralised, so easy to manage, has high security and consistent data
    - centralised, so single point of failure (poor availability, reliability)
  65. 65Why would we use a multi-threaded client?Because threads can be used to mask latencies
    This is because a given thread blocks on an invocation (producing delay), meaning one or more other threads can then proceed with computation or other communication
  66. 66Why would we use a multi-threaded server?As we can assign thread to incoming invocations, and also support the concurrent processing of requests
  67. 67What is the proxy pattern?The proxy pattern makes use of a 'proxy' (network connection, object, file) which resides in the local address space and pretends to be the target (potentially remote) object
    - This allows the implementation to provide transparency
    (RMI stub-skeleton)
  68. 68What is indirect communication?Communication between entities in a DS through an intermediary (broker) with no direct coupling between the sender/receiver
  69. 69What are the four types of intermediary in indirect communication?Groups (JGroups)
    Event-based abstractions (Pub-sub)
    Message queues
    Shared memory abstractions (DSM, tuple spaces)
  70. 70What are the two types of uncoupling indirection communication seek?Space uncoupling - sender does not know/need to know the identity of the receiver and vice versa
    easy to update, replace, replicate or migrate
    Time uncoupling - sender and receiver have independent lifetimes (asynchronous)
    useful for mobility, dependability and event dissemination
  71. 71What is a publish-subscribe system?A publish-subscribe system is an event-based system where publishers post events and subscribers express interest in events (indirection communication paradigm)
  72. 72How does a publish-subscribe system work?Events are published asynchronously by publishers who also have the option to advertise the events
    The pub-sub system acts as a middleware between publisher and subscriber
  73. 73What are the four subscription models that pub-subs use?Channel based
    Topic-based (subject based)
    Content based
    Type based
  74. 74Describe the channel-based pub-sub modelPublishers publish events to named channels, which subscribers sub to. Therefore receiving all events for that channel
  75. 75Describe the topic-based pub-sub modelSubscribers sub based on topics of interest, notifications will be sent out should publishers publish events on those topics
  76. 76Describe the content based pub-sub modelSimilar to topic-based, but subscribers can sub to a variety of content within a topic and receive notifications on these.
    more expressive than topic based but much more complex
  77. 77Describe the type based pub-sub modelUsing an object-based approach, subscribers sub in terms of a type (signature/methods/attributes), they receive events based on these types
  78. 78What is a message queue?Another indirection communication paradigm but this make uses of distributed queues
  79. 79How do message queues work?Messages are sent to a queue
    Processes can then either receive a message (blocking, synchronous), poll for messages (non-blocking, asynchronous) or ask to be notified when a message arrives
  80. 80What is distributed shared memory, and what are the +ve and -ve's?an implementation of the shared memory abstraction indirect communication paradigm, which provides abstraction of shared memory within a distributed system
    +/- data not available locally
    + hides distribution from the programmer
    - expensive (computationally) because have to maintain consistency
    - race conditions
  81. 81What is a tuple space?an implementation of the shared memory abstraction indirect communication paradigm, whose semi-structured shared space consists of a number of tuples
  82. 82Compare and contract messages and RPCRPC are tightly coupled, meaning if one program fails it'll have a direct impact of another
    RPC uses synchronous messages, meaning the method invoker has to wait for the method to finish executing
    Messages provide loose coupling and asynchronous behaviour
  83. 83What are the two main modes of communication in JMS?Message queuing (1-1)
    pub-sub(1-m)
  84. 84What are the three communication models (covered in this module at least)?Point-to-point (1-1 aka unicast)
    broadcast (1- all)
    multicast (1-many, many-many)
  85. 85What is group communication?An indirect communication paradigm that enables the multi-casting of messages to a group of processes as a single action
  86. 86Why do we use group communication?As it supports efficient distribution of data
    Good for service discovery
    Supports replication
    Reduces server load, as server only sends one copy
    Reduces network congestion, as has fewer packets to send
  87. 87What are the five group types in group communication (covered in this module at least)?Open groups - anyone can join
    Closed groups - closed membership
    Peer - all members are equal, all members send messages to the group
    Client-server - replicated servers, client doesn't care what server answers
    Hierarchical - one or more members are different from the rest
  88. 88What are the three reliability guarantees with group communication?Best effort - unreliable multicast, no real guarantee. Messages are sent to all members but may/not arrive
    Reliable multicast - reasonable efforts are made to ensure delivery (in spite of message loses). Provides protection against fault network (no guarantee if sender crashes during multicast)
    Atomic multicast - all members receive message or none of them do (protection against faulty participants)
  89. 89What does a typical implementation of a reliable multicast look like (basic pseudocode)?Sender sends a message to each member of the group, and awaits ack
    if some acks are not received in a given time period, re-send
    Repeat N times
    if all acks received, report to call
  90. 90How do we avoid ack explosions?Use NACK
    if everything is fine, receiver doesn't say anything
    if message lost, receiver complains
  91. 91What is NACK suppression?Several receivers have scheduled a request for retransmission, but
    the first re-transmission request leads to the suppression of others.
  92. 92What are the five ordering guarantees in group communication?Unordered ordering
    FIFO ordering
    Causal ordering
    Global time order
    Total ordering
  93. 93Where are the two places we might want to order the message deliveryWe may want to specify the delivery order to the message service
    We may was to re order the delivery to the application
  94. 94What is unordered multicast?messages will be delivered in a different order to different members
    no ordering guarantee
  95. 95What is global time ordering?All messages arrive in the exact order sent
    this ordering assumes that two events can't happen simultaneously
    Drawbacks;
    constraints are too strict (practical impossible to implement)
  96. 96What is casual ordering?Order of M1 and M2 is only important if a 'happened before' relationship exists between the messages
    e.g. for a Facebook status S, and comment C. It makes sense to show S before C
    (SENDING ORDER)
  97. 97What is FIFO ordering?Messages sent from the same process are delivered in the same order as they were sent
    (SENDING ORDER)
  98. 98Compare and contrast FIFO and casualCasual ordering is a general case FIFO, this is because messages sent by the same process have a 'happened before' relationship, satisfying FIFO
  99. 99What is total ordering?Ensures all receivers receive messages in the same order e.g. if M1 and M2 are sent, they will all receive either M1 followed by M2 or M2 followed by M1
    (RECEIVING ORDER)
  100. 100What is virtual synchrony?The state transfer from a process already in the group to a new member of the group
  101. 101When is a message considered stable (group communication)?When every member of the group has received it
  102. 102What is JGroups?A group communication implementation in Java. Provides reliable multicast, and additional expressiveness through the use of a protocol stack
  103. 103What are the characteristics of JGroups?Tailored - to your application needs
    Extensible - ability to improve/modify it
    Reliable - all messages will be delivered
  104. 104What is RPC Dispatcher?Provides remote procedure call behaviour within a group communication environment
    Issues;
    Not completely transparent
    No stub/skeleton to hide remote invocation
    Arguments are passed as an array of objects
  105. 105Compare and contrast JGroups and JMSJMS is standardised - multiple implementations
    JGroups is a library - one implementation (has API)
    JMS is a message oriented middleware - higher level than JGroups, provides persistence, durability and transactions
    JMS assumes a server based architecture where as JGroups is fully decentralised
  106. 106What are faults, errors and failures respectively?Faults - hypothesised cause of an error cause by a vulnerability in internal/external state (hardware/software)
    Errors - internal state becomes invalid state (erroneous data, inconsistent internal behaviour)
    Failure - non-compliance of functional spec (crash, omission, timing)
  107. 107What is correct service?Correct service is delivered when a service implements the system function
  108. 108What is fault, error and failure propagation and what is the fault hierarchy?Internal fault causes error which propagates up to the service interface
    Crash - omission - timing - byzantine
  109. 109What are two dependability attributes?Availability - readiness for correct service
    Reliability - continuity of correct service
  110. 110What are the five foundations that make up quality of service?Latency
    Bandwidth
    Security
    Availability
    Fault tolerance
  111. 111What is graceful degradation?The masking of internal failure in a way which the user isn't aware (transparency)
    -Should maintain highest possible QoS
    -Requires trade off with business impact/mitigation costs
  112. 112What are the four means by which we achieve dependability?Fault prevention - by constraining the design processes by means of rules
    Fault tolerance - avoid service failure in the presence of faults
    Fault removal - reduce number/severity of faults
    Fault forecasting - estimate fault occurrence and consequences
  113. 113Why do we replicate?Increased performance
    Increased error detection - replicas can make a consensus based on the result the majority of the replicas have
  114. 114What three components typically make up the replication modelClient - makes the requests
    Replica manager - handles requests to a set of replicas (manages consistency)
    Front-end - mediates connection between RM and client
  115. 115What are the five request phases when replicating?Request - request sent to one or more RM's
    Coordination - RMs agree on ordering and whether to execute the request
    Execution - RM's perform request
    Agreement - RMs reach consensus on request outcome
    Response - RM's reply to front-end
  116. 116What is passive replication?Replication where there is a single RM which processes requests, and updates are sent to back up replicas
  117. 117What is active replication?All RM's are equal, and process and return results (reliable group com)
    tolerates crashes and byzantines
  118. 118How can availability be calculated?1 - P ^ N
    P = probability of failure
    N = number of replicas
  119. 119What is cloud computing?Model for enabling on-demand access to a shared pool of configurable computing resources
  120. 120What are the benefits of cloud computing?Can be rapidly up-scaled/down-scaled/created/destroyed
    Requires minimal management effort
  121. 121How is cloud computing achieved?Using virtualisation - Host and guest vm's, achieving close to physical performance
  122. 122What are the three provisioning levels of cloud computing?SaaS - turn-key application. Used for things like manipulating data
    PaaS - Run-time environment. Software packers and storage support
    IaaS - bare-bones hardware, used to customise run-time environments
  123. 123What three factors do you need to consider when selecting a provisioning level (cloud computing)?Budget - how much do you have to spend?
    Flexibility - how much flexibility do you want?
    Skillset - what is your skillset/teams skillset?
  124. 124What are the three deployment models (cloud computing)?Public clouds - third party service providers offer services to the public
    Private clouds - set up for internal company use
    Hybrid clouds - mix of both strategies (public cloud services and private also known as federated cloud)
  125. 125What is the internet of things?Interconnection of uniquely identifiable smart computing devices within the existing internet infrastructure
    (communicate, actuate, store, sense)
  126. 126What is fog computing?fog computing facilitates the operation of compute, storage and networking services between end devices and cloud computing data centres
  127. 127What was the rationale behind fog computing?Cloud computing cannot cater to all devices
    - they need mobility support
    - cloud computing has a centralised model
    - cloud computing has high latency
  128. 128What does fog computing support?Aggregation
    Pre-processing
    Fault mitigation
    Coordination and automation
    Deployment mitigation
  129. 129What is a protocol buffer, and was is an example?Open source method of encoding structured data in an efficient but extensible format
    JSON, XML
  130. 130What is MapReduce?Service that offers large scale computation over very large data sets
  131. 131What are the three core principles that MapReduce were designed around?Hardware ALWAYS fails
    Networks ARE slow
    Computers ARE heterogeneous
  132. 132How does MapReduce work?Composed of 2 stages
    Map - performs processing and filtering, more specifically processes a key/value pair to generate an intermediary set of values
    Reduce - performs a summary operation, more specifically merges the intermediary values
    The whole system coordinates the processing by running various tasks in parallel, managing coms and data transfer between the different parts
  133. 133What two dependability attributes does MapReduce provide?Fault tolerance
    Redudancy
  134. 134What is GFS?Google File System
    Distributed file system to provide efficient, reliable access to data using large clusters of commodity hardware
  135. 135What are the GFS requirements?Monitoring and automatic recover - have to assume that components will fail
    That it is optimised for large files
    Able to sustain high bandwidth
    Is scalable
  136. 136How does the GFS architecture work?Each cluster has a master and multiple chunkservers
    Files replicated on by default three chunkservers
  137. 137How does GFS handle scale?Replication
    Doesn't use caching, relies on Linux buffer cache to maintain files in main memory
  138. 138What does GFS provide to help distributed systems?Separation of control and data flows
    Relaxed consistency management - optimised for appends
  139. 139What is chubby and what does it provide?Simple file system API for small files that provides support for coarse grained synchronisation in loosely coupled and large scale distributed systems
    Uses; as a name server
  140. 140What is Paxos?Protocol for solving consensus within a network of unreliable processes
  141. 141How does Paxos work?Electing a coordinator - consists of a propose message followed by a promise message, once there is a replica with majority promise messages they're elected the new coordinator
    Seeking consensus - consisting of an accept message from the newly elected coordinator, the acknowledgements from other servers. A commit message is then sent if coordinator receives a majority acknowledgements.
    This process is repeated every-time the coordinator dies
  142. 142What is the propose message and what is the promise message when electing a coordinator (Paxos)?Propose message - replicas broadcast sequence numbers to all other replicas, bidding to be coordinator
    Promise message - If other replicas have not seen a higher bidder than a sequence number they receive, then they reply with a promise message which indicates they won't deal with other replicas bidding for coordinator. Once a replica receives majority they are elected coordinator
  143. 143What is the accept message, acknowledgement and commit message when seeking consensus (Paxos)?Accept message - the elected coordinator may submit a value and then broadcast an accept message to all replicas (to reach a consensus)
    Acknowledgement - replicas either acknowledge or reject this message based on whether they want to accept or reject the value
    Commit message - a commit message is broadcast when the coordinator achieves a majority of acknowledges, as consensus has been reached
  144. 144What is BigTable?A very large scale distributed table indexed by row, column and timestamp
    Supports semi-structured and structured data
  145. 145How does BigTable work?Table is split by row into fixed size 'tablets', optimised for GFS
    Same client, master, worker pattern like GFS
    Rows clustered together by naming conventions to optimise access
    Often used in conjunction with MapReduce
  146. 146What are the key design philosophies when building distributed systems infrastructure?Simplicity - do one thing, and do it well
    Performance - through the use of calculations of primitive operations e.g. memory, disk, network
    Testing - if it ain't broke, you aren't trying hard enough (logging, tracing)
    Not adhering to convention - use whatever works bests
    Cost - use cheapest commodity hardware
  147. 147How can we tell if a system has 'recovered correctly'?If the internal state is consistent with the observable behaviour before the failure
  148. 148Why is consistency an issue when using passive replication?When the primary replica crashes, the backups might not have the most update version of data
    Resulting in the backup not picking back up where the previous primary left off (roll back/incorrectness)
  149. 149What is a technique we can employ to reduce consistency issues when passively replicating?Checkpointing - fault tolerance mechanism where the state of an application is saved regularly, in case of failure
  150. 150What is the output commit problem (passive replication), and how do we resolve this?Showing clients results that the backups have not seen yet
    should ALWAYS checkpoint before replying to a client
  151. 151What is the more-than-once problem (passive replication)?Primary might crash before sending the reply back to the client
    Resulting in the client making another request
  152. 152What are solutions to the more-than-once problem (passive replication)?Exactly once - attach request id's to requests, allowing the disposal of duplicates (suffers problems with multiple clients)
    Exactly once (multi client solution) - replies are logged with the request id's, meaning old requests can be replayed
  153. 153What does the exactly once multi-client solution to the commit problem provide (passive replication)?Atomicity - all operations are executed exactly once
    Semi-transparency - primary failure is masked, but replies are received later (increased latency)
    Graceful degradation - major disturbance replaced by a minor inconvenience (server crash worse than network delay
  154. 154What is a distributed transaction?A synchronisation mechanism to access shared data concurrently
    Can involve multiple servers
  155. 155What are the three operations a transaction engine provides?Begin - start a transaction
    End - finish transaction and try to commit
    Abort - kill transaction/delete/forget everything
  156. 156What is the one-phase atomic commit protocol?Coordinator (refer to Paxos) keeps requesting acknowledges from all replicas until has majority, transaction is then commited
  157. 157What is the two-phase atomic commit protocol?Phase 1 - Coordinator requests a vote from all replicas
    Phase 2 - Commit a transaction if receive majority votes, otherwise abort
  158. 158What is p2p computing?Sharing of resources and services by direct exchange between systems (peers)
    As the number of peers grows, as do the number of resources
  159. 159What is Gnutella?A fully decentralised, pure peer-to-peer system used for file sharing
  160. 160How does discovering peers work in Gnutella?Firstly, to join Gnutella you need to know someone already in the network (sounds like an oxymoron to me)
    Step 2 - A ping packet is used to announce your presence, peers then respond with a pong packet containing their connected peers.
  161. 161How does searching work in Gnutella?Searching - achieved via flooding, client contacts 7 of it's neighbours, if they don't have the resource, then they're contact 7 of their neighbours, for a max of 10 hops
    Responding - reverse path forwarding is used
  162. 162How does downloading work in Gnutella?Peers respond with a 'query hit'
    File transfer use direction connection over HTTP
  163. 163What are some issues with Gnutella?Flooding is extremely wasteful in terms of network resources (bandwidth)
    Results in a lot of redundant messages if the first neighbour of each hop has what you're looking for
  164. 164How two things does BitTorrent consist of, and what are they?Seeder - peer that has entire files
    Leecher - peer downloading file (files contained within the BitTorrent swarm)
  165. 165What is rarest-first (BitTorrent)?Look at all chunks, across all peers and requests chunks thats owned by fewest peers
  166. 166What is a tracker (BitTorrent)?Web server which keeps track of all peers currently downloading a file
  167. 167How does BitTorrent work?Files are broken into chunks
    Client firsts asks some random peers from the tracker
    Random first chunk once peer starts downloading, switch to 'rarest-first' and participate in the uploading
  168. 168What is optimistic choking?Periodically look for better choices (nodes with the best rates)
  169. 169What is the tit-for-tat strategy?Encourages cooperation and discourages free-riding
    Peer A said to choke B if it decides not to upload to B
    Each peer unchokes at most 4 peers at any time (3 that gives best upload rates)
    Another is chosen (optimistic choking)
  170. 170What is choking (BitTorrent)?The stopping of receiving file chunks from another peer, and selecting another peer
  171. 171What is anti-snubbing?A peer is said to be snubbed if each of its previous peers choke it
    To handle this, snubbed peers stop uploading to it's previous peers
  172. 172What do we learn from anti-snubbing?Collaborative download schemes can improve download speeds very dramatically (avoid sender overload)
  173. 173What is the certificate authority (CA) and what is the registration authority (RA)?RA - An authority that verifies a users request for a digital certificate, and forwards the information to the CA
    CA - issues the digital certificate
  174. 174What does a PKI consist of?Certificate authority
    Registration authority
    Central directory - secure location which store and index keys
    Certificate management system - manages access/delivery of stored certificates
    Certificate policy - PKI's requirements and procedures (allows analysing of the trustworthiness of the PKI)

Information

Description
Flashcards on 311 - Cue cards, created by Mac Howarth on 26/04/2018.
Created by
Mac Howarth
Views
12
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?