NFD tables conceptual structure and algorithms Junxiao Shi, 2014-01-17 1.

Slides:



Advertisements
Similar presentations
What is a Database By: Cristian Dubon.
Advertisements

Chapter 12 Binary Search Trees
CSCC69: Operating Systems
Heaps1 Part-D2 Heaps Heaps2 Recall Priority Queue ADT (§ 7.1.3) A priority queue stores a collection of entries Each entry is a pair (key, value)
M. Waldvogel, G. Varghese, J. Turner, B. Plattner Presenter: Shulin You UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Electrical and Computer Engineering.
1 Author: Ioannis Sourdis, Sri Harsha Katamaneni Publisher: IEEE ASAP,2011 Presenter: Jia-Wei Yo Date: 2011/11/16 Longest prefix Match and Updates in Range.
Nested Transactional Memory: Model and Preliminary Architecture Sketches J. Eliot B. Moss Antony L. Hosking.
CSC1016 Coursework Clarification Derek Mortimer March 2010.
Chapter 9 Describing Process Specifications and Structured Decisions
Tutorial 6 & 7 Symbol Table
1 Evaluation of Relational Operations: Other Techniques Chapter 12, Part B.
Analysis of Algorithms CS 477/677 Instructor: Monica Nicolescu.
NFD forwarding pipelines Junxiao Shi,
NFD forwarding pipelines Junxiao Shi,
CS 146: Data Structures and Algorithms June 18 Class Meeting Department of Computer Science San Jose State University Summer 2015 Instructor: Ron Mak
Forwarding Hint in NFD Junxiao Shi,
Maps A map is an object that maps keys to values Each key can map to at most one value, and a map cannot contain duplicate keys KeyValue Map Examples Dictionaries:
1 Efficient packet classification using TCAMs Authors: Derek Pao, Yiu Keung Li and Peng Zhou Publisher: Computer Networks 2006 Present: Chen-Yu Lin Date:
Lecture Objectives  To learn how to use a tree to represent a hierarchical organization of information  To learn how to use recursion to process trees.
Dead Nonce List Junxiao Shi Bug 1953: persistent loop with short InterestLifetime A B C Interest Nonce=204 lifetime=150 delay=100 delay=20.
NFD forwarding pipelines Junxiao Shi,
CS 61B Data Structures and Programming Methodology July 15, 2008 David Sun.
Interest NACK Junxiao Shi, Introduction Interest NACK, aka "negative acknowledgement", is sent from upstream to downstream to inform that.
CS261 – Recitation 5 Fall Outline Assignment 3: Memory and Timing Tests Binary Search Algorithm Binary Search Tree Add/Remove examples 1.
NFD forwarding pipelines Junxiao Shi,
CS 338Query Evaluation7-1 Query Evaluation Lecture Topics Query interpretation Basic operations Costs of basic operations Examples Textbook Chapter 12.
Using Special Operators (LIKE and IN)
1 Compiler Construction (CS-636) Muhammad Bilal Bashir UIIT, Rawalpindi.
IMS 4212: Data Modeling—Attributes 1 Dr. Lawrence West, Management Dept., University of Central Florida Attributes and Domains Nonkey.
Index-based NDN Repository Junxiao Shi,
CS 206 Introduction to Computer Science II 10 / 05 / 2009 Instructor: Michael Eckmann.
Authors: Matteo Varvello, Diego Perino, and Leonardo Linguaglossa Publisher: NOMEN 2013 (The 2nd IEEE International Workshop on Emerging Design Choices.
Concepts of Database Management Eighth Edition Chapter 3 The Relational Model 2: SQL.
CSC 213 – Large Scale Programming Lecture 15: Heap-based Priority Queue.
Chapter 2: Basic Data Structures. Spring 2003CS 3152 Basic Data Structures Stacks Queues Vectors, Linked Lists Trees (Including Balanced Trees) Priority.
Scalable High Speed IP Routing Lookups Scalable High Speed IP Routing Lookups Authors: M. Waldvogel, G. Varghese, J. Turner, B. Plattner Presenter: Zhqi.
Memory-Efficient IPv4/v6 Lookup on FPGAs Using Distance-Bounded Path Compression Author: Hoang Le, Weirong Jiang and Viktor K. Prasanna Publisher: IEEE.
Concepts of Database Management Seventh Edition Chapter 3 The Relational Model 2: SQL.
Lesson 13 Databases Unit 2—Using the Computer. Computer Concepts BASICS - 22 Objectives Define the purpose and function of database software. Identify.
Linux File system Implementations
CS 740: Advanced Computer Networks IP Lookup and classification Supplemental material 02/05/2007.
Lecture 15 Jianjun Hu Department of Computer Science and Engineering University of South Carolina CSCE350 Algorithms and Data Structure.
Binary Search Trees (BST)
Priority Queues CS 110: Data Structures and Algorithms First Semester,
10 1 Chapter 10 - A Transaction Management Database Systems: Design, Implementation, and Management, Rob and Coronel.
// Increment i i += 1; // Restart timer this->start(Cycles::rdtsc() + clock->updateIntervalCycles); updater->start(0); // Start immediately. CS 190 Lecture.
Priority Queues CS /02/05 L7: PQs Slide 2 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved.
NFD forwarding pipelines Junxiao Shi,
NFD forwarding pipelines Junxiao Shi,
VOCAB REVIEW. A field that can be computed from other fields Calculated field Click for the answer Next Question.
A Binary Search Tree Implementation Chapter 25 © 2015 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Data Structures and Abstractions.
© 2004 Goodrich, Tamassia BINARY SEARCH TREES Binary Search Trees   
NFD forwarding pipelines Junxiao Shi,
IP Routers – internal view
CS522 Advanced database Systems
NFD forwarding pipelines
Priority Queues © 2010 Goodrich, Tamassia Priority Queues 1
Binary Search Trees < > = Binary Search Trees
Patient Lookup Window.
Advanced Associative Structures
Evaluation of Relational Operations: Other Operations
Binary Search Trees < > = Binary Search Trees
Patient Lookup Window.
Patient Lookup Window This material contains confidential and copyrighted information of Epic Systems Corporation - Confidential.
Chapter 11 Describing Process Specifications and Structured Decisions
Tutorial 6 Array Problem Solving
Shelly Cashman: Microsoft Access 2016
Database Systems: Design, Implementation, and Management
Evaluation of Relational Operations: Other Techniques
CS210- Lecture 13 June 28, 2005 Agenda Heaps Complete Binary Tree
Presentation transcript:

NFD tables conceptual structure and algorithms Junxiao Shi,

About This document describes the conceptual structure of core tables in NFD, and the semantics of table algorithms The physical layout (eg. hashtable, tree, trie) is chosen by implementer, as long as all described algorithms can be provided This document focuses on how table entries are organized and accessed; it does not describe every field in an entry Fields that need to be understood by tables are described Fields inside an entry are not described, such as measurement, PIT downstream/upstream records, attributes and timers This slide deck contains animations. Enter slideshow to see them 2

CS 3

CS entry CS entry contains information about a Data packet No duplicate CS entry is allowed Two Data packets are duplicate if they are identical byte-by-byte CS entry has a Data packet has the implicit digest, or indicates that the implicit digest is not yet computed has a stale time indicates whether the Data packet is unsolicited 4

CS initialize CS is initialized as empty 5

CS insert Given a Data packet, if CS admission policy permits it to be cached, 1.if the Data packet is not a duplicate to any existing CS entry, create a new CS entry 2.if the current Data packet is unsolicited, but the existing CS entry is not unsolicited, abort these steps 3.if the current Data packet is unsolicited, mark the CS entry as unsolicited; otherwise, mark the CS entry as not unsolicited 4.the stale time of CS entry is updated to now()+FreshnessPeriod Notes for physical structure For supporting CS lookup algorithm, CS should be organized as an ordered sequence, sorted by canonical ordering of the Name with implicit digest Computation of implicit digest can be deferred until it's necessary to determine the order 6

CS insert – deferred implicit digest computation 7 Nameimplicit digest /example/Bnot computed /example/Cnot computed /example/Dnot computed /example/Cnot computed …0002 …0001

CS insert – deferred implicit digest computation 8 Nameimplicit digest /example/Bnot computed /example/C/…0001not computed /example/Dnot computed /example/Cnot computed …0002

CS cleanup Periodically check the size of CS (number of CS entries). If the size is exceeding a certain threshold, evict some entries to bring the size down to the threshold Which entries to evict is determined by CS eviction policy, such as 1.unsolicited entries are evicted first 2.stale entries (stale time in the past) are evicted next 3.other entries are evicted by the order they are created 9

CS lookup Given an Interest, find the best CS entry that satisfies this Interest, or determine that no CS entry could satisfy this Interest 1.in the ordered sequence, locate the starting point if Interest has Exclude selector that start with K (so that anything less than or equal to K is excluded, starting point is Interest Name plus K otherwise, starting point is the first CS entry whose Name is greater than or equal to Interest Name 2.set nameLength to the number of components in the Interest, set lastMatch to nil 10

CS lookup 3.if last component in Interest Name may be an implicit digest, compute the digest of current CS entry last component in Interest Name may be an implicit digest, if MinSuffixComponents is less than or equal to 1, and last component has 32 octets 4.if Interest Name is not a prefix of current CS entry's Name plus implicit digest if computed, goto step 9 5.if current CS entry violates MinSuffixComponents, MaxSuffixComponents, PublisherPublicKeyLocator, Exclude, MustBeFresh selectors, go to step 8 6.if ChildSelector prefers leftmost child, return current CS entry 7.if ChildSelector prefers rightmost child, and ((lastMatch is nil) or (current CS entry and lastMatch have different nameLength-th component)), set lastMatch to current CS entry 8.move to next CS entry in the ordered sequence, and goto step 3 9.return lastMatch 11

CS lookup Interest Name: /example/C ChildSelector: leftmost Nameimplicit digest /example/Bnot computed /example/Dnot computed 12 out of prefix

CS lookup Interest Name: /example/C Exclude: (-∞,m],[s,w] ChildSelector: leftmost MinSuffixComponents: 3 Nameimplicit digest /example/Bnot computed /example/Cnot computed /example/C/h/1not computed /example/C/mnot computed /example/C/nnot computed /example/C/s/2not computed /example/C/y/3not computed /example/C/y/4not computed 13 violates Exclude violates MinSuffixComponents violates Exclude matches

CS lookup Interest Name: /example/C ChildSelector: rightmost Nameimplicit digest /example/Bnot computed /example/C/p/1not computed /example/C/p/2not computed /example/C/q/1not computed /example/C/q/2not computed /example/C/r/1not computed /example/C/r/2not computed /example/Dnot computed 14 last match out of prefix nil violates ChildSelector

CS lookup Interest Name: /example/C/…0002 ChildSelector: leftmost Nameimplicit digest /example/Bnot computed /example/Cnot computed /example/Dnot computed 15 matches …0002