miscellaneous nbt team. 2 1. naming (1/2) client: global, unique identifier pm: global, unique...

14
Miscellaneous NBT Team

Upload: mark-strickland

Post on 14-Jan-2016

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Miscellaneous NBT Team. 2 1. Naming (1/2) Client: global, unique identifier PM: global, unique identifier –This is the policy identifier DIM: global,

Miscellaneous

NBT Team

Page 2: Miscellaneous NBT Team. 2 1. Naming (1/2) Client: global, unique identifier PM: global, unique identifier –This is the policy identifier DIM: global,

2

1. Naming (1/2)

• Client: global, unique identifier• PM: global, unique identifier

– This is the policy identifier

• DIM: global, unique identifier– This is the data item identifier

• Chunk: unique identifier within a data item– Can be identified by its position in the chunk

• Stream/Stripe: unique identifier within a data item

• Block: unique identifier within a chunk– Can be identified by its position in the chunk

Page 3: Miscellaneous NBT Team. 2 1. Naming (1/2) Client: global, unique identifier PM: global, unique identifier –This is the policy identifier DIM: global,

3

1. Naming (2/2)

• In the Database, clients, data items (i.e., DIMs) and policies (PMs) are identified by their IDs

• DIMs, PMs, Data Item Directory and the Database are globally reachable via their IDs (i.e., through i3 that stores their IDIPaddr mappings)

• Clients are not globally reachable via their IDs– Instead DIMs and PMs maintain the list of

active/available clients

Page 4: Miscellaneous NBT Team. 2 1. Naming (1/2) Client: global, unique identifier PM: global, unique identifier –This is the policy identifier DIM: global,

4

2. Data Plane Naming• How does the receiver know to which data item,

chunk, stream, or chunk does the data in a packet belongs to?

• Proposal:– Identify data using control packets– At any given time a TCP connection carries the data from a

single finest-granularity data object:• chunk, in the case of VoD and file-sharing• stream, in the case of live streaming

• Advantages:– Simple, flexible

• Disadvantages:– Inefficiency: A TCP connection for each stream, even though

streams are downloaded from the same parent• Note: no need to create a TCP connection for a chunk/block

downloaded from the same parent, as long as only one chunk/block is downloaded at a time

Page 5: Miscellaneous NBT Team. 2 1. Naming (1/2) Client: global, unique identifier PM: global, unique identifier –This is the policy identifier DIM: global,

5

3. Data Item Grouping • Examples:

– All Disney channels– All sport channels

• Proposal:– Allow grouping Data Items in arbitrary groups– Use a globally unique ID to identify a Data Item (DI) group– Have an entity similar to PM manage each DI group; call

this Data Item Group Manager (DIGM)– Each data item should have a list of groups it belongs to– The group membership can be periodically requested from

the database (the same way clients periodically request the policy they belong to)

• Alternative:– Instead of PMs and DIGMs have GOs (group of objects),

where objects can be either (1) clients or (2) data items – Generalize PM semantics to include data items as well

• Question: what is the role of DIGM?

Page 6: Miscellaneous NBT Team. 2 1. Naming (1/2) Client: global, unique identifier PM: global, unique identifier –This is the policy identifier DIM: global,

6

4. Client Control on Library Buffer

• Can the client control the library buffer, and if yes how?

• Proposal: No; not clear how much the client will benefit, while the downside is obvious (see below)

• Advantages: – Simplicity– Better control on client resources; if clients were

allowed to chose the library buffer size, we would need to build distribution trees for clients with different delay requirements seems very difficult

• Disadvantages: – Lack of flexibility

Page 7: Miscellaneous NBT Team. 2 1. Naming (1/2) Client: global, unique identifier PM: global, unique identifier –This is the policy identifier DIM: global,

7

5. VoD: To Stripe or Not to Stripe?

• Are stripes needed in the case of VoD or is the block-level parallelism enough?

• Proposal: use only chunk level parallelism– A client requests the DIM to download a particular chunk c– The DIM returns a set of parents that store or have requested

chunk c– Each client periodically sends the list of blocks it misses (from

chunk c) to its neighbors– A client sends the rarest block to a neighbor; ties are broken as

follow• Smallest sequence number• Neighbor that has fewest blocks

• Advantages:– Simplicity

• Disadvantages:– (Slightly?) more complex client code– Larger delay, less parallelism?

Page 8: Miscellaneous NBT Team. 2 1. Naming (1/2) Client: global, unique identifier PM: global, unique identifier –This is the policy identifier DIM: global,

8

5. VoD Example• Assume node “1” stores an entire chunk consisting 8 blocks

and all other nodes want to download the entire block• Assume that during a time unit, a client can send at most

one block and receive two blocks

1122

44

77

55

33

66

88

1,2,3,4,5,6,7,8

Time = 0

Page 9: Miscellaneous NBT Team. 2 1. Naming (1/2) Client: global, unique identifier PM: global, unique identifier –This is the policy identifier DIM: global,

9

5. VoD Example

• Blocks transmitted during this time unit are in red

1122

44

77

55

33

66

88

1,2,3,4,5,6,7,8

Time = 1

1

Page 10: Miscellaneous NBT Team. 2 1. Naming (1/2) Client: global, unique identifier PM: global, unique identifier –This is the policy identifier DIM: global,

10

5. VoD Example

• Blocks transmitted during this time unit are in red

1122

44

77

55

33

66

88

1,2,3,4,5,6,7,8

Time = 2

1

2

1

Page 11: Miscellaneous NBT Team. 2 1. Naming (1/2) Client: global, unique identifier PM: global, unique identifier –This is the policy identifier DIM: global,

11

5. VoD Example

• Blocks transmitted during this time unit are in red

1122

44

77

55

33

66

88

1,2,3,4,5,6,7,8

Time = 3

1

2

1

3

1

1

2

Page 12: Miscellaneous NBT Team. 2 1. Naming (1/2) Client: global, unique identifier PM: global, unique identifier –This is the policy identifier DIM: global,

12

5. VoD Example

• Blocks transmitted during this time unit are in red

1122

44

77

55

33

66

88

1,2,3,4,5,6,7,8

Time = 4

1,4

2

1

1,2,3

1,2

1

1,2

Page 13: Miscellaneous NBT Team. 2 1. Naming (1/2) Client: global, unique identifier PM: global, unique identifier –This is the policy identifier DIM: global,

13

5. VoD Example

• Blocks transmitted during this time unit are in red

1122

44

77

55

33

66

88

1,2,3,4,5,6,7,8

Time = 5

1,4

1,2,5

1,3,4

1,2,3

1,2

1,2

1,2

Page 14: Miscellaneous NBT Team. 2 1. Naming (1/2) Client: global, unique identifier PM: global, unique identifier –This is the policy identifier DIM: global,

14

5. VoD Example

• Blocks transmitted during this time unit are in red

1122

44

77

55

33

66

88

1,2,3,4,5,6,7,8

Time = 6

1,4,6

1,2,3,5

1,3,4

1,2,3

1,2,3

1,2,4

1,2,5