CN102075434A - Communication method in virtual cluster - Google Patents

Communication method in virtual cluster Download PDF

Info

Publication number
CN102075434A
CN102075434A CN 201110031925 CN201110031925A CN102075434A CN 102075434 A CN102075434 A CN 102075434A CN 201110031925 CN201110031925 CN 201110031925 CN 201110031925 A CN201110031925 A CN 201110031925A CN 102075434 A CN102075434 A CN 102075434A
Authority
CN
Grant status
Application
Patent type
Prior art keywords
communication
interdomain
virtual
cluster
network
Prior art date
Application number
CN 201110031925
Other languages
Chinese (zh)
Other versions
CN102075434B (en )
Inventor
付宇
吴松
石宣化
金海�
Original Assignee
华中科技大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Abstract

The invention relates to a communication method in a virtual cluster, and belongs to the field of virtualization and cluster calculation, which solves the problems of low efficiency of network communication, ultra-complex transmission control protocol/Internet protocol (TCP/IP) communication protocol in the virtual cluster during non-interdomain communication and low interdomain communication performance due to overlong path through which datagrams pass during interdomain communication so as to improve the network communication efficiency of the virtual cluster network. The communication method comprises the following steps of starting, connection assisting, non-interdomain communication, virtual machine discovery and interdomain communication. In the communication method, the non-interdomain communication is specially designed in the virtual cluster to improve the efficiency of network communication and reduce the burden of a processor obviously; and in the interdomain communication, an interdomain communication channel is opened up among virtual machines to improve the performance of the network communication greatly. The communication method has the binary compatibility with the existing application programs, does not depend on specific network hardware used by the virtual cluster, and is high in efficiency and availability.

Description

一种虚拟集群中的通信方法 Communication method in a virtual cluster

技术领域 FIELD

[0001] 本发明属于虚拟化及集群计算领域,具体涉及一种虚拟集群中的通信方法。 [0001] The present invention belongs to the field of computing and cluster virtualization, particularly relates to a communication method for a virtual cluster.

背景技术 Background technique

[0002] 近年来,以资源的高效组织、透明使用为目的的虚拟化技术快速发展,为计算机软硬件产业的发展提供了一个突破点。 [0002] In recent years, in an efficient organizational resources, transparent use for the purpose of the rapid development of virtualization technology provides a breakthrough for the development of computer hardware and software industry.

[0003] 虚拟化是将底层物理设备与上层操作系统、软件分离的一种去耦合技术,它可以实现计算资源的高效灵活使用。 [0003] Virtualization is the upper layer and the underlying physical device operating system, a separate software decoupling technique, which can achieve flexible and efficient use of computing resources. 计算系统虚拟化的实质就是针对个性化需求,高效组织计算资源,隔离具体的硬件体系结构和软件系统之间的紧密依赖关系,在动态环境中按需构建计算系统虚拟映像,构造可以适应用户需求的协同普适化任务执行环境,从而实现透明的可伸缩计算架构,提高计算资源的使用效率,发挥计算资源的聚合效能,使用户可以获得高效透明的服务。 Computing system virtualization is the essence of computing for individual needs, efficient organizational resources, isolation tight dependencies between specific hardware architecture and software systems, on-demand computing systems to build virtual images in a dynamic environment, the structure can be adapted to customer needs the universal coordinated tasks execution environment, thereby realizing transparent scalable computing architecture, efficient use of computing resources, synergetic performance computing resources, so that users can obtain efficient and transparent services.

[0004] 剑桥大学开发的虚拟机监视器Xen是一个开放源代码的虚拟机监视器,通过Xen, 多个操作系统可以同时在一台物理计算机上运行。 [0004] Cambridge developed Xen hypervisor is an open-source virtual machine monitor, the Xen, the plurality of operating systems can be run simultaneously on a single physical computer. 运行在物理硬件和操作系统之间的虚拟机监视器Xen虚拟化了底层的物理硬件资源并且向运行在Xen上面的操作系统提供虚拟化的资源。 Xen hypervisor runs between the physical hardware and the operating system virtualization of hardware resources of the underlying physical and virtual resources provided in the above Xen operating system to run. 运行在Xen上的操作系统被称为虚拟机,其中一个具有直接硬件访问特权的虚拟机被称为Dom 0,其它不具有直接硬件访问特权的虚拟机被统称为Dom U。 Virtual machine operating system running on Xen is called a virtual machine, which has a direct hardware access privileges of the virtual machine is called Dom 0, the other does not have direct hardware access privileges are collectively referred to as Dom U.

[0005] 在虚拟机管理器Xen中,提供了在虚拟机之间共享内存的机制GrantTable (通过调用Grant Table提供的函数,一台虚拟机可以访问另一台虚拟机的内存);还提供了事件通道机制用于一台物理计算机上的虚拟机之间传递消息;包含了用于存储虚拟机配置信息的内存区域Xen More(虚拟机管理器Xen中的一块特殊的内存,各虚拟机可以在其中写入信息和读取自己写入的信息,特权虚拟机Dom O可以从中读取所有的信息)。 [0005] In the Xen Virtual Machine Manager, provides a mechanism GrantTable between virtual machines shared memory (by calling the function provided by Grant Table, a virtual machine can access the memory of another virtual machine); also provides event channel mechanism is used between the virtual machines on a single physical computer transmitting the message; comprising memory area for storing the virtual machine configuration information More Xen (Xen virtual machine Manager in a special memory, each virtual machine may be in which information is written and read their own written information, privileged virtual machine Dom O can read all the information).

[0006] 虚拟集群包括多台处于运行状态的物理计算机,这些物理计算机通过高速的局域网络连接通信,每台物理计算机上运行有多个虚拟机,这些虚拟机上面运行着各种不同的任务,包括高性能科学计算、大规模分布式数据处理等。 [0006] The virtual cluster comprising a plurality of physical computers in the running state, the physical computer link communication over high-speed local area network, a plurality of virtual machines running on each physical computers, virtual machines running above a variety of tasks, including high-performance scientific computing, large-scale distributed data processing. 虚拟集群中的物理计算机包括一个或者多个物理CPU(中央处理器),虚拟机监视器以及一台或多台虚拟机(指通过软件模拟的,具有完整硬件系统功能的,运行在一个完全隔离环境中的完整计算机系统),每台虚拟机上运行一个客户操作系统(Guest OS)。 Virtual physical cluster comprising one or more physical computer CPU (central processing unit), a virtual machine monitor and one or more virtual machines a completely isolated (by means of the simulation software, a complete hardware system function, running full computer system environment), each virtual machine running a guest operating system (Guest OS) on. 虚拟机监视器采用灵活的处理器调度策略,以响应各个虚拟机不断变化的负载情况。 Virtual machine monitor processor flexible scheduling policy in response to each virtual machine load changing.

[0007] 在虚拟集群中,存在着三种类型的通信,虚拟集群内非域间通信(不同物理计算机上虚拟机之间的网络通信)、域间通信(同一个物理计算机上虚拟机之间的网络通信)和外部通信(虚拟集群中的虚拟机与外界计算机之间的通信)。 [0007] In the virtual clusters, there are three types of communication within a virtual cluster non-domain communication (network communications between virtual machines on different physical computers), inter-domain communication (between a virtual machine on the same physical computer network communications) and external communication (communication between virtual machines and external virtual computer in the cluster).

