曾老师的这篇文章发表于Journal of Network and Computer Applications,主要解决的是利用启发式算法决定如何在cloud of clouds中进行副本分发,满足用户移动请求的大前提下,花费的服务开销最小。

     具体来说,就是数据可以只存放在一个云上,也可以在多个云上存放多个副本,副本也可以在云间进行拷贝。而实时请求来临时,既可直接从单个云读取,也可以通过网络在云间进行副本转发,将一份最新的数据副本转发至离用户最近的云中,用户从该云中获取数据。此文就是为了获得内容迁移的益处并最小化服务开销,基于本地搜索提出了几种启发式算法,利用这些算法迁移内容副本适应移动的存取请求。
     在优化cloud of clouds内容分发的过程中,首先是对整个系统进行数学建模,将问题公式化。众多云、存取点及他们之间的连接网络,构成“图”结构。将不同节点、路径、成本、请求、函数、各时刻的各种结点和请求集合,分别用不同的参数表示出来,列出副本分发的成本计算公式。这一过程主要需要的就是数学功底,图论、集合和数学建模的一些知识。不要被众多参数和公式吓到,那只是唬人的,用来说明问题而已。
     接下来就是提出解决问题的算法。就是如何分发数据和重定向请求,最节省成本。要通过对成本数学模型的分析,尝试确定最优副本分发数据函数ζ和请求重定向函数φ(可将此处函数理解为集合映射)。然而问题规模过大,问题复杂度太高,但确必须在一个合理的时间段内解决。相较于寻找最优的ζ和φ,在提出的启发式算法优化内容分发过程中将他们当做二等参数,允许内容分发机制决定是否撤销得到的二等参数。分在线和离线两种情况提出了三种启发式算法LSBS、LSGS和offline-GR,并且度量了相应算法的时间复杂度。
     最后利用Youtube上的video Trace进行了仿真实验,比较内容大小、存取周期、CSP数目对三种启发式算法成本开销及存取延迟的影响。

     有一个问题是在线算法和离线算法有什么区别,我的理解是“在线”是指决策作出时不依赖历史请求信息,“离线”是依赖历史请求数据,事后做出判断。
     

Optimization on content service with local search in cloud of clouds的更多相关文章

  1. 【智能算法】迭代局部搜索(Iterated Local Search, ILS)详解

    迭代局部搜索(Iterated Local Search, ILS) 源代码下载请关注微信公众号[程序猿声],在后台回复:[ILS],不包括[]即可下载. 00 目录 局部搜索算法 简单局部搜索 迭代 ...

  2. MIP启发式求解:局部搜索 (local search)

    *本文主要记录和分享学习到的知识,算不上原创. *参考文献见链接. 本文讲述的是求解MIP问题的启发式算法. 启发式算法的目的在于短时间内获得较优解. 个人认为局部搜索(local search)几乎 ...

  3. local search——配图

  4. 微软职位内部推荐-Service Engineer II for Azure Cloud Network

    微软近期Open的职位: Are you interested in helping to drive the direction of a product that defines the clou ...

  5. Machine and Deep Learning with Python

    Machine and Deep Learning with Python Education Tutorials and courses Supervised learning superstiti ...

  6. AutoML相关论文

    本文为Awesome-AutoML-Papers的译文. 1.AutoML简介 Machine Learning几年来取得的不少可观的成绩,越来越多的学科都依赖于它.然而,这些成果都很大程度上取决于人 ...

  7. 机器学习资源汇总----来自于tensorflow中文社区

    新手入门完整教程进阶指南 API中文手册精华文章TF社区 INTRODUCTION 1. 新手入门 1.1. 介绍 1.2. 下载及安装 1.3. 基本用法 2. 完整教程 2.1. 总览 2.2.  ...

  8. 【转载】 AutoML相关论文

    原文地址: https://www.cnblogs.com/marsggbo/p/9308518.html ---------------------------------------------- ...

  9. (转)内置系统账户:Local system/Network service/Local Service 区别

    最近会转载一些 MSSQL 基础相关的文章. 参考文献: http://www.cnblogs.com/xianspace/archive/2009/04/05/1429835.html 前言 今天在 ...

随机推荐

  1. 使用tortoisegit修改日志

    http://stackoverflow.com/questions/17647936/how-do-i-edit-an-incorrect-commit-message-with-tortoiseg ...

  2. 洛谷P3809 后缀数组模板

    题目:https://www.luogu.org/problemnew/show/P3809 刚学了后缀数组,看人家手写演示了半天,大概明白了过程,但完全写不出来代码: 于是借鉴了许多,不过都差不多, ...

  3. sublime -text 删除已安装插件

    按ctr+shift +p然后输入remove 回车,再输入要删除的插件名

  4. sql将一个表中的数据插入到另一个表中

    sql将一个表中的数据插入到另一个表中 列名不一定要相同,只要你在HH中列出要插入列的列表跟select   from   mm表中的选择的列的列表一一对应就可以了,当然两边的数据类型应该是兼容的.  ...

  5. 微信小程序获取当前所在城市

    本篇文章主要讲解在微信小程序中,如何利用微信自带的api(wx.getLocation())结合百度地图的逆地址解析api来获取当前所在城市名. 实现起来也比较简单,步骤为: 1--利用微信小程序接口 ...

  6. poj1958-汉诺四塔问题(三种方法)

    链接:http://poj.org/problem?id=1958 大意:汉诺塔升级版,四根柱子,n个盘子,求最少移动次数: 两种方法 递推or递归(当然还有思路3--打表) 思路1:递推(或者DP? ...

  7. python 10:len(list)(获取列表长度)以及负访问性

    bicycles = ['trek', 'cannondale', 'redline', 'specialized'] print(len(bicycles)) #获取某列表长度,即列表元素个数 pr ...

  8. Jenkins上Git ssh登陆配置

    1. 首先登陆linux机器 2. 切换到jenkins用户 3. 生成ssh key  ssh-keygen -t rsa -C 'amysu@acxiom.com'   4. 将生成的ssh ke ...

  9. Lua Time

    -- local getTime = os.date(“%c”); -- %a abbreviated weekday name (e.g., Wed)-- %A full weekday name ...

  10. js-var变量作用域

    看代码: var a=10; function fn1(){ alert(a); var a=20; alert(a); } 运行结果:undefined 和 20 注意: 在函数内,变量如没用var ...