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 effective API ? Can we have more effective API ? 4
IP NDN socket API Application Application Application Transport Network Network network layer API Socket API offers: Point ‐ to ‐ point channel • Reliable transmission • Flow / congestion control / g • Segmentation • Ordering and reassembly • 5
Closer look at NDN Application Application Library Library Library Library Network Challenges Integration of libraries requires near ‐ expert knowledge of NDN I t ti f lib i i t k l d f NDN 6
Is it possible? generic API Application 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
Point ‐ to ‐ point model (IP) point ‐ to ‐ point channel Server IP network IP network 1. listen() 3. accept() Client 2. connect() 5. read() 4 send() 4. send() Data transfer parameters are the property of the communication channel f th i ti h l 8
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
Distribution model (NDN) not a channel Producer NDN 1. ??? network network 3. ??? 2. ??? Consumer What are the parameters (state) of information distribution? p ( ) What are the API calls ? 10
Consumer ‐ specific parameters 1. Selectors 2. Security 2. Security Data verification – Securing Interests – 3 3. Fetching F t hi Reliable transmission – Sequencing – 4. Processing Send / receive buffers – Reassembly Reassembly – 11
Producer ‐ specific parameters 1. Security Securing Data Securing Data – Interest verification – 2. Demultiplexing Namespace (prefix) registration – 3. Processing Content segmentation C t t t ti – Send / receive buffers – 4. Caching 4. Caching 12
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
Consumer context Consumer context • Associates NDN name prefix with consumer ‐ A i t NDN fi ith specific data transfer parameters • Controls how Interests are expressed and how C t l h I t t d d h returning Data packets are processed 14
Producer context Producer context • Associates NDN name prefix with producer ‐ A i fi i h d specific data transfer parameters • Controls how data is produced and secured, and how Interests are demultiplexed. 15
Summary Summary Consumer and producer contexts Consumer and producer contexts • Offer a richer set of functions than sockets • are tailored for NDN distribution model il d f di ib i d l • include communication protocols for faster app development • will include versioning protocols g p 16
Thank you! Thank you! See the poster to get more info! 17
Recommend
More recommend