[0008] 在虚拟集群中,虚拟化的物理计算机之间通过高速网络相连,例如千兆以太网、 VIA、Quadrics, Myrinet和InfiniBand(高速局域网络的几种类型)等,具有低延时、高带宽的特点。 [0008] In the virtual cluster, between some physical computers are connected through a high-speed network, for example Gigabit Ethernet, VIA, Quadrics, Myrinet and InfiniBand (several types of high-speed local area network) or the like, having a low latency, high bandwidth characteristics. 通常物理计算机之间的网络通信仍旧是通过复杂的传输控制协议和网际协议(TCP/IP)来进行通信的。 Typically the physical network communication between the computer to communicate is still complicated by the Transmission Control Protocol and Internet Protocol (TCP / IP). TCP/IP协议是为了适应hternet网络复杂的网络环境而设计的,非常复杂,由于没有像hternet那样复杂的网络环境,所以TCP/IP协议并不太适合于虚拟集群计算,浪费了宝贵的计算资源。 TCP / IP network protocol in order to adapt hternet complex network environments and very complicated, because there is no hternet as complex as the network environment, the TCP / IP protocol and is not suitable for virtual cluster computing, a waste of valuable computing resources . TCP/IP协议是《计算机网络》课程的主要内容,见《TCP/IP详解,卷1-卷3》,史蒂文斯(美国)著,范建华等译,机械工业出版社。 TCP / IP protocol is the main content of "Computer Network" Course, see "TCP / IP Elaborates on, vol 1 - Volume 3," Stevens (United States) with, Fan Jianhua translated, Machinery Industry Press.

[0009] 经过评测,在虚拟集群内非域间通信的情况下,测试表明Linux虚拟机的网络通信性能远低于物理Linux计算机系统的网络通信性能。 [0009] After the evaluation, within the non-domain virtual cluster of the communication, network communication performance tests show Linux virtual machine is much lower than the performance of the physical network communication system Linux computer. 网络数据接收性能会降低为物理Linux计算机系统的1/2到1/3,网络数据发送性能会降低到物理Linux计算机系统的1/5。 Network data reception performance decreases physical computer system Linux 1/2 to 1/3, the network data transmission will be reduced to 1/5 of the physical performance of the computer system Linux.

[0010] 在域间通信情况下,发送端虚拟机中的数据报需要通过TCP/IP协议栈、发送端虚拟机前端驱动(Xen虚拟网络接口驱动位于虚拟机中的一部分),然后发送到位于Dom 0(Xen中具有硬件访问特权的虚拟机)中的后端驱动(Xen虚拟网络接口驱动位于Dom O中的一部分),经虚拟网桥(用于连接Xen中的各个虚拟机的后端驱动)转发到接收端虚拟机的前端驱动、TCP/IP协议栈后才能达到应用程序,数据报穿越的长路径导致域间通信性能非常低下。 [0010] In the inter-domain communications, the data packet transmission end virtual machine need TCP / IP protocol stack, the transmitting side virtual machine front-end drivers (the Xen virtual network interface driver is located in part of a virtual machine), and then sent to the positioned rear drive Dom 0 (Xen virtual machines are hardware access privileges) in (Xen virtual network interface driver is located in a portion of Dom O), the virtual bridge (connected to a rear end of each virtual machine in Xen drive ) forwarded to the distal end of the drive receiving virtual machine, the application in order to achieve the TCP / IP protocol stack, data packets through a long path leading to the inter-domain communication performance is very low.

[0011] 如前所述,虚拟集群中虚拟机低效的网络通信性能会严重降低应用程序的效率, 提高虚拟机网络通信的性能是一个亟待解决的问题。 [0011] As mentioned above, the virtual cluster virtual machines inefficient network communication performance can seriously reduce the efficiency of the application, issue to improve the performance of virtual machine network traffic is a serious problem.

发明内容 SUMMARY

[0012] 本发明提出一种虚拟集群中的轻量级通信方法,解决虚拟化技术下的网络通信效率性能低下、非域间通信时虚拟集群中TCP/IP通信协议过于复杂、域间通信时数据报穿越的路径过长导致域间通信性能低下的问题,以提高虚拟集群网络通信效率。 [0012] The present invention provides a lightweight communication method for a virtual cluster, the communication efficiency of the network virtualization poor performance, non-domain virtual clusters TCP / IP communication protocol is too complicated, inter-domain communication is solved datagrams across the path is too long leads to poor inter-domain communication performance issues in order to improve the efficiency of network communication virtual cluster.

[0013] 本发明在启动时,在虚拟机中创建一个虚拟字符设备,向该设备写TCP连接的套接字描述符时,连接建立子步骤利用该套接字描述符完成轻量级协议连接的建立;还在虚拟机的内存空间中分配通道指针数组,通道指针数组中的项指向轻量级通信协议的数据缓冲区,通道号是通道指针数组中项的索引,通过通道号可以方便地找到相应的轻量级通信协议数据缓冲区;同时会设置窗口值W和时间T,窗口值W表示已发送但未确认的数据报的最大个数,时间T指的是等待数据报确认的最长时间。 [0013] When the present invention at startup, the device creates a virtual character in the virtual machine, the device to write TCP connection socket descriptor, sub-step connection establishment by using the complete socket descriptor lightweight protocol connection establishment; virtual machine memory space also in the distribution channel pointer array, the channel data buffer pointer array entry points to a lightweight communication protocol, the channel number is an index of entries in the array of pointers to the channel, the channel number may conveniently be by lightweight communication protocol to find the appropriate data buffer; and also sets the value of the window W and time T, window W represents the value of the maximum number of sent but not acknowledged datagram, the waiting time T is most acknowledgment datagram for a long time.

[0014] 域间通信机制在相互通信的虚拟机之间开辟域间通信通道,域间通信通道包括读入缓冲区和写出缓冲区两个缓冲区和一个事件通道,读入和写出两个缓冲区分别负责接收和发送数据,事件通道用于相互通信的虚拟机之间传递消息。 [0014] Inter-domain communication mechanism for inter-domain communication channel opened between virtual machines to communicate with each other, a communication channel comprises inter-domain into the buffer and a write buffer and two buffers event channel, two read and written buffers are responsible for sending and receiving data between virtual machines event delivery message channels for mutual communication.

[0015] 本发明发送的数据报和IP数据报一样,也有报头结构,用来在发送数据报的时候交换所需的控制信息。 [0015] Data packets sent by the present invention and the same IP datagram, there header structure for transmitting data packets in time required to exchange control information. 虚拟集群内非域间通信数据报的报头大小可以为32字节,包含8个字段,每个字段的大小可以为4个字节,从前到后分别为校验和、数据报序列号、数据起始索引值、数据负载值、数据报确认序列号、数据报索引确认号、数据报标识字段、通道号。 Header size in the virtual cluster non-domain communication data packets may be 32 bytes, comprising eight fields, each field may be the size of 4 bytes, respectively, from front to back and check, datagram sequence number, data the starting index, the data load value, the data packet acknowledgment sequence number, the index data packet acknowledgment number, datagram identification field, the channel number.

