【技术实现步骤摘要】
本专利技术的实施方式涉及虚拟机领域,具体地,本专利技术的实施方式涉及一种用于在虚拟机与外部机器进行通信时使用的方法、设备和虚拟机系统。
技术介绍
虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过虚拟机软件,可以在一台物理计算机(下文简称为物理机)上模拟出一台或多台虚拟机。这些虚拟机完全像真正的计算机那样进行工作。例如,用户可以安装操作系统、安装应用、访问网络资源,利用其上安装的即时聊天软件进行交谈等等。对于用户而言,虚拟机只是运行在物理机上的一个应用,但是对于在虚拟机中运行的应用而言,它就是一台真正的计算机。如上所述,用户可以利用运行在虚拟机中的应用(例如,web浏览器、即时通信软件等)与网络中的其他物理机或虚拟机进行网络通信。需要注意的是,在常见的虚拟化实现(例如基于Xen的虚拟化系统)中进行网络通信时,多个虚拟机中仅有一个特定虚拟机(例如,DomO)可以与物理机底层硬件平台中的网卡进行直接交互。由此,虚拟机为了利用网卡进行网络通信,就必须首先将其待向网络上的外部机器(可以是物理机,也可以是虚拟机)发送的数据分组发送 ...
【技术保护点】
一种用于在虚拟机与外部机器进行通信时使用的方法,包括:提供在多个所述虚拟机与特定虚拟机之间共享的单个共享页面,其中所述特定虚拟机与多个所述虚拟机运行在同一物理机上;向所述单个共享页面写入所述虚拟机待向所述外部机器发送的数据分组;调度所述单个共享页面与所述特定虚拟机的空白内存页面之间的页面交换;以及将所述页面交换后的所述特定虚拟机的内存页面中的数据分组向所述外部机器发送。
【技术特征摘要】
1.一种用于在虚拟机与外部机器进行通信时使用的方法,包括: 提供在多个所述虚拟机与特定虚拟机之间共享的单个共享页面,其中所述特定虚拟机与多个所述虚拟机运行在同一物理机上; 向所述单个共享页面写入所述虚拟机待向所述外部机器发送的数据分组; 调度所述单个共享页面与所述特定虚拟机的空白内存页面之间的页面交换;以及 将所述页面交换后的所述特定虚拟机的内存页面中的数据分组向所述外部机器发送。2.根据权利要求1所述的方法,进一步包括: 在向所述单个共享页面写入所述虚拟机待向所述外部机器发送的数据分组之前,在所述虚拟机的用户内存空间内、按照特定协议封装所述数据分组;以及 向所述单个共享页面写入所述虚拟机待向所述外部机器发送的数据分组包括:直接通过方法调用的方式将所述封装后的数据分组写入所述单个共享页面。3.根据权利要求1所述的方法,其中调度所述页面交换是响应于到达所述页面交换的周期的起始时刻而发生的,其中所述页面交换的周期是根据运行在所述同一物理机上的所有虚拟机有数据分组待向所述外部机器发送的平均时间间隔与所述所有虚拟机向所述单个共享页面写入所述数据分组所需的平均时间间隔确定的;以及 所述方法进一步包括:向每个虚拟机通知所述页面交换的周期。4.根据权利要求3所述的方法,其中调度所述页面交换是响应于进一步确定所述单个共享页面具有待向所 述外部机器发送的数据分组而发生的;以及 所述方法进一步包括:响应于确定所述单个共享页面不具有待向所述外部机器发送的数据分组,重新计算所述页面交换的周期。5.根据权利要求3所述的方法,进一步包括: 如果所述每个虚拟机中的任何一个虚拟机向所述单个共享页面写入其待向所述外部机器发送的数据分组所需的时间间隔跨越所述页面交换的下一周期的起始时刻,推迟所述任何一个虚拟机的写入到所述页面交换的下一周期。6.根据权利要求1所述的方法,进一步包括: 在所述单个共享页面中对所述待向所述外部机器发送的数据分组进行重组。7.根据权利要求6所述的方法,其中所述重组包括: 将来自同一虚拟机的或来自运行在所述同一物理机上的不同虚拟机的、具有相同目的地地址和协议层类型的数据分组的有效载荷聚集在一个数据分组中。8.根据权利要求1所述的方法,进一步包括: 响应于所述特定虚拟机接收到来自所述外部机器的数据分组,将原始套接字应用于从所述数据分组寻址到的虚拟机的虚拟驱动器转发所述数据分组,以便对其进行解封装, 其中所述来自所述外部机器的数据分组是在所述外部机器的虚拟机的用户内存空间内、按照特定协议进行了封装的,或者在所述外部机器的单个共享页面内进行了重组的数据分组。9.一种用于在虚拟机与外部机器进行通信时使用的设备,包括: 提供装置,配置用于提供在多个所述虚拟机与特定虚拟机之间共享的单个共享页面,其中所述特定虚拟机与多个所述虚拟机运行在同一物理机上; 写入装置,配置用于向所述单个共享页面写入所述虚拟机待向所述外部机器发送的数据分组; 调度装置,配置用于调度所述单个共享页面与所述特定虚拟机的空白内存页面之间的页面交换;以及 发送装置,配置用于将所述页面交换后的所述特定虚拟机的内存页面中的数据分组向所述外部机器发送。10.根据权利要求9所述的设备,进一步包括: 封装装置,配置用于在向所述单个共享页面写入所述虚拟机待向所述外部机器发送的数据分组之前,在所述虚拟机的用户内存空间内、按照特定协议封装所述数据分组;以及 所述写...
【专利技术属性】
技术研发人员:曲俊媚,李立,刘亮,戈弋,袁昱,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。