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. Intellij IDEA 文件修改提示星号

    https://www.cnblogs.com/zheting/p/7594073.html

  2. 对《OA云》作品的分析

    对<OA云>作品的分析 软件描述:<OA云>是一款基于移动端的企业日常事物办公软件,企业人员进入该产品后可以对当天的出勤情况进行签到,系统会自动的识别以及记录下员工的实时签到信 ...

  3. linux C单元测试工具CUnit的编译安装及使用

    1 下载CUnit安装包CUnit-2.1-3.tar.bz2保存至/home/用户/ (安装包版本为文章做成时2016-05-25的最新版本) https://sourceforge.NET/pro ...

  4. Beta阶段冲刺三

    Beta阶段冲刺三 Task1:团队TSP 团队任务 预估时间 实际时间 完成日期 新增其他学院的爬虫 180 130 11.30 新增其他学院的数据库字段修改 180 160 12.1 新增其他学院 ...

  5. RANCHER2.0 的简单使用

    1. RANCHER2.0  能够管理 k8s 集群 也能够用来搭建 k8s 集群 但是因为网络问题 只测试了如何去管理集群 还没有去 测试 安装集群. 2. 创建rancher 服务的方法 dock ...

  6. flex与滚动冲突

    如果设置方向用了flex,那么用滚动就没用

  7. Java移动文件到另外一个目录

    private void moveTotherFolders(String pathName,String fileName,String ansPath){ String startPath = t ...

  8. CF1110C Meaningless Operations(构造题)

    这可能是我打那么多次CF比赛时,做出来的最难的一道题了……而且这题也是个绝世好题…… 题目链接:CF原网  洛谷 题目大意:$q$ 组询问,每次给定 $a$ 询问 $\gcd(a\&b,a\o ...

  9. java实现超大整数加减乘除四则运算

    原理: 用数组存储数字,按照计算法则进行运算. 代码: package com.hdwang; import java.util.regex.Matcher; import java.util.reg ...

  10. Oracle表字段类型更改的一个经验

    先前表中ID字段类型是用序列,由于安全问题,需要处理水平权限的漏洞,虽然使用加密也可以处理,为了更方便,需要将字段类型改为Guid,如果表中已经有数据,更改起来不是很方便,对于基础数据表,这里提供一个 ...