发明名称 一种基于双边市场的移动云计算环境中多维资源定价方法
摘要 本发明公开了一种基于双边市场的移动云计算环境中多维资源定价方法,该方法运行在移动云计算环境中,涉及移动云计算环境的两组参与者,一组是拥有资源的Cloudlet,另一组是请求资源的VM,将VM看成是双边市场经济模型中的买方,将Cloudlet看成是卖方,双方通过价格交互机制来完成资源的配置,完成应用请求VM到Cloudlet上的卸载执行,节约移动设备的能耗。该方法中的价格交互机制基于双边市场博弈并结合惩罚定价机制和均衡效用折扣进行设计,可以将移动用户应用请求的多维资源在多个Cloudlet上进行合理的分配和调度,从而最大化移动云的系统效益。
申请公布号 CN103218737A 申请公布日期 2013.07.24
申请号 CN201310138247.5 申请日期 2013.04.19
申请人 湖南大学 发明人 谢鲲;吉玉琴;文吉刚
分类号 G06Q30/02(2012.01)I 主分类号 G06Q30/02(2012.01)I
代理机构 长沙正奇专利事务所有限责任公司 43113 代理人 马强
主权项 1.一种基于双边市场的移动云计算环境中多维资源定价方法,包括移动云计算系统,所述移动云计算系统包括移动网络的资源存储系统和与所述资源存储系统通信的移动终端设备,所述资源存储系统包括多个自治的云片Cloudlet,每个Cloudlet拥有多维不同的资源,所述每个Cloudlet都自私地以最大化自身收益作为目标选择移动终端应用请求的虚拟机承载形式VM,所述Cloudlet为所述双边市场的拥有资源的卖方,所述VM为所述双边市场的购买资源的买方,其特征在于,所述定价方法通过VM和Cloudlet之间的定价机制,促使VM选择合适的Cloudlet,并促使Cloudlet选择并确定其接纳的VM,从而完成VM到cloudlet之间的匹配,该方法的具体步骤为:步骤1:VM根据其请求到来时间计算它的等待时间,即VM<sub>i</sub>的等待时间t<sub>i</sub>=当前时间-VM<sub>i</sub>请求到来时间,设置第i个VM对第j个Cloudlet多维资源的初始出价向量为<img file="FDA00003071616200011.GIF" wi="198" he="98" />其中<img file="FDA00003071616200012.GIF" wi="58" he="86" />为cloudlet<sub>j</sub>为VM<sub>i</sub>提供服务的单位资源基本定价,cloudlet<sub>j</sub>表示第j个Cloudlet,VM<sub>i</sub>表示第i个VM;步骤2:每个VM<sub>i</sub>计算被不同Cloudlet<sub>j</sub>服务的效用,VM<sub>i</sub>从Cloudlet<sub>j</sub>处获取服务的效用值<img file="FDA00003071616200013.GIF" wi="195" he="93" />采用如下函数进行计算:<maths num="0001"><![CDATA[<math><mrow><msubsup><mi>&pi;</mi><mi>i</mi><mi>t</mi></msubsup><mrow><mo>(</mo><mi>j</mi><mo>,</mo><msub><mover><mi>p</mi><mo>&RightArrow;</mo></mover><mi>ij</mi></msub><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mn>1</mn><mo>&le;</mo><mi>k</mi><mo>&le;</mo><mi>d</mi></mrow></munder><msub><mi>w</mi><mi>i</mi></msub><mo>&CenterDot;</mo><msub><mi>a</mi><mi>ik</mi></msub><mo>&CenterDot;</mo><mover><msub><mi>v</mi><mi>i</mi></msub><mo>&RightArrow;</mo></mover><mo>[</mo><mi>k</mi><mo>]</mo><mo>-</mo><munder><mi>&Sigma;</mi><mrow><mn>1</mn><mo>&le;</mo><mi>k</mi><mo>&le;</mo><mi>d</mi></mrow></munder><msub><mover><mi>p</mi><mo>&RightArrow;</mo></mover><mi>ij</mi></msub><mo>[</mo><mi>k</mi><mo>]</mo><mo>&CenterDot;</mo><msub><mover><mi>v</mi><mo>&RightArrow;</mo></mover><mi>i</mi></msub><mo>[</mo><mi>k</mi><mo>]</mo><mo>+</mo><msub><mi>f</mi><mi>j</mi></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mi>g</mi><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></math>]]></maths>其中,f<sub>j</sub>(t<sub>i</sub>)表示由于服务延时Cloudlet<sub>j</sub>对VM<sub>i</sub>支付的惩罚,f<sub>j</sub>(t<sub>i</sub>)=st<sub>ij</sub>·w<sub>i</sub>·t<sub>i</sub>,st<sub>ij</sub>表示单位时间延时Cloudlet<sub>j</sub>给VM<sub>i</sub>支付的惩罚系数,w<sub>i</sub>表示VM<sub>i</sub>的优先级,t<sub>i</sub>表示VM<sub>i</sub>请求的等待时间,a<sub>ik</sub>是VM<sub>i</sub>获得第k维请求资源时的单位效用常数,<img file="FDA00003071616200015.GIF" wi="115" he="86" />表示VM<sub>i</sub>请求的Cloudlet多维资源向量,k是指第k维,d表示Cloudlet多维资源的维度,g(t<sub>i</sub>)表示VM<sub>i</sub>因为等待响应而失去的效用,g(t<sub>i</sub>)=at<sub>i</sub>·w<sub>i</sub>·t<sub>i</sub>,其中at<sub>i</sub>是VM<sub>i</sub>失去效用的单位增益的一个常数;步骤3:将VM效用大于0的Cloudlet标记为该VM的候选Cloudlet,放入候选Cloudlet集合中,若候选Cloudlet集合为空,那么VM的资源请求将不发送,应用在移动终端本地执行,若候选Cloudlet集合不为空,VM从可选的Cloudlet中根据VM效用值选择一个最优的Cloudlet,该最优的Cloudlet是使得VM产生最大效应值的Cloudlet,并向该最优Cloudlet发送资源请求,该资源请求包括拟支付给该最优Cloudlet的价格;步骤4:收到VM<sub>i</sub>的资源请求的Cloudlet<sub>j</sub>,首先确认自己的剩余资源量是否满足VM<sub>i</sub>的请求量,如果不满足,则拒绝VM<sub>i</sub>的请求,如果满足,Cloudlet<sub>j</sub>根据效用函数公式计算服务一组VM集合为其带来的效用,所述效用函数公式如下:<maths num="0002"><![CDATA[<math><mrow><msubsup><mi>u</mi><mi>j</mi><mrow><mi>t</mi><mo>,</mo><mi>load</mi></mrow></msubsup><mrow><mo>(</mo><msub><mi>S</mi><mi>j</mi></msub><mo>,</mo><msub><mover><mi>p</mi><mo>&RightArrow;</mo></mover><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><msubsup><mi>u</mi><mi>j</mi><mi>t</mi></msubsup><mrow><mo>(</mo><msub><mi>S</mi><mi>j</mi></msub><mo>,</mo><msub><mover><mi>p</mi><mo>&RightArrow;</mo></mover><mi>j</mi></msub><mo>)</mo></mrow><mo>&CenterDot;</mo><msubsup><mi>f</mi><mrow><msub><mi>S</mi><mi>j</mi></msub><mo>,</mo><mi>j</mi></mrow><mi>index</mi></msubsup></mrow></math>]]></maths>其中,<maths num="0003"><![CDATA[<math><mrow><msubsup><mi>u</mi><mi>j</mi><mi>t</mi></msubsup><mrow><mo>(</mo><msub><mi>S</mi><mi>j</mi></msub><mo>,</mo><msub><mover><mi>p</mi><mo>&RightArrow;</mo></mover><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mrow><msub><mover><mi>v</mi><mo>&RightArrow;</mo></mover><mi>i</mi></msub><mo>&Element;</mo><msub><mi>S</mi><mi>j</mi></msub></mrow></munder><mrow><mo>(</mo><munder><mi>&Sigma;</mi><mrow><mn>1</mn><mo>&le;</mo><mi>k</mi><mo>&le;</mo><mi>d</mi></mrow></munder><msub><mover><mi>p</mi><mo>&RightArrow;</mo></mover><mi>ij</mi></msub><mo>[</mo><mi>k</mi><mo>]</mo><mo>&CenterDot;</mo><msub><mover><mi>v</mi><mo>&RightArrow;</mo></mover><mi>i</mi></msub><mo>[</mo><mi>k</mi><mo>]</mo><mo>-</mo><munder><mi>&Sigma;</mi><mrow><mn>1</mn><mo>&le;</mo><mi>k</mi><mo>&le;</mo><mi>d</mi></mrow></munder><msub><mover><mi>&sigma;</mi><mo>&RightArrow;</mo></mover><mi>ij</mi></msub><mo>[</mo><mi>k</mi><mo>]</mo><mo>&CenterDot;</mo><msub><mover><mi>v</mi><mo>&RightArrow;</mo></mover><mi>i</mi></msub><mo>[</mo><mi>k</mi><mo>]</mo><mo>-</mo><msub><mi>f</mi><mi>j</mi></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>+</mo><mi>p</mi><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><msubsup><mi>f</mi><mrow><msub><mi>S</mi><mi>j</mi></msub><mo>,</mo><mi>j</mi></mrow><mi>index</mi></msubsup><mo>=</mo><mfrac><msup><mrow><mo>(</mo><munder><mi>&Sigma;</mi><mrow><mn>1</mn><mo>&le;</mo><mi>k</mi><mo>&le;</mo><mi>d</mi></mrow></munder><mrow><mo>(</mo><munder><mi>&Sigma;</mi><mrow><msub><mover><mi>v</mi><mo>&RightArrow;</mo></mover><mi>i</mi></msub><mo>&Element;</mo><msub><mi>S</mi><mi>j</mi></msub></mrow></munder><msub><mover><mi>v</mi><mo>&RightArrow;</mo></mover><mi>i</mi></msub><mo>[</mo><mi>k</mi><mo>]</mo><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup><mrow><mi>d</mi><mo>&CenterDot;</mo><munder><mi>&Sigma;</mi><mrow><mn>1</mn><mo>&le;</mo><mi>k</mi><mo>&le;</mo><mi>d</mi></mrow></munder><msup><mrow><mo>(</mo><munder><mi>&Sigma;</mi><mrow><msub><mover><mi>v</mi><mo>&RightArrow;</mo></mover><mi>i</mi></msub><mo>&Element;</mo><msub><mi>S</mi><mi>j</mi></msub></mrow></munder><msub><mover><mi>v</mi><mo>&RightArrow;</mo></mover><mi>i</mi></msub><mo>[</mo><mi>k</mi><mo>]</mo><mo>)</mo></mrow><mn>2</mn></msup></mrow></mfrac></mrow></math>]]></maths>p(t<sub>i</sub>)=bt<sub>i</sub>·w<sub>i</sub>·t<sub>i</sub><img file="FDA00003071616200024.GIF" wi="220" he="93" />表示Cloudlet<sub>j</sub>服务一组VM集合S<sub>j</sub>得到的效用,S<sub>j</sub>为Cloudlet<sub>j</sub>拟服务的VM集合,<img file="FDA00003071616200025.GIF" wi="117" he="85" />表示Cloudlet<sub>j</sub>服务VM集合S<sub>j</sub>时因为多维资源不均衡利用而产生的效用折扣,p(t<sub>i</sub>)表示双边市场因为Cloudlet<sub>j</sub>服务VM<sub>i</sub>支付给Cloudlet<sub>j</sub>的报酬,bt<sub>i</sub>是单位激励效用增益的常数;步骤5:移动云计算系统中的每个Cloudlet<sub>j</sub>在所有的请求VM中根据Cloudlet效用值选择提供服务的VM子集S<sub>j</sub>,并拒绝其他的VM,当VM被Cloudlet选中之后,对应的移动终端设备将其对应的应用卸载到该Cloudlet上执行;步骤6:步骤5中资源请求被相应的Cloudlet拒绝的VM将再次发起资源请求,再次发起资源请求时,VM对拒绝它的Cloudlet的出价在步骤3的价格基础上增加一个幅度<img file="FDA00003071616200031.GIF" wi="75" he="83" />即如果VM<sub>i</sub>被Cloudlet<sub>j</sub>拒绝的话,该VM<sub>i</sub>对Cloudlet<sub>j</sub>的价格更新为<img file="FDA00003071616200032.GIF" wi="281" he="95" />而对其他Cloudlet的出价维持步骤3的价格;步骤7:重复步骤2到步骤6,直到没有VM资源请求消息发送出来,此时,VM到Cloudlet的匹配完成,所有匹配成功的VM可得到Cloudlet的多维资源,并将对应移动终端设备的应用卸载到Cloudlet上执行,最终将执行结果反馈到移动终端设备。
地址 410082 湖南省长沙市岳麓区麓山南路2号
您可能感兴趣的专利