[0016] 本发明的一种虚拟集群中的通信方法,包括启动步骤、连接帮助步骤、非域间通信步骤、虚拟机发现步骤以及域间通信步骤,其特征在于: [0016] A communication method of the present invention, the virtual cluster, including the step of starting, helping the connection step, the non-inter-domain communication step, the step of virtual machine discovery and inter-domain communication step, wherein:

[0017] (1)启动步骤,为每台虚拟机创建虚拟字符设备,在每台虚拟机的内存中设置通道指针数组、窗口值W和时间T,每台虚拟机在所在物理计算机的一块内存Xen Store中写入自己的虚拟机ID和MAC地址信息;所述窗口值W为64〜256个,时间T为0. 1〜Ims ; [0017] (1) Start step, each virtual machine to create a virtual character device, array of pointers to the channel provided on each virtual machine's memory, the window W and the value of time T, the each virtual machine resides on a physical computer memory xen Store written in its own virtual machine ID and MAC address information; 64~256 W is the value of a window, the time T is 0. 1~Ims;

[0018] (2)连接帮助步骤,包括下述子步骤: [0018] (2) connected help step comprises the substeps of:

[0019] (2. 1) Linux内核调用截获子步骤:请求建立TCP连接的虚拟机修改Linux内核代码中的函数指针,截获上层应用程序对TCP连接建立函数的调用指令,根据调用指令中的目标IP地址判断网络通信是否属于虚拟集群内的非域间通信,是则请求建立一个用于建立轻量级通信连接时交换所需信息的TCP连接,转子步骤O. 2),否则转子步骤(2.4); [0019] (2. 1) Linux kernel call interception sub-steps of: requesting establishment of a TCP connection to modify the virtual machine function pointers Linux kernel code, the upper application intercepted function call instruction to establish TCP connection, in accordance with the target call instruction determining whether the IP address belongs to non-network communication fields within the virtual cluster communication, a request to establish a TCP connection is then required to exchange information for establishing a communication connection lightweight rotor step O. 2), a rotor or step (2.4 );

[0020] (2. 2)网络监听子步骤:TCP连接的目标虚拟机接受TCP连接请求,把TCP连接套接字描述符写入到自身的虚拟字符设备中,转子步骤(2.3); [0020] (2.2) Sniffer sub-steps of: the target virtual machine to accept a TCP connection request is a TCP connection, the TCP connection socket descriptor is written to the virtual character device itself, the rotor step (2.3);

[0021] (2. 3)连接建立子步骤:写入TCP连接套接字描述符后,目标虚拟机在自身的内存中分配数据缓冲区并将其初始化,在通道指针数组中为该数据缓冲区分配通道号,然后通过TCP连接向请求建立TCP连接的虚拟机发送自身的MAC地址和通道号,接收对方的MAC 地址和通道号,完成轻量级协议连接的建立,转步骤(3); [0021] (2.3) connection establishment sub-step: After writing a TCP connection socket descriptor, the target virtual machine is allocated and initialized data buffer in its own memory for data in the channel buffer pointer array area allocation channel number, then creating a virtual machine over a TCP connection to the TCP connection request sent its own MAC address and channel number, the MAC address and the received channel number, a lightweight protocol connection establishment is completed, go to step (3);

[0022] (2. 4) TCP/IP协议子步骤:通过TCP/IP协议的三次握手过程与目标地址建立起TCP连接,在传输数据时,TCP/IP协议采用超时重传和捎带确认机制保证数据传输的可靠性,在流量控制上,TCP/IP协议采用滑动窗口的方式,已发送且未确认的数据的字节数最大不能超过滑动窗口的大小,在TCP/IP协议完成数据报的处理后,转步骤; [0022] (2. 4) TCP / IP protocol sub-steps of: three-way handshake to establish through the destination address TCP / IP protocol TCP connection, during data transmission, TCP / IP protocol and uses the timeout retransmission mechanism to ensure piggybacking reliability of data transmission, to the flow rate control, TCP / IP protocol uses a sliding window mode, the maximum number of bytes can not exceed the size of the sliding window of data has been sent and not acknowledged, the processing is completed datagram in TCP / IP protocol after transfer step;

[0023] (3)非域间通信步骤,包括下述子步骤: [0023] (3) non-domain communication step comprises the substeps of:

[0024] (3. 1)数据缓冲子步骤:请求建立TCP连接的虚拟机或者目标虚拟机发送数据时, 将要发送的数据存放在自身数据缓冲区的发送缓冲区中,转子步骤(3.2);请求建立TCP连接的虚拟机或者目标虚拟机接收数据时,将接收到的数据存放在自身数据缓冲区的接收缓冲区中,等待应用程序读取; Sub-step [0024] (3.1) Data Buffer: requesting establishment of a virtual machine data or destination TCP connection when the virtual machine transmits data, to be transmitted in the own data buffer store transmission buffer, the rotor step (3.2); request to establish the target virtual machine, or virtual machine TCP connection receives data, the received data itself is stored in the data buffer in the receive buffer, waiting for the application to read;

[0025] (3. 2)数据传输子步骤:从发送缓冲区中取出数据组装成数据报,将数据报通过Xen的虚拟网络接口发送给对方虚拟机,直至所要发送的数据全部发送完毕; [0025] (3.2) data transmission sub-steps of: transmitting data in the buffer was removed from the assembly into a datagram, the datagram is sent through the virtual network interface to each other Xen virtual machine, all the data to be transmitted until the transmission is completed;

[0026] (4)虚拟机发现步骤,包括下述子步骤: [0026] (4) virtual machine discovery step comprising the substeps of:

