8 - Content Distribution Flashcards

1
Q

An internet wide tool that enables websites and network operators to deliver data quickly and efficiently

A

Content Distribution

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

HTTP (Hypertext Transfer Protocol)

A

An application layer protocol to transfer web content. Layered over a byte stream protocoal (almost always TCP)

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

Contents of HTTP request

A

*Requestline: Method-> GET, POST, HEAD
URL -> /index.html
version number
*Headers: Referrer-> what url caused the page to be requested
user agent -> client software being used to fetch the page

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

Which HTTP header field indicates client software making request

A

The user-agent field.

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

HTTP Response includes…

A

A Status line: HTTP Version
Response code
Location: used for redirection
Server: indicates server software
Allow: http methods allowed (get, head, etc)
Content-encoding: compressed or not
content-length: how long is content is in bytes
expires: how long can it be cached
last-modified: When was page last modified

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

Response codes

A
100 - informational
200 - success
300 - redirection
     301 - moved permanently
      304 - not modified response
400 - errors 
     404 - not found
500 - server errors
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Early HTTP

A

Simple to implement but needed a TCP connection for every request. Solution? Persistent connections

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

Multiple request/response are multiplexed on a single TCP connection

A

Persistent Connections

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

A client sends a request as soon as it encounters a referenced object

A

Pipelining

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

Persistent connection with pipelining is the

A

default behavior in HTTP 1.1

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

Clients can cache documents in …

A
browser(local)
in network (i.e. content distribution, networks)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Clients can be directed to a cache in multiple ways

A

1) Browser configuration

2) Server directed

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

Benefits of HTTP caching

A

1) Reduced transit costs for local ISP

2) Improved performance for local clients

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

What is a CDN (Content Distribution Networks)

A
#An Overlay network of web caches designed to deliver content to a client from the optimal location.
*Geographically disperate servers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Who owns CDNs?

A
  • Content providers

* Network/ISPs

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

Main goal of a CDN?

A

To replicate content on many servers

17
Q

CDN problem: Server Selection

A

Which server? Lowest latency

18
Q

CDN problem: Content routing

A

How to route? 1) Routing (i.e anycast) coarse

        2) Application-based (i.e. HTTP redirect) delays
3) Naming-based (i.e DNS) (best way) flexible and fast
19
Q

CDNs peer with ISPS because

A

1) where a customer is located, better throughput (lower latency)
2) Increased reliability and redundancy
3) burstiness -> lower transit costs

20
Q

ISPs per with CDNs because

A

1) Good performance for customers when close (i.e. Ga tech has a google cache node in its own network resulting in low latency for customers connecting to google.. making the customers happy)
2) lower transit costs (hosting a local cache node reduces cost)

21
Q

Why do ISPs want to peer with CDNs?

A

1) Lower transit cost

2) Provide better performance

22
Q

Peer to peer content distribution network

A
Bit Torrent (file sharing, large file distribution)
Fetch the content from peers instead of one place.)

clients swap pieces of the file

23
Q

Bit Torrent steps for publishing

A

1) Peer creates a “torrent” which has tracker and pieces of file
2) “Seeders” creates initial copy
3) “Leechers” clients that contain incomplete copies of the files.

24
Q

Bit Torrent solved this problem:

A

“Freeloading”… called “Choking” or “tit-for-tat”

25
Q

Choking: temporary refusal to upload

A

If a peer cant download from a client, don’t upload to it
eliminates Free rider problem.

Tit for tat strategy ensures cooperation

26
Q

Getting chunks to swap (the right chunk)

A

Bit torrent uses “rarest piece first”

27
Q

Enable a form of content overlay (content overlay)

A

Distributed Hash Tables

28
Q

Chord

A

A Distributed Hash table that is a scalable, distributed “lookup service” that maps keys to values (i.e. DNS, directory services)

Plus: Scalable, provable correctness and performance

29
Q

Chord motivation

A

Scalable location of data in a large distribute system

30
Q

Main Idea: Keys and the nodes map to the same ID space

A

Consistent Hashing

31
Q

Chord - Consistent Hashing

A

The Key is stored at the successor…The node with the next highest ID. (Counter clockwise in the example)

consistent hashing offers: Load balancing and Flexibility

32
Q

Option: every node knows location of every other node

A

Lookups have good performance at the expense of larger tables

33
Q

Option: Every Node knows only successor

A

Routing tables can be small but every lookup operation is o(n) - not the best performance

34
Q

Best option that provides the best of both worlds: “Finger Tables:

A

Every node knows m other nodes in the ring

35
Q

Distributed Hash Table (DHT)

A

Consistent Hashing - Keys and Nodes map to same ID space

36
Q

Finger tables

A

O(N) time

37
Q

Finger table with O(log(N)) entries

A

O(log(N)) time