MPC: Popularity-based Caching Strategy for Content Centric Networks

MPC: most popular content

   MPC主要思想是在缓存机制中,仅仅缓存popular的content,虽然只缓存部分内容,但是仍然提升了缓存性能,同时节约了缓存资源(缓存空间,带宽,缓存操作次数)

   在MPC中引入了几个新的概念:

      Popular Table :记录popular content的name和popularcount

      Popular Threshold : popular阈值,一旦content的请求次数,达到阈值,这个content标记为popular content

      Suggestion : 含有popular content发送给邻居节点,建议邻居节点缓存popular content

      Reset Value : 邻居节点缓存popular content后,这时防止邻居节点同一内容持续的洪泛请求

   下图是MPC缓存机制的基本过程:

    

    如图节点A先请求数据e1,节点B,A,C请求数据d1,内容e1的popular值为1,内容d1的popular值为3,假设popular阈值为2。

  那么d1就为popular content。这时缓存d1的节点D向邻居节点发出Suggestion(缓存内容d1),节点C,E缓存内容d1。

    如果此时A节点旁有个邻居节点M,节点M请求内容d1,那么A将返回数据d1而不是D,同时D将会将d1的popular值重置。

MAGIC: a Distributed MAx-Gain In-networkCaching Strategy in Information-Centric Networks

MAGIC:MAX-Gain In-network Caching

    数据传送路径上的分布式缓存策略。通过考虑内容的popularity和减少跳数的结合减少带宽的浪费,同时考虑了缓存替换来减少缓存的操作。

    cache palcement gain:节点在缓存中缓存新内容的gain的值

    cache replacement penalty:节点将内容从缓存中驱逐的loss值

    这两个值是减少缓存操作的次数

  1.

    

      :节点v缓存请求内容m的缓存替换增益(gain)

      :节点v请求内容m的请求速率(每秒发送INTERTEST messages的个数)

      :从节点v到可以返回内容的节点之间的条数

    

    :定义为所有缓存内容对象的最小带宽消耗节省

    如果缓存一个新的内容的增益值(gain)小于替换任何缓存内容的代价,那么这个内容将被缓存,同时其他内容不会被替换。

  2.分布式缓存策略

    分布式缓存策略需要在数据传送路径的沿途寻找最好的palace来缓存内容

  

            

  上图的伪代码和图说明了MAGIC缓存的操作过程:

    寻找数据传输路径上缓存内容的节点:我们用content m的最大的LocalGain来确定节点。当请求内容m时INTEREST message发送同时

    INTEREST message头部的MaxGain的值置0,每个路由收到INTEREST message,计算自己的,将自己的值和INTEREST message

    头部的MaxGain进行比较,如果大于MaxGain则,MaxGain更新为

    当INTEREST message到达服务器或者到达缓存内容m的节点后,MaxGain为最大值。DATA message中记录MaxGain的,DATA message

    在返回的途中将与MaxGain向比较,如果相等,则此节点缓存内容m。

    

MPC&MAGIC的更多相关文章

  1. Codeforces CF#628 Education 8 D. Magic Numbers

    D. Magic Numbers time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...

  2. [8.3] Magic Index

    A magic index in an array A[0...n-1] is defined to be an index such that A[i] = i. Given a sorted ar ...

  3. Python魔术方法-Magic Method

    介绍 在Python中,所有以"__"双下划线包起来的方法,都统称为"Magic Method",例如类的初始化方法 __init__ ,Python中所有的魔 ...

  4. 【Codeforces717F】Heroes of Making Magic III 线段树 + 找规律

    F. Heroes of Making Magic III time limit per test:3 seconds memory limit per test:256 megabytes inpu ...

  5. 2016中国大学生程序设计竞赛 - 网络选拔赛 C. Magic boy Bi Luo with his excited tree

    Magic boy Bi Luo with his excited tree Problem Description Bi Luo is a magic boy, he also has a migi ...

  6. 一个快速double转int的方法(利用magic number)

    代码: int i = *reinterpret_cast<int*>(&(d += 6755399441055744.0)); 知识点: 1.reinterpret_cast&l ...

  7. MAGIC XPA最新版本Magic xpa 2.4c Release Notes

    New Features, Feature Enhancements and Behavior ChangesSubforms – Behavior Change for Unsupported Ta ...

  8. Magic xpa 2.5发布 Magic xpa 2.5 Release Notes

    Magic xpa 2.5發佈 Magic xpa 2.5 Release Notes Magic xpa 2.5 Release NotesNew Features, Feature Enhance ...

  9. GCC 源码编译 mpc mprf gmp 不用make(否则会有lib/libgmp.so: could not read symbols: File in wrong format等错误)

    错误信息: lib/libgmp.so: could not read symbols: File in wrong formatcollect2: error: ld returned 1 exit ...

随机推荐

  1. BugPhobia开发篇章:Beta阶段第III次Scrum Meeting

    0x01 :Scrum Meeting基本摘要 Beta阶段第三次Scrum Meeting 敏捷开发起始时间 2015/12/15 00:00 A.M. 敏捷开发终止时间 2015/12/15 23 ...

  2. 决胜 Poker

    团队展示 队名 决胜 Poker 团队人员 211606392 郑俊瑜 (队长) 211606355 陈映宏 211606358 陈卓楠 211606386 姚皓钰 211606323 刘世华 211 ...

  3. 20170831 php

    今天开始学习php 发现这个网站教程感觉入门很轻松 http://www.php.cn/code/25.html 配置环境遇到了端口占用的问题 解决方案: http://www.weekdian.co ...

  4. PHP后台支付的开发:微信支付和支付宝支付

    关于支付的流程之类的就不做解释,大家可以自行搜索! 微信支付 项目前提:本人用的是tp框架,PHP语言下载到微信平台提供的微信支付接口文件,放在了tp第三方类库vendor,命名为WxpayAPI, ...

  5. [转帖]SSL/TLS/WTLS原理

    SSL/TLS/WTLS原理 作者:yawl < yawl@nsfocus.com >主页:http://www.nsfocus.com日期:2001-02-19 一 前言 首先要澄清一下 ...

  6. K8S 使用简单的NFS 作为 持久存储的 StorageClass 的简单测试.

    Study From https://jimmysong.io/kubernetes-handbook/practice/using-nfs-for-persistent-storage.html 1 ...

  7. 【大数据】Sqoop学习笔记

    第1章 Sqoop简介 Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MyS ...

  8. Maven变量及常见插件配置详解(转)

    一.变量-自定义变量及内置变量 1.自定义变量 <properties> <project.build.name>tools</project.build.name> ...

  9. 「TJOI / HEOI2016」字符串

    「TJOI / HEOI2016」字符串 题目描述 佳媛姐姐过生日的时候,她的小伙伴从某东上买了一个生日礼物.生日礼物放在一个神奇的箱子中.箱子外边写了一个长为 \(n\) 的字符串 \(s\),和 ...

  10. 【BZOJ1005】[HNOI2008]明明的烦恼(prufer序列)

    [BZOJ1005][HNOI2008]明明的烦恼(prufer序列) 题面 BZOJ 洛谷 题解 戳这里 #include<iostream> #include<cstdio> ...