[0027] (4. 1)虚拟机扫描子步骤:请求建立TCP连接的虚拟机所在的物理计算机周期性地扫描自身内存的)(en Store区域,获取参与域间通信的虚拟机列表信息,转子步骤(4. 2); [0027] (4.1) virtual machine scans the sub-steps of: requesting establishment of a virtual machine physical computer where the TCP connection itself periodically scanning the memory) (en Store area, obtain a list of virtual machines involved in inter-domain communication of information, the rotor step (4.2);

[0028] (4. 2)虚拟机信息广播子步骤:将参与域间通信的虚拟机列表信息组成列表信息数据报,通过网络广播到每一个参与域间通信的虚拟机中去,转步骤(5); [0028] (4.2) virtual machine information broadcast sub-steps of: participate in inter-domain communication with the virtual machine information list consisting of a list of information packets, to broadcast over the network to each of the virtual machine participates in inter-domain communications, go to step ( 5);

[0029] (5)域间通信步骤,包括下述子步骤: [0029] (5) inter-domain communication step comprises the substeps of:

[0030] (5. 1)数据报截获子步骤:请求建立TCP连接的虚拟机收到列表信息数据报,将其中的虚拟机列表信息存放在自身内存中;然后截获经过TCP/IP协议处理的数据报,查看该数据报的目标地址是否包括在所述虚拟机列表信息中,是则转子步骤(5. 2),否则将数据报通过Xen的虚拟网络接口发送给目标地址; [0030] (5.1) datagrams intercepted substeps of: requesting establishment of a TCP connection to the virtual machine information list received data packet, wherein the virtual machine information is stored in a list in the memory itself; and intercepted through the TCP / IP protocol processing datagram, view the target address of the data packet is included in the virtual machine information list, the rotor is a step (5.2), otherwise the data packets transmitted to the destination address via Xen virtual network interface;

[0031] (5. 2)域间通信通道建立子步骤:请求建立TCP连接的虚拟机查看是否和目标虚拟机之间已经建立域间通信通道,是则转子步骤(5. 4),否则转子步骤(5.3); [0031] (5.2) establish a communication channel inter-domain sub-steps of: establishing a TCP connection request to view a virtual machine has been established between the inter-domain communication channel and if the target virtual machine, the rotor is a step (5.4), or a rotor step (5.3);

[0032] (5. 3)在自身内存中分配读入缓冲区和写出缓冲区并创建一个事件通道,然后发送通道建立数据报通知目标虚拟机将两个缓冲区的内存地址映射到目标虚拟机的内存地址空间中并且与所创建的事件通道绑定,目标虚拟机收到通道建立数据报后完成所述映射和绑定操作,转子步骤(5.4); [0032] (5.3) assigned to write into the buffer and the buffer and creates an event in its own channel memory, then sends the datagram path setup notification target virtual machine two buffers mapped to the target virtual memory address memory address space and the binding machine in the event the channel created by the target virtual machine to establish a data packet received channel mapping and completion of the binding operation, the rotor step (5.4);

[0033] (5. 4)域间数据发送子步骤:请求建立TCP连接的虚拟机将数据报拷贝到域间通信通道的写出缓冲区中,通过事件通道通知目标虚拟机,目标虚拟机收到通知后从自身读入缓冲区中取出数据报,并释放读入缓冲区中的空间;通信双方重复上述过程,直至数据报发送完毕。 [0033] (5.4) interdomain data transmission sub-steps: creating a virtual machine requesting the TCP connection data packets are copied to the buffer write inter-domain communication channel, the notification event channel by the target virtual machine, the target virtual machine income after the notification from the packet buffer to retrieve data itself read, and free space in the buffer is read; communication parties repeat the process, until the data packet transmission is completed.

[0034] 所述的虚拟集群中的通信方法,其特征在于: [0034] The communication method of the virtual cluster, wherein:

[0035] 所述非域间通信步骤数据的传输子步骤中,所述数据报由报头和数据构成,报头用于在发送数据报的时候交换所需的控制信息,报头包含8个字段,从前到后依次为校验和、数据报序列号、数据起始索引值、数据负载值、数据报序列确认号、数据报索引确认号、 数据报标识字段、通道号; [0035] The non-domain transmit sub-step data communication step, the data packet consists of a header and data, a header for transmitting data packets in time required to exchange the control information, the header comprises eight fields, the former followed after the checksum, datagram sequence number, the index data start, a data load value, the data packet acknowledgment sequence number, the index data packet acknowledgment number, datagram identification field, the channel number;

[0036] 校验和字段存放对报头及数据所计算出的校验和的值,用于保证传输的数据报的正确性; [0036] Checksum field for storing the header data and the calculated checksum value, to guarantee the correctness of the data packet transmission;

[0037] 数据报序列号字段用于标识数据报的先后顺序,第一个数据报序列号的值随机生成,之后每个数据报序列号值顺序加一; [0037] Data packet sequence number field for identifying the order of data packets, the value of the first data packet sequence number of randomly generated, after each data packet sequence value plus a sequence number;

[0038] 数据起始索引值为所述数据在发送缓冲区中的起始索引值; [0038] Data is the starting index value starting index data in the transmission buffer;

[0039] 数据负载值为所述数据的字节数; [0039] The payload is the number of bytes of data;

[0040] 数据报序列确认号为下一个期待接收到数据报的序列号,用于对接收到的数据报进行确认; [0040] The acknowledgment data packet sequence number for the next sequence number expected to be received datagram, the datagram for the received acknowledgment;

[0041] 数据报索引确认号为接收缓存区中数据的结束索引值; [0041] Data packet acknowledgment number is the index value of the receiving end of the index data in the buffer;

[0042] 数据报标识字段存放是否要求确认的标识; [0042] Data packets stored identification field required to confirm whether the identifier;

[0043] 通道号字段为通道指针数组中项的索引,通过通道号可以方便地找到相应的轻量级通信协议数据缓冲区。 [0043] The channel number field of the index entry array of pointers to the channel, can easily find the respective lightweight protocol data buffer through the channel number.

[0044] 所述的虚拟集群中的通信方法,其特征在于: [0044] The communication method of the virtual cluster, wherein:

[0045] 所述非域间通信步骤中,数据传输子步骤包括下述过程: [0045] The non-domain communication step, the data transmission sub-step includes the following processes:

[0046] A.从发送缓冲区中根据网络最大传输单元(MTU)的大小取出尽量多的数据,计算数据的校验和并将其存放在数据报报头校验和字段中,数据报报头中再依次填入数据报序列号、数据起始索引值、数据负载值、数据报确认序列号、数据报索引确认号、数据报标识字段、通道号字段的值,组装成一个数据报,使得数据报的大小不超过网络最大传输单元的大 [0046] A. removed from the transmission buffer according to size of the network the maximum transmission unit (MTU) of the data as much as possible, the data checksum is calculated and stored in the data packet header checksum field, the data packet header and then sequentially filled, datagram sequence number, the index data start, a data load value, the data packet acknowledgment sequence number, the index data packet acknowledgment number, datagram identification field, the value of the channel number field, assembled into a data packet, so that the data packet size does not exceed the maximum transmission unit macroreticular

[0047] B.将组装成的数据报通过Xen的虚拟网络接口发送给通信对方; [0047] B. The thus assembled data interface to send packets to a communication partner via the Xen virtual network;

[0048] C.发送数据报个数每达到窗口值W的四分之一时,在最后一个数据报报头中加入要求确认标识,要求通信对方发送确认数据报;当已发送但未确认数据报个数达到窗口值W时,停止发送数据报,判断在时间T内是否收到确认数据报,是则继续发送,否则再次在一个数据报报头中加入要求确认标识,要求通信对方发送确认数据报;三倍时间T内仍未收到确认数据报,则转过程A,重新组装未确认数据报; When [0048] the number of data packets transmitted per one quarter of C. window value W is added to the last packet header required to confirm identity, requires transmitting an acknowledgment datagram communication partner; when packets sent but not acknowledged when the window number reaches the value W, stops sending data packets, determines whether the acknowledgment is received within time T the data packet, it continues to send is, or added again in a packet header to identify the requested acknowledgment, the communication partner sends an acknowledgment requested data packets ; triple time T not receive the confirmation message data, the transfer process A, unacknowledged datagram reassembling;

[0049] D.在发送完缓冲区中所有数据后,在最终数据报报头中加入要求确认标识,要求通信对方发送确认数据报;判断在时间T内是否收到确认数据报,是则结束,否则再次在最终数据报报头中加入要求确认标识,要求通信对方发送确认数据报;三倍时间T内仍未收到确认数据报,则转过程A,重新组装未确认数据报。 [0049] D. After all the data has been transmitted in the buffer, the final packet header is added for confirmation identifier, sending an acknowledgment the communicating party requires data packets; determines whether the acknowledgment is received within time T datagram is then ended, otherwise, again in the final packet header is added for confirmation identifier, sending an acknowledgment the communicating party requires data packets; triple time T not receive the confirmation message data, the transfer process A, unacknowledged datagram reassembling.

[0050] 本发明具有以下特点: [0050] The present invention has the following characteristics:

[0051] (1)同时对域间通信和非域间通信进行优化 [0051] (1) While the communication domain and inter-domain communication between the non-optimized

[0052] 本发明对非域间通信进行专门设计,避免了TCP/IP复杂的处理过程,降低了处理器的处理负担,提高了网络通信的性能;对于域间通信,在相互通信的虚拟机之间共享内存开辟高速通信通道,缩短了数据报穿越的路径,大幅提高域间通信的性能;可以显著提高虚拟集群中网络通信的性能。 [0052] The present invention is non-domain of communication designed to avoid the TCP / IP complicated process, reduces the processing burden on the processor, to improve the performance of network communication; for inter-domain communications in a virtual machine to communicate with each other shared memory between the high-speed communication channels open, shortening the path datagrams through, greatly improve the performance of inter-domain communication; can significantly improve the performance of virtual cluster network communications.

[0053] (2)不依赖虚拟集群使用的具体网络硬件 [0053] (2) does not rely on the use of virtual cluster specific network hardware

[0054] 本发明的各个步骤可以由功能模块实现,与虚拟集群具体使用的网络硬件无关, 不依赖于底层网络基础设施。 Each step [0054] of the present invention may be implemented by functional modules, and the specific use of the virtual cluster network hardware independent, is not dependent on the underlying network infrastructure.

[0055] (3)原有二进制程序可以直接运行于本发明 [0055] (3) the original binary program can be run directly to the present invention

[0056] 本发明保持了应用程序的套接字函数接口不变,具有对已有应用程序的二进制兼容性,原有的应用程序不用重新编写或是重新编译就可以在本发明运行,提高现有应用的网络通信的性能。 [0056] The present invention maintains a constant function interface socket application, with binary compatibility with existing applications, existing applications without rewriting or recompiling can run in the invention to improve now there are application performance of network communications.

附图说明 BRIEF DESCRIPTION

[0057] 图1为本发明的工作流程图; [0057] FIG. 1 is a flowchart of the present invention;

[0058] 图2为非域间通信步骤的数据传输子步骤工作流程图。 [0058] FIG 2 flow chart of the data transmission sub-domain communication between the non-step procedure. 具体实施方式 detailed description

[0059] 为了验证本发明的可行性和有效性,在真实环境下本发明的步骤可编写为计算机程序,部署到虚拟集群环境中,并和没有采用本发明时虚拟集群内虚拟机非域间通信和域间通信的性能进行比较。 [0059] In order to verify the feasibility and effectiveness of the present invention, in a real environment according to the present invention, the step may be written as computer programs, to deploy virtual cluster environment, and with and without the present invention within a virtual machine virtual cluster among non-domain and inter-domain communication performance of a communication is compared.

[0060] 本实施例共采用两台硬件配置相同的计算机,两台计算机的编号分别为PCl和PC2,其配置如表1所示。 [0060] The present embodiment uses two computers were the same hardware configuration, two computers are numbered PCl and PC2, which is configured as shown in Table 1.

[0061] 表1:实验配置环境 [0061] Table 1: Experimental Environment Configuration

[0062] [0062]

Figure CN102075434AD00081

[0063] 在PCl上启动两台虚拟机,标号分别为VMl和VM2,在PC2上启动一台虚拟机,编号为VM3。 [0063] PCl started on two virtual machines, respectively, reference numeral VMl and VM2, starting a virtual machine on the PC2, numbered VM3. [0064] 在未采用本发明的情况下,利用netperf程序(一个用于测试网络吞吐量的测试程序)测试VMl和VM3之间TCP协议非域间通信的性能,利用netperf程序测试VMl和VM2 之间TCP协议域间通信的性能。 [0064] In the case where the present invention is not employed, using netperf program (for testing a network throughput test procedure) performance between the test and VM3 TCP protocol VMl non-domain communications, using test procedures netperf VMl and VM2 of communication between the performance of inter-domain protocol TCP.

[0065] 将本发明部署到测试环境中,启动时,为VM1、VM2和VM3中创建虚拟字符设备,在VMU VM2和VM3的内存中分配通道指针数组,设定窗口值W的大小为128、时间T的大小为0. 5ms,并且将虚拟机VM1、VM2的ID号和MAC地址写到PCl的Xen Store内存区域中,将VM3的ID号和MAC地址写到PC2的Xen Store内存区域中。 [0065] The present invention is deployed to the test environment, at startup, as VM1, VM2, and VM3 to create virtual characters equipment, channel allocation pointer array VMU VM2 and VM3 memory, the size of the window is set to the value of 128 W, size of the time T is 0. 5ms, and the virtual machine the VM1, VM2 ID number and the MAC address written Xen Store PCl memory area of ​​the ID number and the MAC address written VM3 Xen Store memory area of ​​PC2.

[0066] 在VMl和VM3之间用netperf程序测试非域间通信的性能。 [0066] The procedure used to test the performance netperf non-domain communication between VMl and VM3. VMl向VM3请求建立TCP连接时,Linux内核截获子步骤判断出该TCP连接请求目标地址属于虚拟集群内的非域间通信,在通信对方通过网络监听子步骤的帮助下,连接建立子步骤完成轻量级协议连接的建立;当VMl发送数据到VM2时,数据缓冲子步骤将发送的数据缓冲在发送缓冲区中,由数据传输子步骤负责数据的发送,当VMl收到VM2发来的数据时,将接收到的数据缓冲在接收缓冲区中,等待应用程序从接收缓冲区中读取数据。 When VMl to VM3 requests to establish a TCP connection, Linux kernel interception sub-step determines that the TCP connection request destination address belongs to non-domain within a virtual cluster communication, with the help of each other through the network sub-steps of communication interception, the connection is established sub-steps to complete the light protocol to establish the order of connection; VMl data when transmitting data to the VM2, the data buffer sub-step of transmitting the buffered in the transmission buffer, the data transmitted by the data transmission sub-step is responsible, when VMl receives data sent by the VM2 , buffering the received data in the receive buffer, wait for the application to read data from the receive buffer.

[0067] 在VMl和VM2之间用netperf程序测试域间通信的性能。 [0067] VMl and VM2 performance between the inter-domain communication with netperf test procedures. VMl向VM3请求建立TCP 连接时,Linux内核截获子步骤判断出该TCP连接请求目标地址不属于虚拟集群内的非域间通信,转由TCP协议子步骤处理;虚拟机发现子步骤从物理计算机Xen Store内存中获取虚拟机列表信息并且通过列表信息数据报广播到VMl和VM2中去;当数据报截获子步骤截获到目标地址为VM2的数据报时,查看VMl和VM2之间是否建立了域间通信通道,是则将数据报拷贝到域间通信通道中向VM2传递数据的缓冲区中,并通过事件通道通知VM2读取数据报,否则由域间通信通道建立子步骤在VMl和VM2间建立域间通信通道,然后则将数据报拷贝到域间通信通道中向VM2传递数据的缓冲区中,并通过事件通道通知VM2读取数据报。 When VMl to VM3 request to establish a TCP connection, Linux kernel intercepted sub-step determines that the TCP connection request destination address does not belong to non-fields within a virtual cluster communication, processing shifts to the TCP protocol substep; virtual machine discovery sub-step from a Physical Xen Store the virtual machine memory to obtain a list of newspaper and broadcast information to VMl and VM2 to go through the list of information data; when intercepting a datagram to the target sub-steps intercepted datagram address VM2 view between VMl and VM2 whether to establish an inter-domain communication channel, then the data packet is copied to the buffer to transfer data to the inter-domain communication channels in VM2, and notifies the read datagram VM2 event channels, or sub-step of establishing inter-domain communication channels established between domain VMl and VM2 between communication channels, and the data is copied to the packet inter-domain communication channel data buffer to transfer the VM2, and notifies the read datagram VM2 event channels.

[0068] 测试结果如表2所示。 [0068] The test results are shown in Table 2.

[0069] 表2 :虚拟集群内非域间通信和域间通信吞吐量测试结果 [0069] Table 2: non-domain within a virtual cluster and inter-domain communication throughput communication test result

[0070] [0070]

Figure CN102075434AD00091

[0071] 测试结果表明,在虚拟集群内非域间通信的情况下,本发明的吞吐量较TCP协议提高约2.6% ;在域间通信的情况下,本发明的吞吐量较TCP协议提高约157%。 [0071] The results show that the virtual cluster in a case where non-domain communications, the throughput of the present invention is increased by about 2.6% TCP protocol; in the case of inter-domain communications, the present invention increases the throughput of TCP than about 157%.

Claims (3)

  1. 1. 一种虚拟集群中的通信方法,包括启动步骤、连接帮助步骤、非域间通信步骤、虚拟机发现步骤以及域间通信步骤,其特征在于:(1)启动步骤,为每台虚拟机创建虚拟字符设备,在每台虚拟机的内存中设置通道指针数组、窗口值W和时间T,每台虚拟机在所在物理计算机的一块内存Xen Store中写入自己的虚拟机ID和MAC地址信息;所述窗口值W为64〜256个,时间T为0. 1〜Ims ;(2)连接帮助步骤,包括下述子步骤:(2. DLinux内核调用截获子步骤:请求建立TCP连接的虚拟机修改Linux内核代码中的函数指针,截获上层应用程序对TCP连接建立函数的调用指令,根据调用指令中的目标IP地址判断网络通信是否属于虚拟集群内的非域间通信,是则请求建立一个用于建立轻量级通信连接时交换所需信息的TCP连接,转子步骤O. 2),否则转子步骤(2.4);(2. 2)网络监听子步骤:TCP连 1. A communication method of a virtual cluster, including the step of starting, helping the connection step, the non-inter-domain communication step, the virtual machine discovery and inter-domain communication step step, characterized in that: (1) start-up procedure, for each virtual machine create a virtual character devices, each virtual machine in the memory array of pointers to the channel is provided, the value of the window W and time T, the each virtual machine writes its own virtual machine ID and MAC address in a physical memory of the computer where Xen Store information ; 64~256 the window W is a value, time T is 0. 1~Ims; (2) connected help step comprises the substeps of: (2 DLinux intercepts kernel calls the sub-steps of: requesting establishment of a virtual TCP connection. machine modification function pointers Linux kernel code, intercepts upper layer application of the TCP connection established call instruction function determines whether the network communication under non-fields within a virtual cluster communication in accordance with the destination IP address of the call instruction is the request to establish a for establishing a TCP connection to exchange information necessary for the communication connection lightweight rotor O. step 2), a rotor or step (2.4); (22) Sniffer sub-steps:. TCP even 的目标虚拟机接受TCP连接请求,把TCP连接套接字描述符写入到自身的虚拟字符设备中,转子步骤(2.3);(2. 3)连接建立子步骤:写入TCP连接套接字描述符后,目标虚拟机在自身的内存中分配数据缓冲区并将其初始化,在通道指针数组中为该数据缓冲区分配通道号,然后通过TCP 连接向请求建立TCP连接的虚拟机发送自身的MAC地址和通道号,接收对方的MAC地址和通道号,完成轻量级协议连接的建立,转步骤(3);(2. 4) TCP/IP协议子步骤:通过TCP/IP协议的三次握手过程与目标地址建立起TCP连接,在传输数据时,TCP/IP协议采用超时重传和捎带确认机制保证数据传输的可靠性,在流量控制上,TCP/IP协议采用滑动窗口的方式,已发送且未确认的数据的字节数最大不能超过滑动窗口的大小,在TCP/IP协议完成数据报的处理后,转步骤;(3)非域间通信步骤,包括下述子步 Target virtual machine to accept a TCP connection request, the TCP connection socket descriptor is written to the virtual character device itself, the rotor step (2.3); (23.) Connection establishment sub-steps of: writing a TCP connection socket after the descriptors, the target virtual machine in its own memory allocation and initialization data buffer, the data buffer is allocated for the channel number in the channel array of pointers, then sends its own virtual machine via a TCP connection to the TCP connection request MAC address and channel number, the MAC address and the received channel number, a lightweight protocol connection establishment complete, go to step (3); (2 4.) TCP / IP protocol sub-steps of: three TCP / IP protocol handshake procedure to establish a TCP connection with the target address, during data transmission, TCP / IP protocol uses piggyback timeout and retransmission mechanism to ensure reliability of data transmission acknowledgment in the flow control, TCP / IP protocol by way of sliding window has been sent and not the maximum number of bytes can not exceed the size of the sliding window acknowledgment data, after the completion of the processing in the datagram TCP / IP protocol, go to step; (3) non-domain communication step comprising the substeps 骤:(3. 1)数据缓冲子步骤:请求建立TCP连接的虚拟机或者目标虚拟机发送数据时,将要发送的数据存放在自身数据缓冲区的发送缓冲区中,转子步骤(3.2);请求建立TCP连接的虚拟机或者目标虚拟机接收数据时,将接收到的数据存放在自身数据缓冲区的接收缓冲区中,等待应用程序读取;(3. 2)数据传输子步骤:从发送缓冲区中取出数据组装成数据报,将数据报通过Xen的虚拟网络接口发送给对方虚拟机,直至所要发送的数据全部发送完毕;(4)虚拟机发现步骤,包括下述子步骤:(4. 1)虚拟机扫描子步骤:请求建立TCP连接的虚拟机所在的物理计算机周期性地扫描自身内存的Xen Store区域,获取参与域间通信的虚拟机列表信息,转子步骤(4.2);(4. 2)虚拟机信息广播子步骤:将参与域间通信的虚拟机列表信息组成列表信息数据报,通过网络广播到每一个参与域 Steps of: (. 31) data buffer sub-steps of: requesting establishment of a virtual machine or virtual machine transmits data destination TCP connection, the data to be transmitted is stored in its own transmission buffer buffers data, the rotor step (3.2); Request creating a virtual machine or a virtual TCP connection target machine receives data, the received data itself is stored in the data buffer in the receive buffer, wait for the application to read; (32.) data transmission sub-steps of: transmitting from a buffer area extracted data is assembled into data packets, the data packets transmitted via the virtual network Xen interface to the other virtual machine, all of the transmission data until the desired transmission is completed; (4) virtual machine discovery step comprising the substeps of: (4. 1) the virtual machine scans the sub-steps of: requesting establishment of a virtual machine physical computer where the TCP connection itself periodically scanning Xen Store memory region, the virtual machine acquires list information involved in inter-domain communications, the rotor step (4.2); (4. 2) virtual machine information broadcast sub-steps of: participate in inter-domain communication with the virtual machine information list consisting of a list of information packets, each broadcast over the network to a participating domain 通信的虚拟机中去,转步骤(5);(5)域间通信步骤,包括下述子步骤:(5. 1)数据报截获子步骤:请求建立TCP连接的虚拟机收到列表信息数据报,将其中的虚拟机列表信息存放在自身内存中;然后截获经过TCP/IP协议处理的数据报,查看该数据报的目标地址是否包括在所述虚拟机列表信息中,是则转子步骤(5. 2),否则将数据报通过Xen的虚拟网络接口发送给目标地址;(5. 2)域间通信通道建立子步骤:请求建立TCP连接的虚拟机查看是否和目标虚拟机之间已经建立域间通信通道,是则转子步骤(5. 4),否则转子步骤(5.3);(5. 3)在自身内存中分配读入缓冲区和写出缓冲区并创建一个事件通道,然后发送通道建立数据报通知目标虚拟机将两个缓冲区的内存地址映射到目标虚拟机的内存地址空间中并且与所创建的事件通道绑定,目标虚拟机收到通道建立数据报后 Communication to the virtual machine, go to step (5); (5) inter-domain communication step comprises the substeps of: (. 51) datagrams intercepted substeps of: requesting establishment of a TCP connection to a virtual machine data list information received reported, in which the virtual machine information is stored in a list in the memory itself; and intercepted through the TCP / IP protocol processing of data packets, check the destination address of the data packet is included in the virtual machine information list, the rotor is a step ( 5.2), otherwise the data packets transmitted via the interface to the virtual network Xen destination address; (52) inter-domain communication channel establishing sub-steps: creating a virtual machine a request to view the established TCP connection between the target and whether the virtual machine inter-domain communication channel, the rotor is a step (5.4), a rotor or step (5.3); (. 53) is assigned to write into the buffer and the buffer and creates an event in its own channel memory, and then send the channel after the establishment of the datagram to notify the target virtual machine to map the two buffer memory address to a target virtual machine's memory address space and tied to the event channel created by the target virtual machine receive channel is established datagram 成所述映射和绑定操作,转子步骤(5.4);(5. 4)域间数据发送子步骤:请求建立TCP连接的虚拟机将数据报拷贝到域间通信通道的写出缓冲区中,通过事件通道通知目标虚拟机,目标虚拟机收到通知后从自身读入缓冲区中取出数据报,并释放读入缓冲区中的空间;通信双方重复上述过程,直至数据报发送完毕。 To the mapping and bind operations, the rotor step (5.4); (54.) Interdomain data transmission sub-steps: creating a virtual machine requesting the TCP connection data packets are copied to the buffer write inter-domain communication channel, event notification channel by the target virtual machine, the target virtual machine notified from the extracted data packet is read into the buffer itself, and free space is read into the buffer; communication parties repeat the process, until the data packet transmission is completed.
  2. 2.如权利要求1所述的虚拟集群中的通信方法,其特征在于:所述非域间通信步骤数据的传输子步骤中,所述数据报由报头和数据构成,报头用于在发送数据报的时候交换所需的控制信息,报头包含8个字段,从前到后依次为校验和、数据报序列号、数据起始索引值、数据负载值、数据报序列确认号、数据报索引确认号、数据报标识字段、通道号;校验和字段存放对报头及数据所计算出的校验和的值;数据报序列号字段用于标识数据报的先后顺序,第一个数据报序列号的值随机生成, 之后每个数据报序列号值顺序加一;数据起始索引值为所述数据在发送缓冲区中的起始索引值;数据负载值为所述数据的字节数;数据报序列确认号为下一个期待接收到数据报的序列号;数据报索引确认号为接收缓存区中数据的结束索引值;数据报标识字段存放是否要求 2. The method of communication in a virtual cluster according to claim 1, wherein: said step of non-transmission sub-domain data communication step, the data packet consists of a header and data, a header for transmitting data when packet switch control information required header contains eight fields, front to back, followed by the checksum, a data packet sequence number, the index data start, a data load value, the data packet acknowledgment sequence number, the index acknowledgment datagram number, datagram identification field, the channel number; checksum field for storing the header data and the calculated checksum value; data packet sequence number field for identifying the order of data packets, a first sequence number datagram the randomly generated, after each data packet sequence value plus a sequence number; the value of the data start index data in the index value starting the transmission buffer; the number of bytes of the data load value; data acknowledgment packet sequence number for the next sequence number expected to be received datagram; index data packet acknowledgment number is the index value received in the end of the data buffer; if the datagram identifier field storage requirements 认的标识;通道号字段为通道指针数组中项的索引。 Recognition of identification; channel number field of the index entry array in the channel pointer.
  3. 3.如权利要求1或2所述的虚拟集群中的通信方法,其特征在于: 所述非域间通信步骤中,数据传输子步骤包括下述过程:A.从发送缓冲区中根据网络最大传输单元的大小取出尽量多的数据,计算数据的校验和并将其存放在数据报报头校验和字段中,数据报报头中再依次填入数据报序列号、数据起始索引值、数据负载值、数据报确认序列号、数据报索引确认号、数据报标识字段、通道号字段的值,组装成一个数据报,使得数据报的大小不超过网络最大传输单元的大小;B.将组装成的数据报通过Xen的虚拟网络接口发送给通信对方;C.发送数据报个数每达到窗口值W的四分之一时,在最后一个数据报报头中加入要求确认标识,要求通信对方发送确认数据报;当已发送但未确认数据报个数达到窗口值W时, 停止发送数据报,判断在时间T内是否收到确认数据报, The communication method of claim 1 or a virtual cluster of claim 2, wherein: said non-domain communication step, the data transmission sub-step includes the following processes:. A maximum from the transmission buffer according to the network transmission unit size is taken out as much data, and the calculated checksum of the data and store it in the data packet header checksum field of the packet header and then sequentially filled, datagram sequence number, the index data of the initial value, the data load value, the data packet acknowledgment sequence number, datagrams index acknowledgment number, the value of the data packet identification field, the channel number field, assembled into a data packet, so that the size of the data packets does not exceed the size of the network the maximum transmission unit;. B assembled interface to send data packets to the virtual network to the communication partner Xen; when C number of data packets transmitted per one quarter of the value of the window W, the addition of the last data packet header identification requesting confirmation request transmitting communication partner acknowledgment datagram; when sent but not acknowledged window value reaches the number of data packets W, stops sending data packets, determines whether the time T is received acknowledgment data packet, 则继续发送,否则再次在一个数据报报头中加入要求确认标识,要求通信对方发送确认数据报;三倍时间T内仍未收到确认数据报,则转过程A,重新组装未确认数据报;D.在发送完缓冲区中所有数据后,在最终数据报报头中加入要求确认标识,要求通信对方发送确认数据报;判断在时间T内是否收到确认数据报,是则结束,否则再次在最终数据报报头中加入要求确认标识,要求通信对方发送确认数据报;三倍时间T内仍未收到确认数据报,则转过程A,重新组装未确认数据报。 It continues to send, or again in a packet header added for confirmation identifier, sending an acknowledgment the communicating party requires data packets; triple time T not receive the confirmation message data, the transfer process A, unacknowledged datagram reassembling; D. after all the data has been transmitted in the buffer, the final packet header is added for confirmation identifier, sending an acknowledgment the communicating party requires data packets; determines whether the acknowledgment is received within time T datagram is then ended, otherwise again the final data packet header added for confirmation identifier, sending an acknowledgment the communicating party requires data packets; triple time T not receive the confirmation message data, the transfer process A, unacknowledged datagram reassembling.
CN 201110031925 2011-01-28 2011-01-28 Communication method in virtual cluster CN102075434B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110031925 CN102075434B (en) 2011-01-28 2011-01-28 Communication method in virtual cluster

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110031925 CN102075434B (en) 2011-01-28 2011-01-28 Communication method in virtual cluster

Publications (2)

Publication Number Publication Date
CN102075434A true true CN102075434A (en) 2011-05-25
CN102075434B CN102075434B (en) 2012-07-04

Family

ID=44033786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110031925 CN102075434B (en) 2011-01-28 2011-01-28 Communication method in virtual cluster

Country Status (1)

Country Link
CN (1) CN102075434B (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523204A (en) * 2011-12-02 2012-06-27 华中科技大学 Quality of service (QoS)-oriented virtual machine network bandwidth allocation system
US20120324071A1 (en) * 2011-06-14 2012-12-20 Vmware, Inc. Managing resources in a distributed system using dynamic clusters
CN103176833A (en) * 2013-03-11 2013-06-26 华为技术有限公司 Data transmission method, data receiving method and system based on virtual machine
US8701107B2 (en) 2011-06-14 2014-04-15 Vmware, Inc. Decentralized management of virtualized hosts
CN103856554A (en) * 2012-12-04 2014-06-11 国际商业机器公司 Clustering support across geographical boundaries
US8856784B2 (en) 2011-06-14 2014-10-07 Vmware, Inc. Decentralized management of virtualized hosts

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101661381A (en) * 2009-09-08 2010-03-03 华南理工大学 Data sharing and access control method based on Xen
CN101751335A (en) * 2008-11-28 2010-06-23 国际商业机器公司 Method, device and cluster system for collecting rubbish of scheduling virtual machine
WO2010144757A1 (en) * 2009-06-12 2010-12-16 International Business Machines Corporation Method and apparatus for scalable monitoring of virtual machine environments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101751335A (en) * 2008-11-28 2010-06-23 国际商业机器公司 Method, device and cluster system for collecting rubbish of scheduling virtual machine
WO2010144757A1 (en) * 2009-06-12 2010-12-16 International Business Machines Corporation Method and apparatus for scalable monitoring of virtual machine environments
CN101661381A (en) * 2009-09-08 2010-03-03 华南理工大学 Data sharing and access control method based on Xen

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9026630B2 (en) * 2011-06-14 2015-05-05 Vmware, Inc. Managing resources in a distributed system using dynamic clusters
US20120324071A1 (en) * 2011-06-14 2012-12-20 Vmware, Inc. Managing resources in a distributed system using dynamic clusters
US9563453B2 (en) 2011-06-14 2017-02-07 Vmware, Inc. Decentralized management of virtualized hosts
US8701107B2 (en) 2011-06-14 2014-04-15 Vmware, Inc. Decentralized management of virtualized hosts
US9413683B2 (en) 2011-06-14 2016-08-09 Vmware, Inc. Managing resources in a distributed system using dynamic clusters
US8856784B2 (en) 2011-06-14 2014-10-07 Vmware, Inc. Decentralized management of virtualized hosts
CN102523204B (en) 2011-12-02 2014-08-27 华中科技大学 Quality of service (QoS)-oriented virtual machine network bandwidth allocation system
CN102523204A (en) * 2011-12-02 2012-06-27 华中科技大学 Quality of service (QoS)-oriented virtual machine network bandwidth allocation system
CN103856554A (en) * 2012-12-04 2014-06-11 国际商业机器公司 Clustering support across geographical boundaries
CN103856554B (en) * 2012-12-04 2017-06-16 国际商业机器公司 A method for managing inter-cluster nodes and communication system
US9742877B2 (en) 2012-12-04 2017-08-22 International Business Machines Corporation Clustering support across geographical boundaries
US9742878B2 (en) 2012-12-04 2017-08-22 International Business Machines Corporation Clustering support across geographical boundaries
CN103176833B (en) * 2013-03-11 2016-12-28 华为技术有限公司 A data transmission method for a virtual machine, receiving method and a system based on
CN103176833A (en) * 2013-03-11 2013-06-26 华为技术有限公司 Data transmission method, data receiving method and system based on virtual machine

Also Published As

Publication number Publication date Type
CN102075434B (en) 2012-07-04 grant

Similar Documents

Publication Publication Date Title
Peter et al. Arrakis: The operating system is the control plane
Zhang et al. XenSocket: A high-throughput interdomain transport for virtual machines
US8010707B2 (en) System and method for network interfacing
US20070208820A1 (en) Apparatus and method for out-of-order placement and in-order completion reporting of remote direct memory access operations
US7324547B1 (en) Internet protocol (IP) router residing in a processor chipset
US20110154318A1 (en) Virtual storage target offload techniques
US20110153715A1 (en) Lightweight service migration
US20140036675A1 (en) System and method for virtual ethernet interface binding
US20060281451A1 (en) Method and system for handling connection setup in a network
Rizzo et al. Vale, a switched ethernet for virtual machines
US6195688B1 (en) Computer system, program product and method of communicating internetworking data over a master-slave communication link
US20080189432A1 (en) Method and system for vm migration in an infiniband network
US20130044629A1 (en) Virtual network overlays and methods of forming thereof
US6874147B1 (en) Apparatus and method for networking driver protocol enhancement
US8028071B1 (en) TCP/IP offload engine virtualization system and methods
US20090201926A1 (en) Fibre channel processing by a host channel adapter
US20070168525A1 (en) Method for improved virtual adapter performance using multiple virtual interrupts
US20060251120A1 (en) Host ethernet adapter for networking offload in server environment
US20080043765A1 (en) Method and system for automatically reflecting hardware resource allocation modifications
US20040049580A1 (en) Receive queue device with efficient queue flow control, segment placement and virtualization mechanisms
US20070011272A1 (en) Offload stack for network, block and file input and output
US20040114589A1 (en) Method and apparatus for performing network processing functions
US20060221961A1 (en) Network communications for operating system partitions
US20100333101A1 (en) Virtualised receive side scaling
US20110032944A1 (en) Method and System for Switching in a Virtualized Platform

Legal Events

Date Code Title Description
C06 Publication
C10 Entry into substantive examination
C14 Grant of patent or utility model
EXPY Termination of patent right or utility model