A Constructive Review of In-Network Caching: A Core Functionality of ICN* Anshuman Kalla * A. Kalla and S. K. Sharma, "A constructive review of in-network caching: A core functionality of ICN," 2016 International Conference on Computing, Communication and Automation (ICCCA), Noida, 2016, pp. 567-574. DOI: 10.1109/CCAA.2016.7813785
Square brackets ‘[ ]’ denotes the reference number as per the reference list in the paper Anshuman Kalla
1
Introduction • ICN conceives caching at network layer as one of the indispensable core functionalities of ICN – beyond the premise of end-to-end principle
Anshuman Kalla
2
Introduction • ICN conceives caching at network layer as one of the indispensable core functionalities of ICN – beyond the premise of end-to-end principle
• Moreover, ICN advocates named-contents instead of named-hosts
Anshuman Kalla
3
Introduction • ICN conceives caching at network layer as one of the indispensable core functionalities of ICN – beyond the premise of end-to-end principle
• Moreover, ICN advocates named-contents instead of named-hosts • Together the two functionalities result in contentaware in-network caching is configured Anshuman Kalla
4
Introduction • The idea is to allow caching at network layer – That is routers are configured with Content Stores (cache facility) that enable them to cache the contents traversing them
Anshuman Kalla
5
Introduction • The idea is to allow caching at network layer – That is routers are configured with Content Stores (cache facility) that enable them to cache the contents traversing them
• Thus every node, in addition to routing, buffering and forwarding operations – should perform caching of (traversing) contents
Anshuman Kalla
6
Review of Literature Advantages of In-Network Caching Issues Related to In-Network Caching Factors Affecting In-Network Caching
Aim of review of In-Network Caching
Relevant Performance Metrics
Network Topologies Exploited
Traffic Patterns Fed Simulators Available for Evaluation March 7, 2017
Anshuman Kalla
7
Issues Related to TCP/IP Networking [1],[2] 1. Data Dissemination & Service Access (prominent usage today) – Current networking was tailored to share networking resources
* See paper for all the references
Anshuman Kalla
8
Issues Related to TCP/IP Networking [1],[2] 1. Data Dissemination & Service Access (prominent usage today) – Current networking was tailored to share networking resources
2. Named Hosts (i.e. IP address do actually exist in current network) – Content name (identifier) IP address (locator) i.e. DNS lookup
* See paper for all the references
Anshuman Kalla
9
Issues Related to TCP/IP Networking [1],[2] 1. Data Dissemination & Service Access (prominent usage today) – Current networking was tailored to share networking resources
2. Named Hosts (i.e. IP address do actually exist in current network) – Content name (identifier) IP address (locator) i.e. DNS lookup
3. Mobility (was least imagined when TCP/IP was designed) – Leads to intermittent connectivity results in change in IP
* See paper for all the references
Anshuman Kalla
10
Issues Related to TCP/IP Networking [1],[2] 1. Data Dissemination & Service Access (prominent usage today) – Current networking was tailored to share networking resources
2. Named Hosts (i.e. IP address do actually exist in current network) – Content name (identifier) IP address (locator) i.e. DNS lookup
3. Mobility (was least imagined when TCP/IP was designed) – Leads to intermittent connectivity results in change in IP
4. Availability (of content and/or service with min. possible latency) – Dependent on node/link/server state
* See paper for all the references
Anshuman Kalla
11
Issues Related to TCP/IP Networking [1],[2] 1. Data Dissemination & Service Access (prominent usage today) – Current networking was tailored to share networking resources
2. Named Hosts (i.e. IP address do actually exist in current network) – Content name (identifier) IP address (locator) i.e. DNS lookup
3. Mobility (was least imagined when TCP/IP was designed) – Leads to intermittent connectivity results in change in IP
4. Availability (of content and/or service with min. possible latency) – Dependent on node/link/server state
5. Security (implies comm. over secured channel & trusted server) – So far implemented at network-level but missing at content-level * See paper for all the references
Anshuman Kalla
12
Issues Related to TCP/IP Networking [1],[2] 1. Data Dissemination & Service Access (prominent usage today) – Current networking was tailored to share networking resources
2. Named Hosts (i.e. IP address do actually exist in current network) – Content name (identifier) IP address (locator) i.e. DNS lookup
3. Mobility (was least imagined when TCP/IP was designed) – Leads to intermittent connectivity results in change in IP
4. Availability (of content and/or service with min. possible latency) – Dependent on node/link/server state
5. Security (implies comm. over secured channel & trusted server) – So far implemented at network-level but missing at content-level
6. Flash Crowd leads to congestion, DoS, poor QoS etc. * See paper for all the references
Anshuman Kalla
13
The Trend For Problem Solving • Dedicated patch(es) for each problem encountered (for ex.) – – – – –
CDN and P2P for data dissemination DNS for Named Host (i.e. to resolve any name to IP address) MobileIP for mobility DNSSec and IPSec for security Web caching or CDN for availability
Anshuman Kalla
14
The Trend For Problem Solving • Dedicated patch(es) for each problem encountered (for ex.) – – – – –
CDN and P2P for data dissemination DNS for Named Host (i.e. to resolve any name to IP address) MobileIP for mobility DNSSec and IPSec for security Web caching or CDN for availability
• These patches/fixes are add-on (not integral) – Thus transforming TCPIP networking into complex & delicate architecture
Anshuman Kalla
15
The Trend For Problem Solving • Dedicated patch(es) for each problem encountered (for ex.) – – – – –
CDN and P2P for data dissemination DNS for Named Host (i.e. to resolve any name to IP address) MobileIP for mobility DNSSec and IPSec for security Web caching or CDN for availability
• These patches/fixes are add-on (not integral) – Thus transforming TCPIP networking into complex & delicate architecture
• Shift in primary usage of networking facility – Instead sharing of network resources prime usage is content centric
Anshuman Kalla
16
The Trend For Problem Solving • Dedicated patch(es) for each problem encountered (for ex.) – – – – –
CDN and P2P for data dissemination DNS for Named Host (i.e. to resolve any name to IP address) MobileIP for mobility DNSSec and IPSec for security Web caching or CDN for availability
• These patches/fixes are add-on (not integral) – Thus transforming TCPIP networking into complex & delicate architecture
• Shift in primary usage of networking facility – Instead of sharing network resources prime usage is content centric
• Lately researchers realized need for clean-slate approach – To reconcile all the issues (and shift in usage) in a unified manner Anshuman Kalla
17
Core Functionalities of ICN • Named content
• In-network caching • Named based routing
• Data-level security • Multi-path routing
• Hop-by-hop flow control • Pull-based communication • Adaptability to Multiple simultaneous connectivities Anshuman Kalla
18
Core Functionalities of ICN • Named content
• In-network caching • Named based routing
• Data-level security • Multi-path routing
• Hop-by-hop flow control • Pull-based communication • Adaptability to Multiple simultaneous connectivities Anshuman Kalla
19
Types of In-Network Caching in ICN In-Network Caching
On-Path Caching
Off-Path Caching
Edge Caching
Hybrid Caching March 7, 2017
Anshuman Kalla
20
Types of In-Network Caching in ICN • On-Path Caching – Caches the retrieved contents at the intermediate nodes that fall on the (symmetrical) way back from server to the requester – Thus interest taps nodes falling on-the-path from requester to server
March 7, 2017
Anshuman Kalla
21
Types of In-Network Caching in ICN • On-Path Caching – Caches the retrieved contents at the intermediate nodes that fall on the (symmetrical) way back from server to the requester – Thus interest taps nodes falling on-the-path from requester to server
• Off-Path Caching – Appoints node(s) as a dedicated cache(s) for a retrieved content – Selected caches have no contrived correlation with the nodes that fall on the path being followed by interest to reach the server
March 7, 2017
Anshuman Kalla
22
Types of In-Network Caching in ICN • On-Path Caching – Caches the retrieved contents at the intermediate nodes that fall on the (symmetrical) way back from server to the requester – Thus interest taps nodes falling on-the-path from requester to server
• Off-Path Caching – Appoints node(s) as a dedicated cache(s) for a retrieved content – Selected caches have no contrived correlation with the nodes that fall on the path being followed by interest to reach the server
• Edge Caching – Opposes pervasive in-network caching – Only the nodes at the boundary of a network are enabled with caching capability March 7, 2017
Anshuman Kalla
23
Types of In-Network Caching in ICN R1
R1
R1
R2
R2
R2
R4 R8
R3 R7 R6
R4 R5
R8
R3
R7 R6
R4 R5
R8
R3 R7
R6
On-Path Caching
Off-Path Caching
Edge Caching
(R1, R2, R3, R6 – On-Path Caches)
(R4 – Designated Off-Path Cache)
(R6 – Edge Cache)
Nodes that could cache data
Interest Packet Data Packet
R5
Advantages of In-Network Caching in ICN 1. Cost Effective Data Retrieval – Minimizes delegation of traffic for cached contents over egress links – Thereby minimizes traffic over expensive external links and server load
* See paper for all the references
Anshuman Kalla
25
Advantages of In-Network Caching in ICN 1. Cost Effective Data Retrieval – Minimizes delegation of traffic for cached contents over egress links – Thereby minimizes traffic over expensive external links and server load
2. Reduction in Latency – Since contents are cached at comparatively closer intermediate nodes – Thereby improves Quality-of-Service (QoS) perceived by users
* See paper for all the references
Anshuman Kalla
26
Advantages of In-Network Caching in ICN 1. Cost Effective Data Retrieval – Minimizes delegation of traffic for cached contents over egress links – Thereby minimizes traffic over expensive external links and server load
2. Reduction in Latency – Since contents are cached at comparatively closer intermediate nodes – Thereby improves Quality-of-Service (QoS) perceived by users
3. Heavy Load Handling – Caching transforms nodes into legitimate proxies of origin server – Thereby inherently tackles heavy load situations like flash crowd
* See paper for all the references
Anshuman Kalla
27
Advantages of In-Network Caching in ICN 1. Cost Effective Data Retrieval – Minimizes delegation of traffic for cached contents over egress links – Thereby minimizes traffic over expensive external links and server load
2. Reduction in Latency – Since contents are cached at comparatively closer intermediate nodes – Thereby improves Quality-of-Service (QoS) perceived by users
3. Heavy Load Handling – Caching transforms nodes into legitimate proxies of origin server – Thereby inherently tackles heavy load situations like flash crowd
4. Efficient Retransmissions – Caching allows retransmission of content’s cached copy from closest node – Thereby ensures better resiliency to packet losses * See paper for all the references
Anshuman Kalla
28
Advantages of In-Network Caching in ICN 5. Higher Availability – More legitimate proxies of server i.e. caches improves content availability – Thereby reduces the probability of Denial of Service (DoS) attack
* See paper for all the references
Anshuman Kalla
29
Advantages of In-Network Caching in ICN 5. Higher Availability – More legitimate proxies of server i.e. caches improves content availability – Thereby reduces the probability of Denial of Service (DoS) attack
6. Buoyancy to Intermittent Connectivity – Caching inherently allows to sustain intermittent connectivity – Also allows mobile nodes to act as a network medium for areas uncovered by network
* See paper for all the references
Anshuman Kalla
30
Issues Related to In-Network Caching in ICN 1. Cache Placement or Allocation – Where to place the caches (i.e. content stores)? – That is caching facility at all or selected nodes in a network – Edge nodes / core nodes / central nodes / strategically selected nodes
* See paper for all the references
Anshuman Kalla
31
Issues Related to In-Network Caching in ICN 1. Cache Placement or Allocation – Where to place the caches (i.e. content stores)? – That is caching facility at all or selected nodes in a network – Edge nodes / core nodes / central nodes / strategically selected nodes
2. Cache Size Dimensioning – What should be the size of caches? – That is allowing homogeneous or heterogeneous caches – In case of heterogeneous where to boost cache size comparatively
* See paper for all the references
Anshuman Kalla
32
Issues Related to In-Network Caching in ICN 1. Cache Placement or Allocation – Where to place the caches (i.e. content stores)? – That is caching facility at all or selected nodes in a network – Edge nodes / core nodes / central nodes / strategically selected nodes
2. Cache Size Dimensioning – What should be the size of caches? – That is allowing homogeneous or heterogeneous caches – In case of heterogeneous where to boost cache size comparatively
3. Content Placement – Where to cache a retrieved content within a network? – That is where to cache the retrieved content to improve performance – Centralized or decentralized manner (explicit or implicit coordination) * See paper for all the references
Anshuman Kalla
33
Issues Related to In-Network Caching in ICN 4. Content Selection – What to cache out of huge flow of contents? – That is to identify profitable contents from content catalog for caching – Could be performed event after content placement if the placement mechanism is oblivious of content’s utility characteristics
* See paper for all the references
Anshuman Kalla
34
Issues Related to In-Network Caching in ICN 4. Content Selection – What to cache out of huge flow of contents? – That is to identify profitable contents from content catalog for caching – Could be performed event after content placement if the placement mechanism is oblivious of content’s utility characteristics
5. Replacement policy – Which cached-content should be evicted to accommodate an incoming content? – That is when cache is full then which residing content to be evicted to cache the retrieved content
* See paper for all the references
Anshuman Kalla
35
Factors Affecting In-Network Caching in ICN 1. Network topology – Its cognizance might be crucial for performing caching
* See paper for all the references
Anshuman Kalla
36
Factors Affecting In-Network Caching in ICN 1. Network topology – Its cognizance might be crucial for performing caching
2. Size of Content Population (Content Catalog) – Total number of distinct contents for which request could be received
* See paper for all the references
Anshuman Kalla
37
Factors Affecting In-Network Caching in ICN 1. Network topology – Its cognizance might be crucial for performing caching
2. Size of Content Population (Content Catalog) – Total number of distinct contents for which request could be received
3. Popularity Distribution – Plays vital role but popularity estimation is itself a challenging task
* See paper for all the references
Anshuman Kalla
38
Factors Affecting In-Network Caching in ICN 1. Network topology – Its cognizance might be crucial for performing caching
2. Size of Content Population (Content Catalog) – Total number of distinct contents for which request could be received
3. Popularity Distribution – Plays vital role but popularity estimation is itself a challenging task
4. Popularity Dynamics – Percentage and/or frequency of change in popularity of contents
* See paper for all the references
Anshuman Kalla
39
Factors Affecting In-Network Caching in ICN 1. Network topology – Its cognizance might be crucial for performing caching
2. Size of Content Population (Content Catalog) – Total number of distinct contents for which request could be received
3. Popularity Distribution – Plays vital role but popularity estimation is itself a challenging task
4. Popularity Dynamics – Percentage and/or frequency of change in popularity of contents
5. Latency – In terms of hop-count or distance, used to trigger caching decision * See paper for all the references
Anshuman Kalla
40
Factors Affecting In-Network Caching in ICN 6. Bandwidth – Available over retrieval path is another factor used for caching decision
* See paper for all the references
Anshuman Kalla
41
Factors Affecting In-Network Caching in ICN 6. Bandwidth – Available over retrieval path is another factor used for caching decision
7. Cache size per node – Homo or heterogeneous sized caches to analyze caching performance
* See paper for all the references
Anshuman Kalla
42
Factors Affecting In-Network Caching in ICN 6. Bandwidth – Available over retrieval path is another factor used for caching decision
7. Cache size per node – Homo or heterogeneous sized caches to analyze caching performance
8. Granularity of content – Entire object or packet or chunk – granularity may affect performance
* See paper for all the references
Anshuman Kalla
43
Factors Affecting In-Network Caching in ICN 6. Bandwidth – Available over retrieval path is another factor used for caching decision
7. Cache size per node – Homo or heterogeneous sized caches to analyze caching performance
8. Granularity of content – Entire object or packet or chunk – granularity may affect performance
9. Size of Content – Homogeneous (small or large sized) or heterogeneous sized contents
* See paper for all the references
Anshuman Kalla
44
Factors Affecting In-Network Caching in ICN 6. Bandwidth – Available over retrieval path is another factor used for caching decision
7. Cache size per node – Homo or heterogeneous sized caches to analyze caching performance
8. Granularity of content – Entire object or packet or chunk – granularity may affect performance
9. Size of Content – Homogeneous (small or large sized) or heterogeneous sized contents
10.Pricing (Cost involved in fetching contents) – In order to prioritize caching of costlier contents * See paper for all the references
Anshuman Kalla
45
Factors Affecting In-Network Caching in ICN 11. Mobility – Movement tendency of users for pre-fetching based caching
* See paper for all the references
Anshuman Kalla
46
Factors Affecting In-Network Caching in ICN 11. Mobility – Movement tendency of users for pre-fetching based caching
12. Routing – Multipath routing affects the caching performance differently
* See paper for all the references
Anshuman Kalla
47
Factors Affecting In-Network Caching in ICN 11. Mobility – Movement tendency of users for pre-fetching based caching
12. Routing – Multipath routing affects the caching performance differently
13. Spatial Locality – Accessing tendency of user in a geographical area for caching decisions
* See paper for all the references
Anshuman Kalla
48
Factors Affecting In-Network Caching in ICN 11. Mobility – Movement tendency of users for pre-fetching based caching
12. Routing – Multipath routing affects the caching performance differently
13. Spatial Locality – Accessing tendency of user in a geographical area for caching decisions
14. Social Networking – Caching of contents accessed or produced by socially active & influential users
* See paper for all the references
Anshuman Kalla
49
Performance Metrics For In-Network Caching 1. Hit Ratio – Number of satisfied requests by caching to total number of requests – Higher is hit ratio better is the caching performance
* See paper for all the references
Anshuman Kalla
50
Performance Metrics For In-Network Caching 1. Hit Ratio – Number of satisfied requests by caching to total number of requests – Higher is hit ratio better is the caching performance
2. Bandwidth Usage – Implies usage of expensive external links as well as internal links – Lower bandwidth usage implies better caching performance
* See paper for all the references
Anshuman Kalla
51
Performance Metrics For In-Network Caching 1. Hit Ratio – Number of satisfied requests by caching to total number of requests – Higher is hit ratio better is the caching performance
2. Bandwidth Usage – Implies usage of expensive external links as well as internal links – Lower bandwidth usage implies better caching performance
3. Cache Load – Number of contents to be cached by a content store – Homo or heterogeneously loaded cached – Later leads to unbalanced caches & creation of hot spots
* See paper for all the references
Anshuman Kalla
52
Performance Metrics For In-Network Caching 1. Hit Ratio – Number of satisfied requests by caching to total number of requests – Higher is hit ratio better is the caching performance
2. Bandwidth Usage – Implies usage of expensive external links as well as internal links – Lower bandwidth usage implies better caching performance
3. Cache Load – Number of contents to be cached by a content store – Homo or heterogeneously loaded cached – Later leads to unbalanced caches & creation of hot spots
4. Server Load – Number of content-requests arriving at original server – Lower the server load better will be service provided Anshuman Kalla
53
Performance Metrics For In-Network Caching 5. Latency – Implies delay encountered in retrieving a requested content – Lower latency boosts Quality-of-Experience (QoE) perceived by users – Thus reduction in latency achieved is used to gauge caching performance
* See paper for all the references
Anshuman Kalla
54
Performance Metrics For In-Network Caching 5. Latency – Implies delay encountered in retrieving a requested content – Lower latency boosts Quality-of-Experience (QoE) perceived by users – Thus reduction in latency achieved is used to gauge caching performance
6. Cache Diversity – Implies number of unique contents residing in network caches – Higher cache diversity improves overall performance
* See paper for all the references
Anshuman Kalla
55
Performance Metrics For In-Network Caching 5. Latency – Implies delay encountered in retrieving a requested content – Lower latency boosts Quality-of-Experience (QoE) perceived by users – Thus reduction in latency achieved is used to gauge caching performance
6. Cache Diversity – Implies number of unique contents residing in network caches – Higher cache diversity improves overall performance
7. Complexity & Overheads – Caching needs to be simple, light-weight and practically deployable
* See paper for all the references
Anshuman Kalla
56
Performance Metrics For In-Network Caching 5. Latency – Implies delay encountered in retrieving a requested content – Lower latency boosts Quality-of-Experience (QoE) perceived by users – Thus reduction in latency achieved is used to gauge caching performance
6. Cache Diversity – Implies number of unique contents residing in network caches – Higher cache diversity improves overall performance
7. Complexity & Overheads – Caching needs to be simple, light-weight and practically deployable
8. Fairness – In terms of content selection fairness, link load fairness, popularity estimation fairness etc. * See paper for all the references
Anshuman Kalla
57
Performance Metrics For In-Network Caching 9. Resiliency to DoS Attack – Network caching transforms caches into legitimate proxies of origin server – Thus caches collectively handles DoS attack by divide-and-conquer rule
* See paper for all the references
Anshuman Kalla
58
Real Network Topologies • Abilene [14]
• GEANT [17]
• Rocketfuel [12]
• Tiger [18]
• CERNET2 [9]
• GARR [19]
• CAIDA [10]
• WIDE [20]
• CRAWDAD [15]
• PlanetLab [21]
• CERNET [16] * See paper for all the references
Anshuman Kalla
59
Fabricated Network Topologies • Barabasi-Albert (BA) Power Law Model [11] • Watts-Strogatz (WS) Model [13] • Boston university Representative Internet Topology gEnerator (BRITE) Tool [22] • Gorgia Tech -Internetwork Topology Models (GT-ITM)Tool [23] • Internet Topology Generator (INET) Tool [24] * See paper for all the references
Anshuman Kalla
60
Traffic Patterns • Synthetic traffic workload have been generated using – Zipf distribution (α ranging between 0.6 to 1.8) and – Zipf-Mandelbrot distribution (with different value of α and q)
• Real traffic traces that have been used are – P2P Workload [36] – LastFM [32] – Facebook data [33] * See paper for all the references
Anshuman Kalla
61
Network Simulators For ICN • ccnSim simulator [25] • CCNx simulator [26] • OPNET simulator [27] • CCNPL simulator [28] • OMNET++ simulator [29] • ICARUS simulator [30] • NEPI simulator [31] * See paper for all the references
Anshuman Kalla
62
References The reference list remains the same that is used in the original paper
* See paper for all the references
Anshuman Kalla
63
Thank You
Anshuman Kalla
64