[发明专利]一种分布式虚拟机监控器内连通信方法有效
| 申请号: | 200810239899.7 | 申请日: | 2008-12-23 |
| 公开(公告)号: | CN101430674A | 公开(公告)日: | 2009-05-13 |
| 发明(设计)人: | 宋忠雷;肖利民;陈思名;彭近兵;祝明发;马博 | 申请(专利权)人: | 北京航空航天大学 |
| 主分类号: | G06F15/173 | 分类号: | G06F15/173;G06F9/54;G06F9/455;H04L29/06 |
| 代理公司: | 北京慧泉知识产权代理有限公司 | 代理人: | 王顺荣;唐爱华 |
| 地址: | 100191北京市海淀区学院路*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 分布式 虚拟机 监控器 通信 方法 | ||
1.一种分布式虚拟机监控器VMM通信技术的实现方法,其特征在于:该实现方法步骤如下:
步骤一、准备阶段:
各节点VMM创建虚拟机并为虚拟机分配内存时为双环预留空间,告知虚拟机页面不可用,并初始化请求环和服务环结构;
各节点VMM分别在启动虚拟机时启动设备模拟模块dm,并将双环所在的页面映射到domain0地址空间内,以供domain0和工作在domain0之上的dm模块中应用程序使用;
在各节点VMM中分别对事件通道初始化,事件通道由VMM管理,并呈现给domain0使用;
所述domain0为:在VMM运行修改过的linux操作系统;
步骤二、建立连接阶段:
当客户操作系统启动时:
由管理模块启动客户操作系统,首先陷入到VMM中,VMM对客户操作系统进行分配核心资源后启动为客户操作系统提供设备模拟的qemu-dm模块;
启动qemu-dm模块中我们所实现的通信模块部分:
为提高数据传输率,我们使用三个连接进行通信,分别是不同物理节点上的vcpu间,远程I/O设备访问,远程访存;
qemu-dm模块运行在domain0的应用层,各节点分别从客户操作系统的配置文件读取参数,将参数传递过来,启动节点创建socket,开始对连接进行监听,而非启动节点创建socket后发起连接请求;这个过程为阻塞方式,也就是说只有建立好连接之后才可往下进行;
通过系统调用方式进入到domain0的内核态使用TCP/IP协议栈完成连接的建立;分别将建立好的连接的描述符保存到连接数组,以供数据发送时使用;
步骤三、数据传输过程:
当客户操作系统发生缺页或者I/O设备访问时会首先陷入到VMM中;
VMM对陷入原因进行分析,根据不同请求创建不同的请求,将需要发送的数据的地址映射到domain0,然后通过写指针加入到请求环中,最后设置事件通道;
qemu-dm模块中通信线程被VMM以事件通道的方式唤醒,开始对请求环进行轮询,当有数据需要发送会通过读指针将请求取出来,并根据请求组建数据包,为数据包加应用层头部;
数据传入domain0中的TCP/IP协议栈,通过网卡将数据发送出去;
目的节点接收到数据后由网卡中断交由TCP/IP协议栈,协议栈在去掉传输层以下的头部后将数据保存,并将地址保存到一个环描述符中,通过服务环写指针将它放入到服务环中去,然后通过事件通道告知VMM来处理;
VMM读取服务环,得到描述符中的地址后将数据映射到客户操作系统中去,这样接收数据完成;
步骤四、连接关闭阶段:
客户操作系统关闭;
释放启动节点资源并通过通信模块释放远程资源;
检查环中数据是否已经处理完毕;
将连接关闭;
释放环以及与通信相关资源;
通信线程服务退出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810239899.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种页码定位方法及装置
- 下一篇:空调器睡眠模式运行控制方法





