Consumer Producer API for Named Data Networking Ilya Moiseenko 1 - - PowerPoint PPT Presentation

consumer producer api for named data networking
SMART_READER_LITE
LIVE PREVIEW

Consumer Producer API for Named Data Networking Ilya Moiseenko 1 - - PowerPoint PPT Presentation

Consumer Producer API for Named Data Networking Ilya Moiseenko 1 How do we develop NDN apps? How do we develop NDN apps? 2 Lib Libraries: NDN cxx, NDN cpp i NDN NDN Figure 1. Interest / Data API 3 Can we have more


slide-1
SLIDE 1

Consumer‐Producer API for Named Data Networking

Ilya Moiseenko

1

slide-2
SLIDE 2

How do we develop NDN apps? How do we develop NDN apps?

2

slide-3
SLIDE 3

Lib i NDN NDN Libraries: NDN‐cxx, NDN‐cpp

3

Figure 1. Interest / Data API 

slide-4
SLIDE 4

Can we have more effective API ? Can we have more effective API ?

4

slide-5
SLIDE 5

Application socket API

IP NDN

Application Transport Application Network Network network layer API Socket API offers:

  • Point‐to‐point channel
  • Reliable transmission
  • Flow / congestion control

5

/ g

  • Segmentation
  • Ordering and reassembly
slide-6
SLIDE 6

Closer look at NDN

Application Application

Library Library Library Library

Network

Challenges I t ti f lib i i t k l d f NDN Integration of libraries requires near‐expert knowledge of NDN

6

slide-7
SLIDE 7

Is it possible?

Application generic API Application

Library Library Library Library

Network

To assist non‐expert application developers fully exploiting NDN capabilities without a deep understanding of its network layer machinery.

7

slide-8
SLIDE 8

Point‐to‐point model (IP)

point‐to‐point channel IP network Server IP network Client

  • 2. connect()

4 send()

  • 1. listen()
  • 3. accept()
  • 5. read()

Data transfer parameters are the property f th i ti h l

  • 4. send()

8

  • f the communication channel
slide-9
SLIDE 9

Socket abstraction

Keeps the state of communication channel Keeps the state of communication channel

  • Protocol machinery in use
  • state: listen/connect read/write
  • state: listen/connect, read/write
  • send and receive buffers
  • send and receive timers
  • send and receive timers
  • TCP maximum segment size
  • ….

9

slide-10
SLIDE 10

Distribution model (NDN)

not a channel NDN network

Producer

  • 1. ???

network

Consumer

  • 2. ???
  • 3. ???

What are the parameters (state) of information distribution?

10

p ( ) What are the API calls ?

slide-11
SLIDE 11

Consumer‐specific parameters

  • 1. Selectors
  • 2. Security
  • 2. Security

– Data verification – Securing Interests

3 F t hi

  • 3. Fetching

– Reliable transmission – Sequencing

  • 4. Processing

– Send / receive buffers Reassembly

11

– Reassembly

slide-12
SLIDE 12

Producer‐specific parameters

  • 1. Security

– Securing Data Securing Data – Interest verification

  • 2. Demultiplexing

– Namespace (prefix) registration

  • 3. Processing

C t t t ti – Content segmentation – Send / receive buffers

  • 4. Caching

12

  • 4. Caching
slide-13
SLIDE 13

New programming abstractions

  • 1. Consumer context
  • 2. Producer context

Context — keeps the state of data transfer under a specific name prefix under a specific name prefix

13

slide-14
SLIDE 14

Consumer context Consumer context

A i t NDN fi ith

  • Associates NDN name prefix with consumer‐

specific data transfer parameters C t l h I t t d d h

  • Controls how Interests are expressed and how

returning Data packets are processed

14

slide-15
SLIDE 15

Producer context Producer context

A i fi i h d

  • Associates NDN name prefix with producer‐

specific data transfer parameters

  • Controls how data is produced and secured, and

how Interests are demultiplexed.

15

slide-16
SLIDE 16

Summary Summary

Consumer and producer contexts Consumer and producer contexts

  • Offer a richer set of functions than sockets

il d f di ib i d l

  • are tailored for NDN distribution model
  • include communication protocols for faster

app development

  • will include versioning protocols

g p

16

slide-17
SLIDE 17

Thank you! Thank you!

See the poster to get more info!

17