CN101859263A - Quick communication method between virtual machines supporting online migration - Google Patents

Quick communication method between virtual machines supporting online migration Download PDF

Info

Publication number
CN101859263A
CN101859263A CN 201010198970 CN201010198970A CN101859263A CN 101859263 A CN101859263 A CN 101859263A CN 201010198970 CN201010198970 CN 201010198970 CN 201010198970 A CN201010198970 A CN 201010198970A CN 101859263 A CN101859263 A CN 101859263A
Authority
CN
China
Prior art keywords
submodule
data
migration
vmm
management
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN 201010198970
Other languages
Chinese (zh)
Other versions
CN101859263B (en
Inventor
任怡
刘晓建
吴庆波
戴华东
管剑波
谭郁松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN2010101989709A priority Critical patent/CN101859263B/en
Publication of CN101859263A publication Critical patent/CN101859263A/en
Application granted granted Critical
Publication of CN101859263B publication Critical patent/CN101859263B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

The invention discloses a quick communication method between virtual machines supporting online migration. The scheme comprises that: a shared memory mechanism-based communication acceleration kernel module supporting VM migration is constructed, and six submodules, namely an initialization submodule, a system call analyzer submodule, a connection management and control submodule, a notice processing submodule, a data transmission management submodule and a VM migration supporting submodule, are arranged in the communication acceleration kernel module; the VMM functions are expanded, two submodules, namely a virtual machine set management submodule and a notice management submodule are arranged, and an online migration submodule is modified; and a VMM and the VMs constitute a virtual machine system to accelerate the communication between the VMs, namely the VMs are subjected to group management, the software environment required by communication acceleration between the VMs and the system call analysis is constructed, the system call unrelated to network operation is bypassed, and the system call related to the network operation is selected for classification processing so as to complete the shared memory-based quick communication between the VMs on the same physical computer. The method is realized in Socket and TCP/IP layers, and is transparent to applications, and supports the online migration of the virtual machines.

Description

High-speed traffic method between a kind of virtual machine of supporting online migration
Technical field
The present invention relates to communication means between the virtual machine in the operating system field, on the especially same physical computer based on the communication means between a plurality of virtual machines of shared drive.
Background technology
Along with the fast development of computer and network technologies, the kind of customer service continues to increase, scale constantly increases, and for satisfying the ever-increasing demand of user, the user can purchase more computing machine and dispose the business that operation increases usually; And meanwhile, the appearance of polycaryon processor makes the processing power of computing machine improve fast, then often cause the computing machine utilization factor to reduce, to calculate usefulness low, and cause hardware resource and waste of electric energy, for the consideration of management and cost control, need to reduce the quantity of computing machine.On the other hand, in traditional operating system environment, the degree of coupling was bigger between each was formed, and the inefficacy of certain parts may cause the fault or the collapse of total system, the controllability of service operation environment be need effectively isolate, thereby the security and the reliability of system improved with raising inefficacy scope.
In order to improve the usefulness of computer system, safety and reliability, virtual method has appearred, promptly by CPU (the Central Processing Unit of monitor of virtual machine VMM (Virtual Machine Monitor) software to physical computer, CPU (central processing unit)), internal memory and other hardware device carry out virtual, on a physical computer, fictionalize a plurality of virtual machine VM (Virtual Machine), each VM moves a client operating system (Guest OS), just on a physical computer, move a plurality of client operating systems, be used to support that the underlying operating system of client operating system operation is called host operating system (Host OS), the various operating systems on the VMM are commonly referred to as territory (Domain).Traditional VMM as Xen, mainly is made up of Interrupt Process submodule, the virtual submodule of cpu instruction, the virtual submodule of MMU, incident injection submodule, inter-domain sharing internal memory submodule, online migration (Live Migration) submodule.
Early stage virtual machine method is mainly used in large scale computer and server field, is used to improve the physical hardware utilization factor, supports Legacy System etc.In recent years, along with the high speed development of unit hardware performance, to Server Consolidation, resource management, cut down the consumption of energy, safety is isolated and high available demand urgent day by day, the virtual machine method has entered a stage that develops rapidly.A remarkable advantage that uses virtual machine technique to bring is exactly to realize load balancing or fault-tolerant recovery efficiently by the online migration of VM.Online migration is meant under the prerequisite of not break in service, and the VM that is moving is transplanted on another physical computer from a physical computer.By with physical computer online the move to load light physical computer of VM, can realize the load balancing of total system from the load weight; By with VM from the online physical computer of moving to normal operation of the physical computer that breaks down, need not to interrupt telex network, can realize the zero fault-tolerant recovery of downtime.Traditional VMM supports the online migration of VM by online migration submodule.
Intel Virtualization Technology improve the server resource integration ability, enhance system security and reliability in, also brought losing on the performance.For in operating in virtual machine such as for the network-intensive type application programs such as Web service, high-performance Grid application, issued transaction, distributed graphic support, the communication efficiency between VM is most important for the raising of using integral performance.Therefore, the communication efficiency of optimizing between VM is very necessary, especially for being positioned at same the communication between the different virtual machine on the physical computer, if still adopt communication means between the virtual machine of striding physical computer, then data transfer path is long partially, is unfavorable for reducing communication overhead.
At present, be positioned at that the communication means between different virtual machine is divided into two classes on same the physical computer, first kind method is common network service, it is to realize communicating by letter between virtual machine towards the TCP/IP network protocol stack, its all data transmission all pass through ICP/IP protocol and NIC driver is handled, and have increased the message transmissions expense.Along with the development of Intel Virtualization Technology, a plurality of VM of physical host deploy have become universal phenomenon, if still carry out the network service between different VM on the same physical computer by ICP/IP protocol, then performance loss is bigger.So second class methods occurred, these class methods are positioned at the characteristics of same physical computer at communicating pair, and the mode by shared drive realizes communication and the message exchange between the VM.
Second class comprises virtual machine communication interface socket VMCISocket (Virtual Machine Communication Interface Socket), XenSocket, XWay, IVC (Inter Virtual Machine Communication), MNNet and XenLoop based on the representativeness work of the communication means of shared drive.(first kind method is that the data buffer with send_process process among the virtual machine VM_1 is mapped to a physical memory by VMM to be different from communication means between first kind virtual machine, with the copying data that sends to this buffer zone, then in another piece physical memory with the recv_process process mapping in the virtual machine VM_2 of the copying data in this physical memory, be copied at last in the user's space data buffer of recv_process, this wherein will carry out the repeatedly switching between VM and the VMM), data at first are copied in the shared buffer of setting up between VM_1 and the VM_2, then VM_1 notice VM_2 has deposit data to be read in shared drive, VM_2 receives the user's space that data is copied to after this notice VM_2 from shared buffer, notify the VM_1 DTD then, if the transmission process will be waken up after it receives this notice owing to the reason of shared buffer insufficient space is in sleep state among the VM_1.Compare with first kind method, second class methods have reduced the copy number of times of data and the switching times between VM and the VMM, can effectively reduce the communication overhead between VM.
According to realize level, to using the whether transparent and whether online migration of virtual support machine of programming, can classify to the above-mentioned representative work of second class methods respectively:
● under the IP layer, Socket and tcp/ip layer, three of application layers realize that level: MNet and XenLoop method realize that implementation complexity is bigger below the IP layer; The IVC method realizes that by the MPI storehouse of revising application layer versatility is lower; XenSocket and XWay method then are to realize at Socket, tcp/ip layer.
● the transparency of application programming: application programming is transparent to make program development more simple with maintenance, and IVC, VMCI and XenSocket method have been introduced new DLL (dynamic link library), and be opaque to using programming; XWay, MNNet, XenLoop method are programmed transparent to application.
● the support of the online migration of virtual machine: the online migration when whether supporting the VM operation is an important indicator weighing high-speed traffic mechanism between virtual machine, VMCI, XenSocket, XWay and MNNet method be the online migration of virtual support machine not, the online migration of IVC and XenLoop method virtual support machine.
The XWay method is Socket and the tcp/ip layer realization and transparent to using programming on IP, but this method is not supported the online migration of VM.According to the data of present announcement, this method adopts following steps to finish the data communication between different VM on the same physical computer:
The first step makes up between VM the communication support scheme based on shared drive in client operating system.In order to support to communicate by letter between the VM based on shared drive, the client operating system among the VM not only will provide TCP Socket agreement, and the XWay communication protocol that adopts shared drive also will be provided.And this proprietary protocol is not supported in traditional Socket application, in order to reach to using the transparent purpose of programming, need when receiving Socket message and can between TCP Socket agreement and XWay agreement, switch, therefore at first make up an XWay changeover module, the XWay changeover module by retouching operation system kernel network protocol stack, and the mode of beating the operating system nucleus patch realize.When related news arrive, the XWay changeover module judges that according to the Socket recalls information target VM is on another physical computer or on local physical computer, still use traditional TCP Socket agreement for the former, then switch to the XWay agreement for second kind of situation and handle.The processing of XWay agreement is finished by the XWay protocol component, and it receives the data transfer request of sending from the XWay changeover module, and sets up the transmission channel based on shared drive between source VM and the target VM.Control of XWay device drives assembly and management are based on the transmission channel of shared drive.XWay changeover module, XWay protocol component and XWay device drives assembly three finish in the client operating system Core Feature of communicating by letter and supporting based on shared drive from top to bottom jointly.
In second step, set up the connection between communication sources VM and the target VM.When the XWay changeover module receives the connection request of Socket, at first set up a TCP passage and transmit and connect the control information set up in the process, to set up in case connect, this passage will be destroyed.Then the XWay changeover module judges that source VM and target VM are whether on a physical computer, if then send request to XWay device drives assembly, after the latter receives request, with the one group transmission channel of foundation based on the XWay agreement.Wherein, each transmission channel is made up of two circle queues and an event channel, two circle queues are respectively applied for and send data and receive data, and event channel is used for transmitting incidents such as " having data to put into transmit queue ", " recipient reads and receives queuing data " between source VM and target VM.
In the 3rd step, the data between source VM and the target VM send and receive.Detailed process is as follows:
3.1 data send.When the XWay changeover module received the transmission request, it was forwarded to the XWay protocol component with this request, and the latter is by calling XWay device drives assembly write data in transmit queue.When space in the transmit queue is not enough, under Non-Blocking I/O pattern, turn back in the XWay device drives, XWay device drives notice " transmit queue insufficient space " message is given the XWay protocol component under obstruction I/O pattern, the latter is responsible for checking the transmit queue state variation, when the transmit queue space meets the demands, XWay device drives notice XWay protocol layer retransmission data.
3.2 Data Receiving.When the XWay changeover module receives the Data Receiving request, this request is forwarded to the XWay protocol component, the latter attempts reading of data from corresponding reception formation by XWay device drives assembly.If in the reception formation data are arranged, XWay device drives and XWay protocol component return wherein data available immediately, even the data volume that actual amount of data receives less than request.If the report of XWay device drives assembly receives queue empty, and current for blocking the I/O pattern, the XWay protocol component begins to wait for, up to there being data to deposit the reception formation in.At this moment XWay device drives assembly sends " receiving the formation non-NULL " message and gives the XWay protocol component, and the latter is waken up, and wakes up by XWay device drives assembly.If XWay device drives assembly report receives queue empty, and current be Non-Blocking I/O pattern, the XWay protocol component does not then process directly and returns.
The 4th step, the connection between communication close source VM and the target VM.After the XWay changeover module receives to close connection request, at first remove and receive the mapping of formation to kernel address space, discharge transmit queue then and take up space, last release event passage.
The subject matter of this communication means based on shared drive is:
1) do not support the online migration of VM
A remarkable advantage that uses virtual machine technique to bring is exactly to reach purposes such as load balancing or fault-tolerant recovery by the migration of VM on different physical computers, and the online migration when whether supporting the VM operation becomes an important indicator weighing high-speed traffic mechanism between virtual machine.The auxiliary process method that migration detects, migration back data channel is rebuild and other migration is relevant is not provided in the XWay communication means, thereby when online migration takes place the VM of ongoing communication, communication failure will occurs.
2) need to revise client operating system nucleus code
In order to support the high-speed traffic between the VM on the same physical computer, this method must realize: the operating system nucleus module that can load is used to realize XWay changeover module, XWay protocol component and XWay device drives assembly; The kernel patch of operating system network protocol stack is used to revise the part kernel code, thereby supports the switching between Transmission Control Protocol and the XWay agreement; The demons of an outer user's attitude of nuclear are used to carry out XWay telecommunication management and control.This has not only revised, and operating system nucleus is existing forms code, and has realized the demons of a new kernel module and user's attitude, and workload is big and need revise client operating system nucleus code.
In sum, in two class methods of supporting to communicate by letter between VM on the same physical computer, first kind method copying data often, the switching between VMM and the client operating system is comparatively frequent, so communication overhead is bigger.And the exemplary process of second class methods can not possess following feature simultaneously: realize at Socket and tcp/ip layer, to using transparent, the online migration of virtual support machine of programming.
How to provide a kind of and realize at Socket and tcp/ip layer, programming is transparent to using, the high-speed traffic method is that the technical matters that solves is badly in need of in this area between the virtual machine of the online migration of virtual support machine.
Summary of the invention
The technical problem to be solved in the present invention is: do not support the online migration of VM based on XWay method in the communication means of shared drive and need to revise problem such as client operating system nucleus code at second class, provide a kind of and realize with tcp/ip layer at Socket, programming is transparent to using, the support online migration of VM and need not to the same physical computer of client operating system nucleus patch installing on high-speed traffic method between VM.
Technical scheme of the present invention is:
The first step, the structure shared drive communication support module in the client operating system, expansion VMM function on the basis of existing computer hardware, is formed a dummy machine system by the VMM that has expanded with a plurality of VM that quicken support that communicate by letters that comprise.
Support the communication based on shared drive mechanism of VM migration to quicken kernel module 1.1 in client operating system, make up.Method is: do not revise existing operating system nucleus code, follow standard operating system nucleus Development of Module interface, add a self-contained communication that loads in the Socket communication layers and quicken kernel module, and at this inside modules structure and add initialization, system call analyzer, connect management and control, announcement processing, data transfer management, VM migration support totally six submodules.Concrete grammar is as follows:
1.1.1 structure also adds the initialization submodule.The initialization submodule successfully starts and the communication that loads client operating system is quickened to be triggered after the kernel module at VM, according to following realization flow and and other submodule between interface construct and add this submodule: according to the group ID configuration of current VM, at first call the virtual unit management submodule (virtual unit management submodule is referring to the 1.2.1 step) of VMM and create group or this VM of registration in corresponding group; Then the solicit operation system keeps continuous virtual address space, and sends request to the inter-domain sharing internal memory submodule of VMM, sets up the shared drive buffer zone by it, is used to deposit the network connection of the VM of intercommunication mutually and the information such as data that will be received and dispatched; The online migration submodule that calls VMM then is with the current location number (the unique tick lables information of each VM in the dummy machine system) that generates VM and the current location number table that upgrades VMM (for all VM on its place physical computer safeguard a current location number table, each be the current location number of the ID of VM and correspondence thereof to the online migration submodule of VMM in shared drive).Call VM migration and support submodule (submodule is supported in the VM migration, referring to the 1.1.6 step), notice VM migration is supported submodule to obtain and is safeguarded a copy of the current location number of this VM; Forwarding system call analyzer submodule (system call analyzer submodule is referring to the 1.1.2 step) when generation systems calls to carries out quickening using transparent communication.
1.1.2 structure and add-on system call the analyzer submodule.According to following realization flow and and other submodule between interface structure and add this submodule: intercept and capture system call request from network application, at first filter out and the irrelevant system call of network operation, for other system call, if communicate by letter between the VM on the different physical computers, then still adopt towards the traditional mechanism of TCP/IP procotol and handle, if be positioned at communication between VM on the same physical computer, then call and connect management and control submodule (connection management and control submodule, referring to 1.1.3 step) or data transfer management submodule (the data transfer management submodule is referring to the 1.1.5 step) create or close connection, operations such as data transmission.
1.1.3 structure also adds connection management and control submodule.Connect the management and control submodule and be responsible for the maintenance and management of network connection information, be network connection information structure link control module data structure, this structure comprises following information: the VM both sides' of communication IP address and port numbers; I/O mode flags position (block type or unblock formula); One sends buffer zone and a send buffer (send the buffer zone physical memory corresponding different with send buffer, local reception buffer zone and transmission buffer zone are far shared with a slice physical memory); Sleep VM formation etc. sleep VM formation to be sent, wait reception.After the above-mentioned data structure of structure, all link control modules are organized into the link control module table, each is ID number that a network connects in the table, and the link control module of this ID correspondence.Then according to following flow process and with other submodule between interface structure and add and to be connected the management and control submodule: when connecting, closing connection or carrying out data transmit-receive, by system call analyzer submodule, data transmission submodule (data transmission submodule, referring to the 1.1.5 step) or VM migration support submodule (VM migration support submodule, referring to the 1.1.6 step) call, be used to visit the shared drive that VMM inter-domain sharing internal memory submodule is created, thereby create, register, read, revise or reclaim link control module, keep communicating to connect based on shared drive.
1.1.4 structure also adds the announcement processing sub.According to following flow process and and other submodule between interface structure and add the announcement processing sub: receive VMM announcement management submodule (announcement management submodule, referring to 1.2.2 step) and incident inject the interruption corresponding of submodule forwarding with current event, read event buffer, obtain required incident, event type comprises that wake up target VM reception data, wake source VM transmission data, network connection are closed, the data buffer can be released four kinds; According to event type wake source VM send or target VM receive data or notifying communication the opposing party VM network connect close, the data buffer can be released.
1.1.5 structure also adds the data transfer management submodule.The data transfer management submodule is used for deal with data and sends or receive request, these requests have two sources: system call analyzer submodule and VM migration support that (submodule is supported in the VM migration to submodule, referring to the 1.1.6 step), wherein VM migration supports that the request of submodule is when online migration takes place, to the processing request of the data that send but do not receive as yet.According to following flow process and and other submodule between interface structure and add the data transfer management submodule: at first call VM migration and support that submodule judges whether to have taken place online migration, if migration has taken place, then event of data loss may appear, need to rebuild and connect or data retransmission, if do not move, then send out request acquisition link control module, thereby obtain the positional information of shared buffer, then send or receive data by this shared buffer to connecting the management and control submodule.
1.1.6 structure also adds the VM migration and supports submodule.Whether the VM migration supports that submodule is connected the management and control submodule, the data transfer management submodule calls, taken place to move and handle in order to detect.According to following flow process and and other submodule between interface structure and add VM migration and support submodule: carrying out connection closed, during operation such as data transmission/reception, judge current location number copy and the online migration submodule of VMM (online migration submodule that VM migration support submodule is safeguarded, referring to 1.2.3 step) in current location in the current location number table number whether identical, if it is different, then show migration has taken place, at this moment at first read the current location number in the current location number table that the online migration submodule of VMM safeguards, and its VM migration that is updated to this VM supported in the copy that submodule safeguards, then according to the concrete condition of moving, rebulid that TCP connects or based on the connection of shared drive, and call connect management and control submodule and data transfer management submodule to sending but the data that do not receive as yet handle.
1.2 expansion VMM function makes VMM have communication and quickens tenability.Method is to keep the existing Interrupt Process submodule of VMM, the virtual submodule of cpu instruction, the virtual submodule of MMU, incident injection submodule, inter-domain sharing internal memory submodule and online migration submodule, add virtual unit management and two submodules of announcement management, and revise online migration submodule, concrete grammar is as follows:
1.2.1 structure also adds virtual unit management submodule.Virtual unit management submodule carries out global packet management with all VM, as communicating pair VM during at same virtual unit, adopts the accelerated method based on shared drive to quicken communication.According to following flow process and and other submodule between interface structure and add virtual unit management submodule: virtual unit management submodule is provided with the group ID of VM according to the group information configuration of VM when starting VM, having mutually on the same group, the VM of ID constitutes a virtual unit; Virtual unit management submodule is deleted this VM from its virtual group when VM destroys, and judges whether the VM number of members is 0 in the group, if 0, then delete this virtual unit; Virtual unit management submodule calls announcement management submodule when VM starts or closes be that virtual machine is formed and built or reclaim event buffer.
1.2.2 structure also adds announcement management submodule.Announcement management submodule is called to form for virtual machine by virtual unit management submodule when VM starts or closes builds or reclaims event buffer, and the inter-domain sharing internal memory submodule that announcement management this moment submodule calls VMM is finished the memory-mapped of event buffer.In addition, announcement management submodule is also registered and the incident of buffer memory from the request correspondence of VM, and by announcing processing sub to target VM transmission incident, the step that sends incident is: according to the network connection information of current VM, and the event buffer position of positioning and communicating the opposing party VM correspondence; Current event type and parameter are registered in this event buffer; Interruption to communication the opposing party VM injection current event type correspondence; After finishing, Interrupt Process removes this incident in the event buffer.
1.2.3 revise online migration submodule.The online shift function that keeps the online migration submodule of VMM adds migration auxiliary process function.The migration auxiliary process function of adding with the interface that quickens between the kernel module of communicating by letter of the original online shift function of the online migration submodule of VMM and VM is: load in operating system and move the auxiliary process function submodule that is initialised when kernel module is quickened in communication and call; Receiving outside online migration order and by VMM after the original online shift function of online migration submodule is finished the migration of VM, migration auxiliary process function is activated.The flow process of migration auxiliary process and specific as follows: when the acceleration kernel module of communicating by letter is loaded with the interface of other submodule, the initialization submodule activation that the migration auxiliary process function of adding is communicated by letter and quickened kernel module, generate the current location number of VM, and in the current location of current VMM number table, add the ID of this VM and current location number, calling communication quickens the VM migration of kernel module and supports submodule, make the latter obtain a copy of this VM current location number, be used for when data transmission and connection closed, judging whether VM migration has taken place; After receiving outside online migration order and finishing the migration of VM by original online shift function, the migration auxiliary process function of adding in the online migration submodule is moved current VM the link control module preserved among the source VMM on the physical computer of preceding place, is sent and received among the target VMM after byte number is synchronized to migration, the online migration submodule of notification target VMM generates by the current location of migration VM number then, and upgrades the information in the current location number table.
In second step, the dummy machine system that adopts the first step to make up quickens communication between VM, and concrete steps are:
2.1 VMM starts VM, the virtual unit management submodule of VMM is organized management to needing the VM that communicates acceleration in the dummy machine system.Method is:
2.1.1 it is addr that the IP of VM is set according to the property value in the VM configuration file, group ID is gid (having the VM of communication acceleration demand to be assigned with identical group ID) under it, and group key is key;
2.1.2 judge whether it is the VM that the virtual unit ID of startup is gid on this VMM first:
If 2.1.2.1 then virtual unit management submodule is created the virtual unit that is numbered gid, its access key is key;
2.1.2.2 if not, then obtain gid corresponding virtual unit and judge whether the key that provides is consistent with the key of virtual unit: if consistent, then create the virtual unit that is numbered gid, its access key is key, this VM of registration in the VM of virtual unit chained list, inter-domain sharing internal memory submodule in VMM sends request, creates event buffer by the latter for this VM; If inconsistent, then report " VM starts failure " information.
2.2 required software environment is analyzed in communication acceleration and system call between the initialization submodule structure VM of communication acceleration kernel module, method is:
2.2.1 initialization submodule solicit operation system keeps continuous virtual address space, and send request to the inter-domain sharing internal memory submodule of VMM, set up the shared drive buffer zone by VMM, be used to deposit link control module information, data waiting for transmission and the pending incident of the VM of intercommunication mutually.
2.2.2 the initialization submodule obtains the IP address of current VM and the MAC of place physical computer (Media AccessControl) address thereof, call the online migration submodule of VMM, by function conversion, generate the unique tick lables information of each VM in this dummy machine system---current location number.The online migration submodule of VMM is that in shared buffer all VM safeguard a current location number table, the up-to-date current location of the ID of each VM and this VM number in the storage virtual machine system.After generating current location number, the initialization submodule calls among the ID and current location adding table thereof of online migration submodule with this VM, and the VM migration that calling communication quickens kernel module supports submodule, makes the latter obtain and safeguards a copy of the current location number of this VM.
2.3 the system call in kernel module reception application program or the external command is quickened in the communication in the VM client operating system, be transmitted to system call analyzer submodule, system call analyzer submodule at first bypasses the system call irrelevant with network operation (handling by the operating system old process), select the system call classification relevant to handle then, finish the high-speed traffic between the VM on the same physical computer based on shared drive with network operation.Method is:
2.3.1 if the classification of current system call is to set up network to connect, then:
2.3.1.1 connect the management and control submodule at first obtains group ID and the place physical computer thereof of current VM by VMM MAC Address, whether the virtual group ID that then judges communicating pair VM is identical, if the virtual unit ID of communicating pair difference, then need not to communicate acceleration, by the flow processing that the TCP network connects of setting up of operating system routine; If virtual unit ID is identical for communicating pair, judge then whether communicating pair is positioned on same the physical computer, handle by the following method:
2.3.1.1.1 if communicating pair is not positioned at same physical computer, then by the flow processing that the TCP network connects of setting up of operating system routine;
2.3.1.1.2 if communicating pair is positioned at same physical computer, and the link control module that the network of this system call correspondence connects is not added in the link control module table that connects in the management and control submodule as yet, be that network that communicating pair is arranged in same physical computer and this system call correspondence connects not to be registered to as yet and connects the management and control submodule, then call the inter-domain sharing internal memory submodule of VMM, obtain the data buffer of source VM and target VM, the byte number that initialization has sent and received is 0, in the 2.2.1 shared drive buffer zone that VMM sets up in the step, create link control module, the initial value of link control module is set, divide and be used in the shared buffer that data send or receive, this connection of registration in connecting the management and control submodule at last is about to the corresponding link control module of this connection and adds in the link control module table.
2.3.2 if current system call is the data transmit operations, then:
Call the VM migration and support submodule 2.3.2.1 the data transfer management submodule of kernel module is quickened in communication, whether the corresponding current location during this VM current location number copy of judging its maintenance and VMM current location number are shown is number consistent.If consistent, show that communicating pair VM moves, change the 2.3.2.2 step and carry out sending based on the rapid data of shared drive.If it is inconsistent, show that migration has taken place this VM before carrying out this transmit operation, move auxiliary process: the current location in the current location that the online migration submodule that VM migration supports submodule to read VMM the is safeguarded number table number, and it is updated in the current location number copy of self maintained; For the data that send but be not received are as yet handled, the VM migration is supported the submodule inquiry to connect and whether has been registered the corresponding link control module of this connection in the management and control submodule:
If, show that then the VM of the preceding communicating pair of migration is positioned at same physical computer, the high-speed traffic method that is based on shared drive of employing 2.3.2.1.1 registered.Read the byte number that sends He received among the VMM, if the former is greater than the latter, then showing in the data buffer that 2.3.1.1.2 step distributed still has data not received by target VM, the data transfer management submodule waits for that the send buffer up to target VM is empty, and upgrade the byte number that has received among the VMM, otherwise show that data all are received.Because migration back communicating pair is not on same physical computer, therefore reclaim current link control module and data buffer, data are sent from the mode based on shared drive transfer mode to, by the data transmitting flow processing that connects based on TCP of operating system routine based on Transmission Control Protocol.
If 2.3.2.1.2 unregistered, the VM that then shows the preceding communicating pair of migration is not on same physical computer, the data of data transfer management submodule wait on network are received and finish.Judge migration back communicating pair then whether on same physical computer, if not, then still adopt mode to send data, by the data transmitting flow processing that connects based on TCP of operating system routine based on Transmission Control Protocol; If then migration back communicating pair is on same physical computer.At this moment, whether the group ID that judges the current VM that sends data is identical with the group ID of target VM: if identical, show that then migration opisthogenesis VM is positioned on the same physical computer with target VM and should adopts the shared drive mode that it is communicated by letter and quicken, need to set up connection based on shared drive, so current system call is set to this data transmit operation, so that, change 2.3.1.1 step execution then rebuilding this data transmission of connection back continuation; If inequality, then need not to quicken to communicate by letter with the shared drive mode, still adopt mode based on Transmission Control Protocol, connect based on TCP according to the operating system old process and send data.
2.3.2.2 quickening the data transfer management submodule of kernel module, communication carries out sending based on the rapid data of shared drive.The data transfer management submodule at first reads the link control module table, judge whether to exist the connection of current transmit operation correspondence, if do not exist, show that then communicating pair VM is not on same physical computer, connect based on TCP by the operating system old process and to send data, otherwise judge that the virtual group ID of communicating pair VM is identical, if inequality, then connect based on TCP and send data, otherwise send data fast according to the mode of shared drive by the operating system old process.If the data length that request sends is m, the transmission buffer length of describing in the link control module is n, and method is: if m is not less than n, then transmits n byte to sending buffer zone, and add n for sending byte number, the data length m=m-n that request sends is set; Otherwise to sending m byte of buffer zone transmission, sent byte number and added m, the data length m that request sends is made as 0.If this I/O is block type and m>0, with this transmission task add to link control module etc. sleep VM formation to be sent, the call operation systemic-function is slept, the announcement processing sub transmission of quickening kernel module by communication until target VM receives and goes to the 2.3.2 step when data event wakes this task up, otherwise if the 2.3.2 step is directly changeed in m>0.
2.3.3 if current system call is the Data Receiving operation, then:
Call the VM migration and support submodule 2.3.3.1 the data transfer management submodule of kernel module is quickened in communication, whether the respective value during this VM current location number copy of judging its maintenance and VMM current location number are shown is consistent.If consistent, show that communicating pair VM moves, directly change the 2.3.3.2 step and carry out receiving based on the rapid data of shared drive.If it is inconsistent, show that migration has taken place this VM before carrying out this reception operation, move auxiliary process: at first read the current location number in the current location number table that the online migration submodule of VMM safeguards, and its VM migration that is updated to this VM is supported in the copy that submodule safeguards; For the data that send but be not received are as yet handled, inquiry connects whether registered the corresponding link control module of this connection in the management and control submodule:
If, show that then the VM of the preceding communicating pair of migration is positioned on same the physical computer high-speed traffic method that is based on shared drive of employing 2.3.3.1.1 exist.Read the byte number that sends He received among the VMM,, then show in the data buffer that the 2.3.1.1.2 step distributed to still have data not received by target VM if the former is greater than the latter.Because migration back communicating pair is not on same physical computer, then when still having data not to be received, the data re-transmitting of the data buffer that at first please data receiver will be used for sending one time, after receiving the remaining data of transmission over networks, reclaim current link control module and data buffer, data are sent from the mode based on shared drive transfer mode to, connect based on TCP by the operating system old process and receive data based on Transmission Control Protocol.
2.3.3.1.2 if there is no, the VM that then shows the preceding communicating pair of migration is not on same physical computer, the communication mode that is based on TCP that adopts, the data of data transfer management submodule wait target VM continuation reception data on network are received and finish.Judge migration back communicating pair then whether on same physical computer, if not, then still adopt mode to send data based on Transmission Control Protocol, connect based on TCP by the operating system old process and receive data; If then migration back communicating pair is on same physical computer.At this moment, whether the group ID that judges the current VM that receives data is identical with the group ID of source VM: if identical, show that then migration opisthogenesis VM is positioned on the same physical computer with target VM and should adopts the shared drive mode that it is communicated by letter and quicken, need to set up connection based on shared drive, so current system call is set to this Data Receiving operation, so that, change the 2.3.1.1 step then rebuilding this Data Receiving of connection back continuation; If inequality, then need not to quicken to communicate by letter with the shared drive mode, still adopt mode based on Transmission Control Protocol, connect based on TCP according to the operating system old process and receive data.
2.3.3.2 quickening the data transfer management submodule of kernel module, communication carries out receiving based on the rapid data of shared drive.The data transfer management submodule that kernel module is quickened in communication at first reads the link control module table that connects management and control submodule maintenance and management, judge whether to exist the corresponding connection of current reception operation, if do not exist, show that then communicating pair VM is not on same physical computer, changeing the operating system old process connects based on TCP and receives data, otherwise the virtual group ID that judges communicating pair VM is identical, if it is inequality, then changeing the operating system old process connects based on TCP and receives data, otherwise the mode according to shared drive receives data: if send buffer is not for empty, then target VM receives data wherein, and the data accepted byte number is increased corresponding value.If receive end of operation, then the Data Receiving flow process finishes, otherwise handles by the following method:
2.3.3.2.1 when this I/O is the unblock formula, change the 2.3.3 step;
2.3.3.2.2 when this I/O is block type, then this reception task is added to the sleep VM formation of the wait reception of link control module, the call operation systemic-function is slept, the announcement processing sub transmission transmission data event that quickens kernel module by communication until source VM wakes this task up, changes the 2.3.3 step.
2.3.4 if current system call is to close network to connect, then:
Whether consistent 2.3.4.1 the connection management and control submodule of kernel module is quickened in communication if calling this VM current location number copy that the VM migration supports that submodule judges its maintenance and the VMM current location respective value in number showing.If consistent, show that communicating pair VM moves, directly change the 2.3.4.2 step and close connection.If it is inconsistent, show that migration has taken place VM before being about to close the network connection, move auxiliary process: at first read the current location number in the current location number table that the online migration submodule of VMM safeguards, and its VM migration that is updated to this VM is supported in the copy that submodule safeguards; For the data that send but be not received are as yet handled, inquiry connects whether registered the corresponding link control module of this connection in the management and control submodule:
If, show that then the VM of the preceding communicating pair of migration is positioned on same the physical computer high-speed traffic method that is based on shared drive of employing 2.3.4.1.1 registered.Read the byte number that sends He received among the VMM, if the former greater than the latter, then shows to still have data not to be received.When still having data not to be received, because migration back communicating pair VM is not on a physical computer, if current VM is source VM, wait for that then the send buffer up to target VM is sky, if current VM is target VM, the data re-transmitting of the data buffer that then please data receiver will be used for sending one time, and receive the retransmission data of transmission over networks.
If 2.3.4.1.2 unregistered, then show the VM that moves preceding communicating pair not on same physical computer, the communication mode that is based on TCP of employing.Judge that then current VM is source VM or target VM,, wait for then that data until online transmission are received to finish if current VM is source VM; If current VM is target VM, then read the remaining data of transmission over networks.
2.3.4.2 communication is quickened the data transfer management submodule of kernel module and is read the link control module table that connects management and control submodule maintenance and management, judge whether to exist the corresponding connection of current operation, if do not exist, show that then communicating pair VM is not on same physical computer, change the operating system old process and close the TCP connection, otherwise whether the opposing party VM that judges communication is in sleep, if it is slept, then ask the announcement management submodule of VMM to send incident to the other side by event buffer, be used to notify latter's network to connect to have disconnected and can discharge the data buffer, announcement management submodule passes through the incident of VMM and injects the interruption that submodule injects the current event correspondence to VM, and the announcement processing sub that kernel module is quickened in the communication among the VM receives interruption.
2.3.4.3 the inter-domain sharing internal memory submodule that calls VMM judges to discharge both sides' data buffer whether the other side has closed connection, if close, then reclaims current link control module by connecting the management and control submodule.
2.4 it is that addr, affiliated group of ID are that gid, group key are the VM of key that VMM closes IP, the virtual unit management submodule of VMM is this VM of deletion from group.Method is:
2.4.1 virtual unit management submodule obtains gid corresponding virtual unit;
2.4.2 judge whether the key that provides is consistent with the key of virtual unit, if inconsistent, then newspaper " Insufficient privilege, VM deletes failure " information goes to the operating system old process;
Handle incident in the event buffer of current VM 2.4.3 call announcement management submodule, when event buffer is sky, call the shared internal memory of inter-domain sharing internal memory submodule release event buffer zone;
Carry out conventional VM deletion flow process 2.4.4 call VMM:
If 2.4.4.1 the deletion failure, then newspaper " VM deletes failure " goes to the operating system old process.
If, then current VM is deleted from this virtual unit information, and report " VM deletes successfully " 2.4.4.2 delete successfully; VMM judges that whether current virtual unit is empty, if be empty, then discharges the shared memory headroom of this virtual unit link control module table, and deletion group ID is the virtual unit of gid, report " the virtual unit of organizing ID and be gid is deleted ".
Adopt the present invention can reach following technique effect:
1. adopt the present invention can greatly quicken the communication efficiency between VM on same the physical computer.Common communication means based on network interface card is for the communication between VM on same the physical computer, and switching times between VMM and the client operating system and copying data number of times are many, and performance loss is bigger.And the present invention adopts the method based on shared drive, the VM of communicating pair shares the data buffer based on shared drive that is positioned on same the physical computer, mode by shared drive is carried out data transmission, switching between VM and the client operating system is less, and the copying data number of times reduces, and can effectively improve communication efficiency.
2. the correctness of communication when adopting the present invention can guarantee the online migration of VM.At first, when migration takes place, support link control module, current location number, send and received byte number synchronously, for migration detects and online data is received and dispatched and connection reconstruction provides necessary information; The second, after VM moves, can support submodule detect by the VM migration in the communication acceleration kernel module and whether take place to move and handle according to actual conditions; The 3rd, prevent mechanism of data loss, lose the data of transmitting when avoiding between the acceleration I/O mode of shared drive and the conventional I/O mode of TCP conversion.
3. the present invention is transparent to user and programmer.The present invention calls the mode of shunting processing by intercepting system, network operation between the VM on same the physical computer is carried out quickening based on the communication of shared drive, the realization of bottom shared drive mechanism is to user transparent, Socket interface and other network communication interface were not made any modification, application program still can use the Socket interface of standard to communicate.Therefore, not perception of user base layer support mechanism, and need not to revise application programming and use pattern, in addition, when network communication protocol changes, need not to use and transplant.
4. adopt the present invention to need not retouching operation system kernel code.The present invention follows the operating system nucleus Development of Module interface of standard, realize a self-contained brand-new communication acceleration kernel module that loads at the Socket layer, the intrinsic composition to operating system nucleus does not make a change, and therefore, need not to revise the code of client operating system and host operating system.
Description of drawings
Fig. 1 is the dummy machine system structural drawing of XWay in the second class communication means in the background technology;
Fig. 2 is an overview flow chart of the present invention;
Fig. 3 is the structural drawing of the dummy machine system of first step structure of the present invention;
Fig. 4 is the link control module of the present invention 1.1.3 step structure and the data structure of link control module table;
Fig. 5 is required data and the control information interaction figure based on shared drive of high-speed traffic of the present invention;
Migration auxiliary process flow process when Fig. 6 receives outside online migration order for the present invention 1.2.3 step;
Fig. 7 supports the connection building process figure of the online migration of VM for the present invention 2.3.1 step;
Fig. 8 supports the data transmission flow figure of the online migration of VM for the present invention 2.3.2 step;
Fig. 9 supports the Data Receiving process flow diagram of the online migration of VM for the present invention 2.3.3 step;
Figure 10 supports the connection closed process flow diagram of the online migration of VM for the present invention 2.3.4 step.
Embodiment
Fig. 1 is the dummy machine system structural drawing of XWay in the second class communication means in the background technology, and this dummy machine system is formed by three layers from bottom to top: the bottom is a physical computer hardware, comprises hardware devices such as CPU, internal memory, network interface card and disk; The middle layer is a monitor of virtual machine, is made up of Interrupt Process submodule, the virtual submodule of cpu instruction, the virtual submodule of MMU, incident injection submodule, inter-domain sharing internal memory submodule, online migration submodule; The superiors are host operating system and a plurality of client operating system, client operating system comprises that the Socket that examines outer user's attitude uses, the XWay finger daemon, operating system nucleus and XWay kernel module in the nuclear, in order to realize the transparent switching between TCP Socket agreement and the XWay agreement, must add the kernel patch that is used to realize the XWay changeover module in the network protocol stack of operating system nucleus, the XWay kernel module is made up of XWay protocol component and XWay device drives assembly.The XWay protocol component comprises connection management and control submodule and data transmit-receive Request Processing submodule.
When the Socket message call arrives, XWay changeover module in the operating system nucleus judges that according to this information target VM is on another physical computer or just on local physical computer, still use traditional Transmission Control Protocol for the former, then switch to the XWay agreement for second kind of situation and handle.The XWay protocol component receives the data transfer request of sending from the XWay changeover module, the request relevant with control is transmitted to the processing of connection management and control submodule, and the request relevant with data transmission is transmitted to data transmit-receive Request Processing submodule, connecting management and control submodule and data transmit-receive Request Processing submodule carries out control and management or prepares transceive data, and the assembly control of request XWay device drives and management be based on the transmission channel of shared drive, sets up or safeguard the transmission channel based on shared drive between source VM and the target VM by transmission channel management submodule.
Fig. 2 is an overview flow chart of the present invention.The first step, at first structure supports the communication based on shared drive mechanism of VM migration to quicken kernel module, method is to follow the operating system nucleus Development of Module interface of standard, add a self-contained kernel module that loads in the Socket communication layers, adds initialization, system call analyzer in this inside modules, connects management and control, announcement processing, data transfer management, VM migration support six submodules; Expand the VMM function then, method is to keep the existing Interrupt Process submodule of VMM, the virtual submodule of cpu instruction, the virtual submodule of MMU, incident injection submodule, inter-domain sharing internal memory submodule and online migration submodule, add virtual unit management and two submodules of announcement management, and revise online migration submodule; At last on the basis of existing computer hardware, form a dummy machine system with a plurality of VM that quicken support that communicate by letters that comprise by the VMM that has expanded.In second step, the dummy machine system that adopts the first step to make up quickens communication between VM.Method is: at first VMM starts VM, the virtual unit management submodule of VMM is organized management to needing the VM that communicates acceleration in the dummy machine system, then make up the software environment that communication is quickened and the system call analysis is required between VM, bypass then and the irrelevant system call of network operation, select the system call classification relevant to handle with network operation, finish the high-speed traffic based on shared drive of the online migration of support between the VM on the same physical computer, comprise that setting up network connects, send data, receive data and close network and be connected, last VMM closes and specifies VM, and the virtual unit management submodule of VMM is this VM of deletion from group.
Fig. 3 is the structural drawing of the dummy machine system of first step structure of the present invention, and whole dummy machine system also is divided into three parts from bottom to up: the bottom is the hardware of physical computer; The middle layer is a monitor of virtual machine; The superiors are host operating system and a plurality of client operating system.
Monitor of virtual machine injects submodule, inter-domain sharing internal memory submodule, online migration submodule, virtual unit management submodule and announcement management submodule by Interrupt Process submodule, the virtual submodule of cpu instruction, the virtual submodule of MMU, incident and forms.Wherein, five submodules in the virtual machine monitoring machine that XWay uses in the first five submodule and the background technology are identical; In order to support the online shift function of high-speed traffic and VM simultaneously, the online migration submodule of monitor of virtual machine is revised, and added virtual unit management submodule and announcement management submodule.
Client operating system comprises the operating system nucleus that Socket uses, nuclear is interior of examining outer user's attitude and communicates by letter and quicken kernel module, be different from the XWay method, the present invention does not make amendment to operating system nucleus code, and need not to examine outer finger daemon, in addition, it is also different with the XWay kernel module that kernel module is quickened in communication.Communication is quickened kernel module and is supported submodule to form by initialization submodule, system call analyzer submodule, connection management and control submodule, announcement processing sub, data transfer management submodule, VM migration.Connect in management and control submodule and the XWay protocol component to be connected the management and control submodule basic identical on connection basic management function, be used to handle and control relevant request, but increased the support of online migration; The data transfer management submodule on data-transformation facility with the XWay protocol component in request of data transmitting-receiving processing sub and the transmission channel management submodule in the XWay device drives assembly basic identical, be used to handle the request relevant, but increased the support of online migration with data transmission; Initialization submodule, system call analyzer submodule and VM to move and to support that submodule is that the present invention quickens kernel module initialization, system call filtration and shunting processing and supports the VM migration and the submodule of interpolation in order realizing communicating by letter.The method of interpolation or modification submodule is as follows;
1) virtual unit management submodule.Virtual unit management submodule carries out global packet management with all VM, as communicating pair VM during at same virtual unit, adopts the accelerated method based on shared drive to quicken communication.According to following flow process and and other submodule between interface structure and add virtual unit management submodule: virtual unit management submodule is provided with the group ID of VM according to the group information configuration of VM when starting VM, having mutually on the same group, the VM of ID constitutes a virtual unit; Virtual unit management submodule is deleted this VM from its virtual group when VM destroys, and judges whether the VM number of members is 0 in the group, if 0, then delete this virtual unit; Virtual unit management submodule calls announcement management submodule when VM starts or closes be that virtual machine is formed and built or the deletion event buffer zone.
2) announcement management submodule.Announcement management submodule is called to form for virtual machine by virtual unit management submodule when VM starts or closes builds or reclaims event buffer, and announcement management this moment submodule will call the memory-mapped that inter-domain sharing internal memory submodule is finished event buffer.Announcement management submodule is also registered and the incident of buffer memory from the request correspondence of VM, and the announcement processing sub of passing through the announcement accelerating module sends incident to target VM, the step of transmission incident is: according to the network connection information of current VM, and the event buffer position of positioning and communicating the opposing party VM correspondence; Current event type and parameter are registered in this event buffer; Interruption to communication the opposing party VM injection current event type correspondence; After finishing, Interrupt Process removes this incident in the event buffer.
3) online migration submodule.The online shift function that keeps the online migration submodule of VMM, and add migration auxiliary process function in online migration submodule.The migration auxiliary process function of adding shows as with the interface that quickens between the kernel module of communicating by letter of the original online shift function of the online migration submodule of VMM and VM: load in operating system and move the auxiliary process function submodule that is initialised when kernel module is quickened in communication and call; Receiving outside online migration order and by VMM after the original online shift function of online migration submodule is finished the migration of VM, migration auxiliary process function is activated.The flow process of migration auxiliary process and specific as follows: when the acceleration kernel module of communicating by letter is loaded with the interface of other submodule, the initialization submodule activation that the migration auxiliary process function of adding is communicated by letter and quickened kernel module, generate the current location number of VM, and in the current location of current VMM number table, add the ID of this VM and current location number, calling communication quickens the VM migration of kernel module and supports submodule, make the latter obtain a copy of this VM current location number, be used for when data transmission and connection closed, judging whether VM migration has taken place; After receiving outside online migration order and finishing the migration of VM by original online shift function, online migration submodule moves current VM the link control module preserved among the source VMM on the physical computer of preceding place, sends and received among the target VMM after byte number is synchronized to migration, the online migration submodule of target VMM generates by the current location of migration VM number, upgrades the information in the current location number table.
The structure and the adding method of each submodule are as follows in the communication acceleration kernel module:
1) initialization submodule.The initialization submodule successfully starts and the communication that loads client operating system is quickened to be triggered after the kernel module at VM, according to following realization flow and and other submodule between interface construct and add this submodule: according to the group ID configuration of current VM, at first call the virtual unit management submodule of VMM and create group or this VM of registration in corresponding group; Then the solicit operation system keeps continuous virtual address space, and sends request to the inter-domain sharing internal memory submodule of VMM, sets up the shared drive buffer zone by it, is used to deposit the network connection of the VM of intercommunication mutually and the information such as data that will be received and dispatched; The online migration submodule that calls VMM then is with the current location that generates VM number and upgrade the current location number table of VMM.Call VM migration and support submodule, notice VM migration is supported submodule to obtain and is safeguarded a copy of the current location number of this VM; Forwarding system call analyzer submodule when generation systems calls to carries out quickening using transparent communication.
2) system call analyzer submodule.According to following realization flow and and other submodule between interface structure and add this submodule: intercept and capture system call request from network application, at first filter out and the irrelevant system call of network operation, for other system call, if communicate by letter between the VM on the different physical computers, then still adopt towards the traditional mechanism of TCP/IP procotol and handle, if be positioned at communication between VM on the same physical computer, then call and connect the management and control submodule or operations such as connection, data transmission are created or closed to the data transfer management submodule.
3) connect the management and control submodule.Connect the management and control submodule and be responsible for the maintenance and management of network connection information, be network connection information structure link control module data structure, all link control modules are organized into the link control module table, each is ID number that a network connects in the table, and the link control module (see figure 4) of this ID correspondence.Then according to following flow process and with other submodule between interface structure and add and to be connected the management and control submodule: when connecting, closing connection or carrying out data transmit-receive, supported that by system call analyzer submodule, data transmission submodule or VM migration submodule calls, be used to visit the shared drive that VMM inter-domain sharing internal memory submodule is created, thereby create, register, read, revise or reclaim link control module, keep communicating to connect based on shared drive.
4) announcement processing sub.Announce processing sub according to following flow process with interface structure and interpolation between other submodule: receive the interruption corresponding of VMM announcement management submodule and the forwarding of incident injection submodule with current event, read event buffer, obtain required incident, according to event type wake source VM send or target VM receive data or notifying communication the opposing party VM network connect close, the data buffer can be released.
5) data transfer management submodule.The data transfer management submodule is used for deal with data and sends or receive request, these requests have two sources: submodule is supported in system call analyzer submodule and VM migration, wherein the second class request is when online migration takes place, to the processing request of the data that send but do not receive as yet.According to following flow process and and other submodule between interface structure and add the data transfer management submodule: at first call VM migration and support that submodule judges whether to have taken place online migration, if migration has taken place, then event of data loss may appear, need to rebuild and connect or data retransmission, if do not move, then send out request acquisition link control module, thereby obtain the positional information of shared buffer, then send or receive data by this shared buffer to connecting the management and control submodule.
6) submodule is supported in the VM migration.Whether the VM migration supports that submodule is connected the management and control submodule, the data transfer management submodule calls, taken place to move and handle in order to detect.According to following flow process and and other submodule between interface structure and add VM migration and support submodule: carrying out connection closed, during operation such as data transmission/reception, judge whether the current location in number showing of current location in current location number copy that VM migration supports that submodule safeguards and the online migration submodule of VMM is number identical, if it is different, then show migration has taken place, at this moment at first read the current location number in the current location number table that the online migration submodule of VMM safeguards, and its VM migration that is updated to this VM supported in the copy that submodule safeguards, then according to the concrete condition of moving, rebulid in case of necessity that TCP connects or based on the connection of shared drive, and call connect management and control submodule and data transfer management submodule to sending but the data that do not receive as yet handle.
Fig. 4 is the link control module of the present invention 1.1.3 step structure and the data structure of link control module table.The link information of this data structure correspondence is by connecting management and control submodule maintenance and management, and this data structure is a struct type, and the territory that comprises has: the VM both sides' of communication IP address and port numbers; I/O mode flags position (block type or unblock formula); One sends buffer zone and a send buffer (send the buffer zone physical memory corresponding different with send buffer, local reception buffer zone and transmission buffer zone are far shared with a slice physical memory); Sleep VM formation etc. sleep VM formation to be sent, wait reception.All link control modules are organized into the link control module table, and each is ID number that a network connects in the table, and the link control module of this ID correspondence.
Fig. 5 carries out the data and the control information synoptic diagram based on shared drive of high-speed traffic for the present invention.Client operating system VM_1 and client operating system VM_2 are two VM that communicate, and both comprise link control module information, data buffer and event buffer by the mode interactive information of shared drive in the shared drive.
In 2.2.1 goes on foot, initialization submodule solicit operation system keeps continuous virtual address space, and send request to the inter-domain sharing internal memory submodule of VMM, and set up the shared drive buffer zone by VMM, be used for mutual link information, data and the incident of the VM of intercommunication mutually.Wherein, the establishment of link control module and data buffer is finished when network is connected with obtaining to set up in 2.3.1 step, and generally speaking, the 2.3.4 that is recovered in of link control module and data buffer goes on foot to close when being connected and finishes.In when, in data transmission or the receiving course online migration taking place when, if communicating pair is on same physical computer and in same virtual group before the migration, and after the migration not on same physical computer or not in same virtual group, then data send or receiving course in reclaim current controll block and data buffer (going on foot referring to 2.3.2.1.1 step and 2.3.3.1.1).Data send or receive by data buffer 1 and data buffer 2, and when VM_1 is transmit leg, VM_2 during for the take over party, the transmission buffer zone of VM_1 is mapped as data buffer 1, and the send buffer of VM_2 also is mapped as data buffer 1; When VM_2 is transmit leg, VM_1 during for the take over party, the transmission buffer zone of VM_2 is mapped as data buffer 2, and the send buffer of VM_1 also is mapped as data buffer 2.Event buffer is used for the event notification between communicating pair VM, when VM starts or closes, calls announcement management submodule by virtual unit management submodule, and the latter forms for virtual machine and builds or reclaim event buffer.
Migration auxiliary process flow process when Fig. 6 receives outside online migration order for the present invention 1.2.3 step.After receiving outside online migration order and finishing the migration of VM by original online shift function, the migration auxiliary process function of adding in the online migration submodule is at first moved current VM the link control module preserved among the source VMM on the physical computer of preceding place, is sent and received among the target VMM after byte number is synchronized to migration, the online migration submodule of notification target VMM generates by the current location of migration VM number then, and upgrades the information in the current location number table.
Below be the present invention's process flow diagram in the 2.3rd step, be divided into four kinds of situations, describe with Fig. 7, Fig. 8, Fig. 9, Figure 10 respectively.
Fig. 7 has described the flow process that the present invention 2.3.1 step source VM and target VM connect.Connect the management and control submodule at first obtains group ID and the place physical computer thereof of current VM by VMM MAC Address, judge then whether the virtual group ID of communicating pair VM is identical.If the virtual unit ID of communicating pair difference then need not to communicate acceleration, by the flow processing that the TCP network connects of setting up of operating system routine.If virtual unit ID is identical for communicating pair, judge then whether communicating pair is positioned on same the physical computer.If communicating pair is not positioned on same the physical computer, then by the flow processing that the TCP network connects of setting up of operating system routine.If communicating pair is positioned at same physical computer, and the link control module that the network of this system call correspondence connects is not added in the link control module table that connects in the management and control submodule as yet, be that network that communicating pair is arranged in same physical computer and this system call correspondence connects not to be registered to as yet and connects the management and control submodule, then call the inter-domain sharing internal memory submodule of VMM, obtain the data buffer of source VM and target VM, the byte number that initialization has sent and received is 0, in the 2.2.1 shared drive buffer zone that VMM sets up in the step, create link control module, the initial value of link control module is set, divide and be used in the shared buffer that data send or receive, this connection of registration in connecting the management and control submodule at last is about to the corresponding link control module of this connection and adds in the link control module table.
Fig. 8 has described the data transmission flow of the online migration of the present invention 2.3.2 step support:
Call the VM migration and support submodule 2.3.2.1 the data transfer management submodule of kernel module is quickened in communication, whether the corresponding current location during this VM current location number copy of judging its maintenance and VMM current location number are shown is number consistent.If consistent, show that communicating pair VM moves, change the 2.3.2.2 step and carry out sending based on the rapid data of shared drive.If it is inconsistent, show that migration has taken place this VM before carrying out this transmit operation, move auxiliary process: the current location in the current location that the online migration submodule that VM migration supports submodule to read VMM the is safeguarded number table number, and it is updated in the current location number copy of self maintained; For the data that send but be not received are as yet handled, the VM migration supports the submodule inquiry to connect and whether has registered the corresponding link control module of this connection in the management and control submodule promptly whether inquiry exists the corresponding link control module of this connection in the link control module table:
If, show that then the VM of the preceding communicating pair of migration is positioned at same physical computer, the high-speed traffic method that is based on shared drive of employing 2.3.2.1.1 exist.Read the byte number that sends He received among the VMM, if the former is greater than the latter, then showing in the data buffer that 2.3.1.1.2 step distributed still has data not received by target VM, the data transfer management submodule waits for that the send buffer up to target VM is empty, and upgrade the byte number that has received among the VMM, otherwise show that data all are received.Because migration back communicating pair is not on same physical computer, therefore reclaim current link control module and data buffer, data are sent from the mode based on shared drive transfer mode to, by the data transmitting flow processing that connects based on TCP of operating system routine based on Transmission Control Protocol.
2.3.2.1.2 if there is no, the VM that then shows the preceding communicating pair of migration is not on same physical computer, and the data of data transfer management submodule wait on network are received and finish.Judge migration back communicating pair then whether on same physical computer, if not, then still adopt mode to send data, by the data transmitting flow processing that connects based on TCP of operating system routine based on Transmission Control Protocol; If then migration back communicating pair is on same physical computer.At this moment, whether the group ID that judges the current VM that sends data is identical with the group ID of target VM: if identical, show that then migration opisthogenesis VM is positioned on the same physical computer with target VM and should adopts the shared drive mode that it is communicated by letter and quicken, need to set up connection based on shared drive, so current system call is set to this data transmit operation, so that, change 2.3.1.1 step execution then rebuilding this data transmission of connection back continuation; If inequality, then need not to quicken to communicate by letter with the shared drive mode, still adopt mode based on Transmission Control Protocol, connect based on TCP according to the operating system old process and send data.
2.3.2.2 quickening the data transfer management submodule of kernel module, communication carries out sending based on the rapid data of shared drive.The data transfer management submodule at first reads the link control module table, judge whether to exist the connection of current transmit operation correspondence, if do not exist, show that then communicating pair VM is not on same physical computer, connect based on TCP by the operating system old process and to send data, otherwise judge that the virtual group ID of communicating pair VM is identical, if inequality, then connect based on TCP and send data, otherwise send data fast according to the mode of shared drive by the operating system old process.If the data length that request sends is m, the transmission buffer length of describing in the link control module is n, and method is: if m is not less than n, then transmits n byte to sending buffer zone, and add n for sending byte number, the data length m=m-n that request sends is set; Otherwise to sending m byte of buffer zone transmission, sent byte number and added m, the data length m that request sends is made as 0.If this I/O is block type and m>0, with this transmission task add to link control module etc. sleep VM formation to be sent, the call operation systemic-function is slept, the announcement processing sub transmission of quickening kernel module by communication until target VM receives and goes to the 2.3.2 step when data event wakes this task up, otherwise if the 2.3.2 step is directly changeed in m>0.
Fig. 9 has described the flow process of the Data Receiving of the online migration of the present invention 2.3.3 step support:
Call the VM migration and support submodule 2.3.3.1 the data transfer management submodule of kernel module is quickened in communication, whether the respective value during this VM current location number copy of judging its maintenance and VMM current location number are shown is consistent.If consistent, show that communicating pair VM moves, directly change the 2.3.3.2 step and carry out receiving based on the rapid data of shared drive.If it is inconsistent, show that migration has taken place this VM before carrying out this reception operation, move auxiliary process: at first read the current location number in the current location number table that the online migration submodule of VMM safeguards, and its VM migration that is updated to this VM is supported in the copy that submodule safeguards; For the data that send but be not received are as yet handled, inquiry connects whether registered the corresponding link control module of this connection in the management and control submodule, and promptly whether inquiry exists the corresponding link control module of this connection in the link control module table:
If, show that then the VM of the preceding communicating pair of migration is positioned on same the physical computer high-speed traffic method that is based on shared drive of employing 2.3.3.1.1 exist.Read the byte number that sends He received among the VMM,, then show in the data buffer that the 2.3.1.1.2 step distributed to still have data not received by target VM if the former is greater than the latter.Because migration back communicating pair is not on same physical computer, then when still having data not to be received, the data re-transmitting of the data buffer that at first please data receiver will be used for sending one time, after receiving the remaining data of transmission over networks, reclaim current link control module and data buffer, data are sent from the mode based on shared drive transfer mode to, connect based on TCP by the operating system old process and receive data based on Transmission Control Protocol.
2.3.3.1.2 if there is no, the VM that then shows the preceding communicating pair of migration is not on same physical computer, the communication mode that is based on TCP that adopts, the data of data transfer management submodule wait target VM continuation reception data on network are received and finish.Judge migration back communicating pair then whether on same physical computer, if not, then still adopt mode to send data based on Transmission Control Protocol, connect based on TCP by the operating system old process and receive data; If then migration back communicating pair is on same physical computer.At this moment, whether the group ID that judges the current VM that receives data is identical with the group ID of source VM: if identical, show that then migration opisthogenesis VM is positioned on the same physical computer with target VM and should adopts the shared drive mode that it is communicated by letter and quicken, need to set up connection based on shared drive, so current system call is set to this Data Receiving operation, so that, change the 2.3.1.1 step then rebuilding this Data Receiving of connection back continuation; If inequality, then need not to quicken to communicate by letter with the shared drive mode, still adopt mode based on Transmission Control Protocol, connect based on TCP according to the operating system old process and receive data.
2.3.3.2 quickening the data transfer management submodule of kernel module, communication carries out receiving based on the rapid data of shared drive.The data transfer management submodule that kernel module is quickened in communication at first reads the link control module table that connects management and control submodule maintenance and management, judge whether to exist the corresponding connection of current reception operation, if do not exist, show that then communicating pair VM is not on same physical computer, changeing the operating system old process connects based on TCP and receives data, otherwise the virtual group ID that judges communicating pair VM is identical, if it is inequality, then changeing the operating system old process connects based on TCP and receives data, otherwise the mode according to shared drive receives data: if send buffer is not for empty, then target VM receives data wherein, and the data accepted byte number is increased corresponding value.If receive end of operation, then the Data Receiving flow process finishes, otherwise handles by the following method:
2.3.3.2.1 when this I/O is the unblock formula, change the 2.3.3 step;
2.3.3.2.2 when this I/O is block type, then this reception task is added to the sleep VM formation of the wait reception of link control module, the call operation systemic-function is slept, the announcement processing sub transmission transmission data event that quickens kernel module by communication until source VM wakes this task up, changes the 2.3.3 step.
Figure 10 has described the flow process of the connection closed of the online migration of the present invention 2.3.4 step support:
Whether consistent 2.3.4.1 the connection management and control submodule of kernel module is quickened in communication if calling this VM current location number copy that the VM migration supports that submodule judges its maintenance and the VMM current location respective value in number showing.If consistent, show that communicating pair VM moves, directly change the 2.3.4.2 step and close connection.If it is inconsistent, show that migration has taken place VM before being about to close the network connection, move auxiliary process: at first read the current location number in the current location number table that the online migration submodule of VMM safeguards, and its VM migration that is updated to this VM is supported in the copy that submodule safeguards; For the data that send but be not received are as yet handled, inquiry connects whether registered the corresponding link control module of this connection in the management and control submodule, and promptly whether inquiry exists the corresponding link control module of this connection in the link control module table:
If, show that then the VM of the preceding communicating pair of migration is positioned on same the physical computer high-speed traffic method that is based on shared drive of employing 2.3.4.1.1 exist.Read the byte number that sends He received among the VMM, if the former greater than the latter, then shows to still have data not to be received.When still having data not to be received, because migration back communicating pair VM is not on a physical computer, if current VM is source VM, wait for that then the send buffer up to target VM is sky, if current VM is target VM, the data re-transmitting of the data buffer that then please data receiver will be used for sending one time, and receive the retransmission data of transmission over networks.
2.3.4.1.2 if there is no, then show the VM that moves preceding communicating pair not on same physical computer, the communication mode that is based on TCP of employing.If current VM is source VM, wait for then that data until online transmission are received to finish; If current VM is target VM, then read the remaining data of transmission over networks.
2.3.4.2 communication is quickened the data transfer management submodule of kernel module and is read the link control module table that connects management and control submodule maintenance and management, judge whether to exist the corresponding connection of current operation, if do not exist, show that then communicating pair VM is not on same physical computer, change the operating system old process and close the TCP connection, otherwise whether the opposing party VM that judges communication is in sleep, if it is slept, then ask the announcement management submodule of VMM to send incident to the other side by event buffer, be used to notify latter's network to connect to have disconnected and can discharge the data buffer, announcement management submodule passes through the incident of VMM and injects the interruption that submodule injects the current event correspondence to VM, and the announcement processing sub that kernel module is quickened in the communication among the VM receives interruption.
2.3.4.3 the inter-domain sharing internal memory submodule that calls VMM judges to discharge both sides' data buffer whether the other side has closed connection, if close, then reclaims current link control module by connecting the management and control submodule.

Claims (5)

1. high-speed traffic method between a virtual machine of supporting online migration is characterized in that may further comprise the steps:
The first step, shared drive communication support module in the structure client operating system, EVM(extended virtual machine) watch-dog VMM function is on the basis of existing computer hardware, form a dummy machine system by the VMM that has expanded with a plurality of virtual machine VM that quicken to support that communicate by letter that comprise, method is:
Support the communication based on shared drive mechanism of VM migration to quicken kernel module 1.1 in client operating system, make up, method is: do not revise existing operating system nucleus code, follow standard operating system nucleus Development of Module interface, add a self-contained communication that loads in the Socket communication layers and quicken kernel module, and at this inside modules structure and add initialization, system call analyzer, connect management and control, announcement processing, data transfer management, VM migration support totally six submodules, method is:
1.1.1 structure also adds the initialization submodule:, at first call the virtual unit management submodule of VMM and create group or this VM of registration in corresponding group according to the group ID configuration of current VM; Then the solicit operation system keeps continuous virtual address space, and sends request to the inter-domain sharing internal memory submodule of VMM, sets up the shared drive buffer zone by it; The online migration submodule that calls VMM then is to generate VM current location number and to upgrade the current location number table (for all VM on its place physical computer safeguard a current location number table, each be the current location number of the ID of VM and correspondence thereof to the online migration submodule of VMM in shared drive) of VMM; Call VM migration and support submodule, notice VM migration is supported submodule to obtain and is safeguarded a copy of the current location number of this VM; Forwarding system call analyzer submodule when generation systems calls to carries out quickening using transparent communication;
1.1.2 structure and add-on system call the analyzer submodule: intercept and capture system call request from network application, at first filter out and the irrelevant system call of network operation, for other system call, if communicate by letter between the VM on the different physical computers, then still adopt towards the traditional mechanism of TCP/IP procotol and handle, if be positioned at communication between VM on the same physical computer, then call and connect the management and control submodule or connection, data transmission are created or closed to the data transfer management submodule;
1.1.3 structure also adds connection management and control submodule, connects the maintenance and management that the management and control submodule is responsible for network connection information, is network connection information structure link control module; Sleep VM formation etc. sleep VM formation to be sent, wait reception; After the above-mentioned data structure of structure, all link control modules are organized into the link control module table, each is ID number that a network connects in the table, and the link control module of this ID correspondence; Then according to following flow process and with other submodule between interface structure and add and to be connected the management and control submodule: when connecting, closing connection or carrying out data transmit-receive, supported that by system call analyzer submodule, data transmission submodule or VM migration submodule calls, be used to visit the shared drive that VMM inter-domain sharing internal memory submodule is created, thereby create, register, read, revise or reclaim link control module, keep communicating to connect based on shared drive;
1.1.4 structure also adds the announcement processing sub: receive VMM announcement management submodule and incident and inject the interruption corresponding with current event that submodule is transmitted, read event buffer, obtain required incident, event type comprises that wake up target VM reception data, wake source VM transmission data, network connection are closed, the data buffer can be released four kinds; According to event type wake source VM send or target VM receive data or notifying communication the opposing party VM network connect close, the data buffer can be released;
1.1.5 structure also adds the data transfer management submodule: at first call the VM migration and support that submodule judges whether to have taken place online migration, if migration has taken place, then event of data loss may appear, need to rebuild and connect or data retransmission, if do not move, then send out request acquisition link control module, thereby obtain the positional information of shared buffer, then send or receive data by this shared buffer to connecting the management and control submodule;
1.1.6 structure also adds the VM migration and supports submodule: carrying out connection closed, during data transmission/reception, judge whether the current location in number showing of current location in current location number copy that VM migration supports that submodule safeguards and the online migration submodule of VMM is number identical, if it is different, then show migration has taken place, at this moment at first read the current location number in the current location number table that the online migration submodule of VMM safeguards, and its VM migration that is updated to this VM supported in the copy that submodule safeguards, rebulid according to the concrete condition of migration that TCP connects then or based on the connection of shared drive, and call connect management and control submodule and data transfer management submodule to sending but the data that do not receive as yet handle;
1.2 expansion VMM function, make VMM have communication and quicken tenability, method is to keep the existing Interrupt Process submodule of VMM, the virtual submodule of cpu instruction, the virtual submodule of MMU, incident injection submodule, inter-domain sharing internal memory submodule and online migration submodule, add virtual unit management and two submodules of announcement management, and revise online migration submodule, concrete grammar is as follows:
1.2.1 structure also adds virtual unit management submodule: virtual unit management submodule is provided with the group ID of VM according to the group information configuration of VM when starting VM, having mutually on the same group, the VM of ID constitutes a virtual unit; Virtual unit management submodule is deleted this VM from its virtual group when VM destroys, and judges whether the VM number of members is 0 in the group, if 0, then delete this virtual unit; Virtual unit management submodule calls announcement management submodule when VM starts or closes be that virtual machine is formed and built or reclaim event buffer;
1.2.2 structure also adds announcement management submodule, announcement management submodule is called to form for virtual machine by virtual unit management submodule when VM starts or closes builds or reclaims event buffer, and the inter-domain sharing internal memory submodule that announcement management this moment submodule calls VMM is finished the memory-mapped of event buffer; Announcement management submodule is also registered and the incident of buffer memory from the request correspondence of VM, and by announcing processing sub to target VM transmission incident, the step of transmission incident is: according to the network connection information of current VM, and the event buffer position of positioning and communicating the opposing party VM correspondence; Current event type and parameter are registered in this event buffer; Interruption to communication the opposing party VM injection current event type correspondence; After finishing, Interrupt Process removes this incident in the event buffer;
1.2.3 revise online migration submodule, the online shift function that keeps the online migration submodule of VMM, add migration auxiliary process function, migration auxiliary process function with the interface that quickens between the kernel module of communicating by letter of online shift function and VM is: load in operating system and move the auxiliary process function submodule that is initialised when kernel module is quickened in communication and call; Receiving outside online migration order and by VMM after the original online shift function of online migration submodule is finished the migration of VM, migration auxiliary process function is activated; The flow process of migration auxiliary process and specific as follows: when the acceleration kernel module of communicating by letter is loaded with the interface of other submodule, the initialization submodule activation that the migration auxiliary process function of adding is communicated by letter and quickened kernel module, generate the current location number of VM, and in the current location of current VMM number table, add the ID of this VM and current location number, calling communication quickens the VM migration of kernel module and supports submodule, make the latter obtain a copy of this VM current location number, be used for when data transmission and connection closed, judging whether VM migration has taken place; After receiving outside online migration order and finishing the migration of VM by original online shift function, the migration auxiliary process function of adding in the online migration submodule is moved current VM the link control module preserved among the source VMM on the physical computer of preceding place, is sent and received among the target VMM after byte number is synchronized to migration, the online migration submodule of notification target VMM generates by the current location of migration VM number then, and upgrades the information in the current location number table;
Second step, adopt dummy machine system that communication between VM is quickened, concrete steps are:
2.1 VMM starts VM, the virtual unit management submodule of VMM is organized management to needing the VM that communicates acceleration in the dummy machine system;
2.2 required software environment is analyzed in communication acceleration and system call between the initialization submodule structure VM of communication acceleration kernel module;
2.3 the system call in kernel module reception application program or the external command is quickened in the communication in the VM client operating system, be transmitted to system call analyzer submodule, system call analyzer submodule at first bypasses and the irrelevant system call of network operation, select the system call classification relevant to handle then with network operation, finish the high-speed traffic based on shared drive between the VM on the same physical computer, method is:
2.3.1 if the classification of current system call is to set up network to connect, then:
2.3.1.1 connect the management and control submodule at first obtains group ID and the place physical computer thereof of current VM by VMM MAC Address, whether the virtual group ID that then judges communicating pair VM is identical, if the virtual unit ID of communicating pair difference, then need not to communicate acceleration, by the flow processing that the TCP network connects of setting up of operating system routine; If virtual unit ID is identical for communicating pair, judge then whether communicating pair is positioned on same the physical computer, handle by the following method:
2.3.1.1.1 if communicating pair is not positioned at same physical computer, then by the flow processing that the TCP network connects of setting up of operating system routine;
2.3.1.1.2 if communicating pair is positioned at same physical computer, and the link control module that the network of this system call correspondence connects is not added in the link control module table that connects in the management and control submodule as yet, then call the inter-domain sharing internal memory submodule of VMM, obtain the data buffer of source VM and target VM, the byte number that initialization has sent and received is 0, in the 2.2.1 shared drive buffer zone that VMM sets up in the step, create link control module, the initial value of link control module is set, divide and be used in the shared buffer that data send or receive, this connection of registration in connecting the management and control submodule at last is about to the corresponding link control module of this connection and adds in the link control module table;
2.3.2 if current system call is the data transmit operations, then:
Call the VM migration and support submodule 2.3.2.1 the data transfer management submodule of kernel module is quickened in communication, whether the corresponding current location during this VM current location number copy of judging its maintenance and VMM current location number are shown is number consistent; If consistent, show that communicating pair VM moves, change the 2.3.2.2 step and carry out sending based on the rapid data of shared drive; If it is inconsistent, show that migration has taken place this VM before carrying out this transmit operation, move auxiliary process: the current location in the current location that the online migration submodule that VM migration supports submodule to read VMM the is safeguarded number table number, and it is updated in the current location number copy of self maintained; For the data that send but be not received are as yet handled, the VM migration is supported the submodule inquiry to connect and whether has been registered the corresponding link control module of this connection in the management and control submodule:
If 2.3.2.1.1 registered, read the byte number that sends He received among the VMM, if the former is greater than the latter, then showing in the data buffer that 2.3.1.1.2 step distributed still has data not received by target VM, the data transfer management submodule waits for that the send buffer up to target VM is empty, and upgrade the byte number that has received among the VMM, otherwise show that data all are received; Reclaim current link control module and data buffer, data are sent from the mode based on shared drive transfer mode to, by the data transmitting flow processing that connects based on TCP of operating system routine based on Transmission Control Protocol;
If it is 2.3.2.1.2 unregistered, the data of data transfer management submodule wait on network are received and finish, judge that then migration back communicating pair is whether on same physical computer, if not, then still adopt mode to send data, by the data transmitting flow processing based on the TCP connection of operating system routine based on Transmission Control Protocol; If then migration back communicating pair is on same physical computer; Whether the group ID that judges the current VM that sends data is identical with the group ID of target VM: if identical, show that then migration opisthogenesis VM is positioned on the same physical computer with target VM and should adopts the shared drive mode that it is communicated by letter and quicken, need to set up connection based on shared drive, so current system call is set to this data transmit operation, changes the 2.3.1.1 step and carry out; If inequality, then still adopt mode based on Transmission Control Protocol, connect based on TCP according to the operating system old process and send data;
2.3.3 if current system call is the Data Receiving operation, then:
Call the VM migration and support submodule 2.3.3.1 the data transfer management submodule of kernel module is quickened in communication, whether the respective value during this VM current location number copy of judging its maintenance and VMM current location number are shown is consistent; If consistent, show that communicating pair VM moves, directly change the 2.3.3.2 step and carry out receiving based on the rapid data of shared drive; If it is inconsistent, show that migration has taken place this VM before carrying out this reception operation, move auxiliary process: at first read the current location number in the current location number table that the online migration submodule of VMM safeguards, and its VM migration that is updated to this VM is supported in the copy that submodule safeguards; For the data that send but be not received are as yet handled, inquiry connects whether registered the corresponding link control module of this connection in the management and control submodule:
If, read the byte number that sends He received among the VMM,, then show in the data buffer that the 2.3.1.1.2 step distributed to still have data not received by target VM if the former is greater than the latter 2.3.3.1.1 registered; Because migration back communicating pair is not on same physical computer, then when still having data not to be received, the data re-transmitting of the data buffer that at first please data receiver will be used for sending one time, after receiving the remaining data of transmission over networks, reclaim current link control module and data buffer, data are sent from the mode based on shared drive transfer mode to, connect based on TCP by the operating system old process and receive data based on Transmission Control Protocol;
If 2.3.3.1.2 unregistered, the data of data transfer management submodule wait target VM continuation reception data on network are received and finish; Judge migration back communicating pair then whether on same physical computer, if not, then still adopt mode to send data based on Transmission Control Protocol, connect based on TCP by the operating system old process and receive data; If then migration back communicating pair is on same physical computer; Whether the group ID that judges the current VM that receives data is identical with the group ID of source VM: if identical, show that then migration opisthogenesis VM is positioned on the same physical computer with target VM and should adopts the shared drive mode that it is communicated by letter and quicken, need to set up connection based on shared drive, so current system call is set to this Data Receiving operation, so that, change the 2.3.1.1 step then rebuilding this Data Receiving of connection back continuation; If inequality, then need not to quicken to communicate by letter with the shared drive mode, still adopt mode based on Transmission Control Protocol, connect based on TCP according to the operating system old process and receive data;
2.3.3.2 quickening the data transfer management submodule of kernel module, communication carries out receiving based on the rapid data of shared drive; The data transfer management submodule that kernel module is quickened in communication at first reads the link control module table that connects management and control submodule maintenance and management, judge whether to exist the corresponding connection of current reception operation, if do not exist, show that then communicating pair VM is not on same physical computer, changeing the operating system old process connects based on TCP and receives data, otherwise the virtual group ID that judges communicating pair VM is identical, if it is inequality, then changeing the operating system old process connects based on TCP and receives data, otherwise the mode according to shared drive receives data: if send buffer is not for empty, then target VM receives data wherein, and the data accepted byte number is increased corresponding value; If receive end of operation, then the Data Receiving flow process finishes, otherwise handles by the following method:
2.3.3.2.1 when this I/O is the unblock formula, change the 2.3.3 step;
2.3.3.2.2 when this I/O is block type, then this reception task is added to the sleep VM formation of the wait reception of link control module, the call operation systemic-function is slept, the announcement processing sub transmission transmission data event that quickens kernel module by communication until source VM wakes this task up, changes the 2.3.3 step;
2.3.4 if current system call is to close network to connect, then:
Whether consistent 2.3.4.1 the connection management and control submodule of kernel module is quickened in communication if calling this VM current location number copy that the VM migration supports that submodule judges its maintenance and the VMM current location respective value in number showing; If consistent, show that communicating pair VM moves, directly change the 2.3.4.2 step and close connection; If it is inconsistent, show that migration has taken place VM before being about to close the network connection, move auxiliary process: at first read the current location number in the current location number table that the online migration submodule of VMM safeguards, and its VM migration that is updated to this VM is supported in the copy that submodule safeguards; For the data that send but be not received are as yet handled, inquiry connects whether registered the corresponding link control module of this connection in the management and control submodule:
If, read the byte number that sends He received among the VMM, if the former greater than the latter, then shows to still have data not to be received 2.3.4.1.1 registered; When still having data not to be received, because migration back communicating pair VM is not on a physical computer, if current VM is source VM, wait for that then the send buffer up to target VM is sky, if current VM is target VM, the data re-transmitting of the data buffer that then please data receiver will be used for sending one time, and receive the retransmission data of transmission over networks;
If 2.3.4.1.2 unregistered, judge that then current VM is source VM or target VM, if be source VM, wait for then that data until online transmission are received to finish; If current VM is target VM, then read the remaining data of transmission over networks;
2.3.4.2 communication is quickened the data transfer management submodule of kernel module and is read the link control module table that connects management and control submodule maintenance and management, judge whether to exist the corresponding connection of current operation, if do not exist, then change the operating system old process and close the TCP connection, otherwise whether the opposing party VM that judges communication is in sleep, if it is slept, then ask the announcement management submodule of VMM to send incident to the other side by event buffer, be used to notify latter's network to connect to have disconnected and can discharge the data buffer, announcement management submodule passes through the incident of VMM and injects the interruption that submodule injects the current event correspondence to VM, and the announcement processing sub that kernel module is quickened in the communication among the VM receives interruption;
2.3.4.3 the inter-domain sharing internal memory submodule that calls VMM judges to discharge both sides' data buffer whether the other side has closed connection, if close, then reclaims current link control module by connecting the management and control submodule;
2.4 it is that addr, affiliated group of ID are that gid, group key are the VM of key that VMM closes IP, the virtual unit management submodule of VMM is this VM of deletion from group.
2. high-speed traffic method between the virtual machine of the online migration of support as claimed in claim 1 is characterized in that described link control module data structure comprises following information: the VM both sides' of communication IP address and port numbers; I/O mode flags position; One sends buffer zone and a send buffer, sends the buffer zone physical memory corresponding different with send buffer, and local reception buffer zone and transmission buffer zone are far shared with a slice physical memory.
3. high-speed traffic method between the virtual machine of the online migration of support as claimed in claim 1 is characterized in that described virtual unit management submodule to the method that the VM that needs to communicate acceleration in the dummy machine system organizes management is:
3.1 it is addr that the IP of VM is set according to the property value in the VM configuration file, group ID is gid under it, has the VM of communication acceleration demand to be assigned with identical group ID, and group key is key;
3.2 judge whether it is the VM that the virtual unit ID of startup is gid on this VMM first:
If 3.2.1 then virtual unit management submodule is created the virtual unit that is numbered gid, its access key is key;
3.2.2 if not, then obtain gid corresponding virtual unit and judge whether the key that provides is consistent with the key of virtual unit: if consistent, then create the virtual unit that is numbered gid, its access key is key, this VM of registration in the VM of virtual unit chained list, inter-domain sharing internal memory submodule in VMM sends request, creates event buffer by the latter for this VM; If inconsistent, then report " VM starts failure " information.
4. high-speed traffic method between the virtual machine of the online migration of support as claimed in claim 1 is characterized in that described initialization submodule makes up between VM that communication is quickened and the method for the software environment that the system call analysis is required is:
4.1 initialization submodule solicit operation system keeps continuous virtual address space, and send request to the inter-domain sharing internal memory submodule of VMM, set up the shared drive buffer zone by VMM, be used to deposit link control module information, data waiting for transmission and the pending incident of the VM of intercommunication mutually;
4.2 the initialization submodule obtains the IP address of current VM and the MAC Address of place physical computer thereof, calls the online migration submodule of VMM, by function conversion, generates the unique tick lables information of each VM in this dummy machine system---current location number; The online migration submodule of VMM is that in shared buffer all VM safeguard a current location number table, the up-to-date current location of the ID of each VM and this VM number in the storage virtual machine system; After generating current location number, the initialization submodule calls among the ID and current location adding table thereof of online migration submodule with this VM, and the VM migration that calling communication quickens kernel module supports submodule, makes the latter obtain and safeguards a copy of the current location number of this VM.
5. high-speed traffic method between the virtual machine of the online migration of support as claimed in claim 1 is characterized in that described virtual unit management submodule deletion IP from group is that addr, affiliated group of ID are that gid, group key are that the method for the VM of key is:
5.1 virtual unit management submodule obtains gid corresponding virtual unit;
5.2 judge whether the key that provides is consistent with the key of virtual unit, if inconsistent, then newspaper " Insufficient privilege, VM deletes failure " information goes to the operating system old process;
Handle incident in the event buffer of current VM 5.3 call announcement management submodule, when event buffer is sky, call the shared internal memory of inter-domain sharing internal memory submodule release event buffer zone;
Carry out conventional VM deletion flow process 5.4 call VMM:
If 5.4.1 the deletion failure, then newspaper " VM deletes failure " goes to the operating system old process;
If, then current VM is deleted from this virtual unit information, and report " VM deletes successfully " 5.4.2 delete successfully; VMM judges that whether current virtual unit is empty, if be empty, then discharges the shared memory headroom of this virtual unit link control module table, and deletion group ID is the virtual unit of gid, report " the virtual unit of organizing ID and be gid is deleted ".
CN2010101989709A 2010-06-12 2010-06-12 Quick communication method between virtual machines supporting online migration Expired - Fee Related CN101859263B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101989709A CN101859263B (en) 2010-06-12 2010-06-12 Quick communication method between virtual machines supporting online migration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101989709A CN101859263B (en) 2010-06-12 2010-06-12 Quick communication method between virtual machines supporting online migration

Publications (2)

Publication Number Publication Date
CN101859263A true CN101859263A (en) 2010-10-13
CN101859263B CN101859263B (en) 2012-07-25

Family

ID=42945184

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101989709A Expired - Fee Related CN101859263B (en) 2010-06-12 2010-06-12 Quick communication method between virtual machines supporting online migration

Country Status (1)

Country Link
CN (1) CN101859263B (en)

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102122255A (en) * 2011-03-15 2011-07-13 合肥华云通信技术有限公司 Method for realizing inter-process communication in Linux system by utilizing virtual character equipment and genetlink
CN102185774A (en) * 2011-05-10 2011-09-14 中兴通讯股份有限公司 Method, monitor and system for seamless migration of virtual machine
CN102333037A (en) * 2011-10-20 2012-01-25 中兴通讯股份有限公司 Method and device for migrating virtual machine
CN102567073A (en) * 2010-11-08 2012-07-11 微软公司 Insertion of management agents during machine deployment
WO2012119423A1 (en) * 2011-08-29 2012-09-13 华为技术有限公司 Method and device for automatically migrating system configuration item
CN103064733A (en) * 2011-10-20 2013-04-24 电子科技大学 Cloud computing virtual machine live migration technology
CN103124274A (en) * 2011-11-18 2013-05-29 中兴通讯股份有限公司 Method and device for virtually scheduling cloud computing
CN103294958A (en) * 2013-05-21 2013-09-11 中国人民解放军国防科学技术大学 Kernel-level virtual polymerization and parallel encryption method for class-oriented Linux system
WO2013155792A1 (en) * 2012-04-16 2013-10-24 中兴通讯股份有限公司 Method and device for implementing communications between virtual machines based on scheduling layer
CN103425500A (en) * 2012-05-14 2013-12-04 腾讯科技(深圳)有限公司 Method and device of loading and running for portable equipment applications
CN103729233A (en) * 2013-12-20 2014-04-16 中电长城网际系统应用有限公司 Multiple virtual machines management method and device
CN104184729A (en) * 2014-08-20 2014-12-03 杭州华三通信技术有限公司 Message processing method and device
CN104615485A (en) * 2015-03-02 2015-05-13 中国人民解放军国防科学技术大学 Dynamic transparent switching method for virtual machine inter-domain communication mode
CN104951357A (en) * 2014-03-28 2015-09-30 华为技术有限公司 Parallel user state protocol stack management method and protocol stack system
CN106326044A (en) * 2015-06-30 2017-01-11 华为技术有限公司 Network interface card fault injection methods and apparatuses
WO2017032223A1 (en) * 2015-08-24 2017-03-02 华为技术有限公司 Virtual machine deployment method and apparatus
CN106997306A (en) * 2016-01-26 2017-08-01 阿里巴巴集团控股有限公司 Physical machine Data Migration to high in the clouds methods, devices and systems
CN108848098A (en) * 2018-06-26 2018-11-20 宿州学院 A kind of the communication channel management method and system of embedded type terminal equipment
CN109101319A (en) * 2018-08-09 2018-12-28 郑州云海信息技术有限公司 It is a kind of to realize TPCM fully virtualized platform and its working method on QEMU
CN109155742A (en) * 2016-03-24 2019-01-04 阿尔卡特朗讯 The method of migration for virtual network function
CN109361693A (en) * 2018-11-21 2019-02-19 南京中孚信息技术有限公司 Virtual unit communication means and device
CN109426547A (en) * 2017-09-04 2019-03-05 华为技术有限公司 A kind of thermomigration process of virtual machine, device and system
CN110262875A (en) * 2019-06-25 2019-09-20 苏州浪潮智能科技有限公司 The communication means and system of Windows virtual machine and KVM host based on patch mechanism
WO2019237261A1 (en) * 2018-06-12 2019-12-19 华为技术有限公司 Memory management method, device and system
CN111488247A (en) * 2020-04-08 2020-08-04 上海云轴信息科技有限公司 High-availability method and device for managing and controlling multiple fault tolerance of nodes
CN111796902A (en) * 2019-04-08 2020-10-20 维塔科技(北京)有限公司 Method and device for switching shared memory area, storage medium and electronic equipment
CN112351089A (en) * 2020-10-29 2021-02-09 苏州浪潮智能科技有限公司 Data transmission method, system and device between virtual machine and accelerator
CN113228576A (en) * 2019-08-06 2021-08-06 华为技术有限公司 Method and device for processing data in network
CN113301004A (en) * 2020-06-17 2021-08-24 阿里巴巴集团控股有限公司 Data processing method and device, communication method and single-network-card virtual machine
CN113302901A (en) * 2019-01-30 2021-08-24 华为技术有限公司 Method and system for cloud application and service integration using pattern-based discovery
CN114237818A (en) * 2021-12-01 2022-03-25 科东(广州)软件科技有限公司 Method, system, computing device and storage medium for sharing resources among virtual machines
CN116049096A (en) * 2022-05-05 2023-05-02 荣耀终端有限公司 Data migration method, electronic equipment and storage medium
CN116149820A (en) * 2023-02-20 2023-05-23 亿咖通(湖北)技术有限公司 Xen-based inter-domain communication method, device, equipment and storage medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108694092B (en) * 2018-05-11 2021-01-15 华中科技大学 Container communication method and system for parallel application

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080270564A1 (en) * 2007-04-25 2008-10-30 Microsoft Corporation Virtual machine migration
CN101383781A (en) * 2008-10-30 2009-03-11 中国人民解放军国防科学技术大学 Virtual inter-domain short message communicating method
CN101430674A (en) * 2008-12-23 2009-05-13 北京航空航天大学 Intraconnection communication method of distributed virtual machine monitoring apparatus
CN101436966A (en) * 2008-12-23 2009-05-20 北京航空航天大学 Network monitoring and analysis system under virtual machine circumstance
CN101493797A (en) * 2009-03-12 2009-07-29 华为技术有限公司 Data dynamic migration method and device
CN101561769A (en) * 2009-05-25 2009-10-21 北京航空航天大学 Process migration tracking method based on multi-core platform virtual machine
WO2010029123A1 (en) * 2008-09-15 2010-03-18 International Business Machines Corporation Securing live migration of a virtual machine within a service landscape

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080270564A1 (en) * 2007-04-25 2008-10-30 Microsoft Corporation Virtual machine migration
WO2010029123A1 (en) * 2008-09-15 2010-03-18 International Business Machines Corporation Securing live migration of a virtual machine within a service landscape
CN101383781A (en) * 2008-10-30 2009-03-11 中国人民解放军国防科学技术大学 Virtual inter-domain short message communicating method
CN101430674A (en) * 2008-12-23 2009-05-13 北京航空航天大学 Intraconnection communication method of distributed virtual machine monitoring apparatus
CN101436966A (en) * 2008-12-23 2009-05-20 北京航空航天大学 Network monitoring and analysis system under virtual machine circumstance
CN101493797A (en) * 2009-03-12 2009-07-29 华为技术有限公司 Data dynamic migration method and device
CN101561769A (en) * 2009-05-25 2009-10-21 北京航空航天大学 Process migration tracking method based on multi-core platform virtual machine

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《计算机应用研究》 20090430 李志伟,吴庆波,谭郁松 基于设备代理机制的虚拟机动态迁移技术研究 第26卷, 第4期 *

Cited By (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567073B (en) * 2010-11-08 2014-11-26 微软公司 Insertion of management agents during machine deployment
CN102567073A (en) * 2010-11-08 2012-07-11 微软公司 Insertion of management agents during machine deployment
CN102122255B (en) * 2011-03-15 2012-09-05 合肥华云通信技术有限公司 Method for realizing inter-process communication in Linux system by utilizing virtual character equipment and genetlink
CN102122255A (en) * 2011-03-15 2011-07-13 合肥华云通信技术有限公司 Method for realizing inter-process communication in Linux system by utilizing virtual character equipment and genetlink
CN102185774A (en) * 2011-05-10 2011-09-14 中兴通讯股份有限公司 Method, monitor and system for seamless migration of virtual machine
US9171053B2 (en) 2011-08-29 2015-10-27 Huawei Technologies Co., Ltd. Method and device for automatic migration of system configuration item
WO2012119423A1 (en) * 2011-08-29 2012-09-13 华为技术有限公司 Method and device for automatically migrating system configuration item
CN103064733A (en) * 2011-10-20 2013-04-24 电子科技大学 Cloud computing virtual machine live migration technology
CN102333037A (en) * 2011-10-20 2012-01-25 中兴通讯股份有限公司 Method and device for migrating virtual machine
CN103124274A (en) * 2011-11-18 2013-05-29 中兴通讯股份有限公司 Method and device for virtually scheduling cloud computing
WO2013155792A1 (en) * 2012-04-16 2013-10-24 中兴通讯股份有限公司 Method and device for implementing communications between virtual machines based on scheduling layer
CN103425500A (en) * 2012-05-14 2013-12-04 腾讯科技(深圳)有限公司 Method and device of loading and running for portable equipment applications
CN103294958B (en) * 2013-05-21 2015-07-22 中国人民解放军国防科学技术大学 Kernel-level virtual polymerization and parallel encryption method for class-oriented Linux system
CN103294958A (en) * 2013-05-21 2013-09-11 中国人民解放军国防科学技术大学 Kernel-level virtual polymerization and parallel encryption method for class-oriented Linux system
CN103729233A (en) * 2013-12-20 2014-04-16 中电长城网际系统应用有限公司 Multiple virtual machines management method and device
CN104951357A (en) * 2014-03-28 2015-09-30 华为技术有限公司 Parallel user state protocol stack management method and protocol stack system
CN104951357B (en) * 2014-03-28 2018-06-26 华为技术有限公司 The management method and protocol stack system of concurrent user state protocol stack
CN104184729A (en) * 2014-08-20 2014-12-03 杭州华三通信技术有限公司 Message processing method and device
CN104184729B (en) * 2014-08-20 2018-05-08 新华三技术有限公司 A kind of message processing method and device
CN104615485A (en) * 2015-03-02 2015-05-13 中国人民解放军国防科学技术大学 Dynamic transparent switching method for virtual machine inter-domain communication mode
CN104615485B (en) * 2015-03-02 2017-07-14 中国人民解放军国防科学技术大学 A kind of dynamically transparent changing method of virtual machine inter-domain communication pattern
CN106326044A (en) * 2015-06-30 2017-01-11 华为技术有限公司 Network interface card fault injection methods and apparatuses
CN106326044B (en) * 2015-06-30 2019-09-03 华为技术有限公司 A kind of net card failure method for implanting and device
WO2017032223A1 (en) * 2015-08-24 2017-03-02 华为技术有限公司 Virtual machine deployment method and apparatus
CN106997306A (en) * 2016-01-26 2017-08-01 阿里巴巴集团控股有限公司 Physical machine Data Migration to high in the clouds methods, devices and systems
US11223702B2 (en) 2016-03-24 2022-01-11 Alcatel Lucent Method for migration of virtual network function
CN109155742A (en) * 2016-03-24 2019-01-04 阿尔卡特朗讯 The method of migration for virtual network function
CN109426547A (en) * 2017-09-04 2019-03-05 华为技术有限公司 A kind of thermomigration process of virtual machine, device and system
US11604670B2 (en) 2017-09-04 2023-03-14 Huawei Technologies Co., Ltd. Virtual machine live migration method, apparatus, and system
CN109426547B (en) * 2017-09-04 2022-05-17 华为技术有限公司 Thermal migration method, device and system of virtual machine
WO2019237261A1 (en) * 2018-06-12 2019-12-19 华为技术有限公司 Memory management method, device and system
US11416394B2 (en) 2018-06-12 2022-08-16 Huawei Technologies Co., Ltd. Memory management method, apparatus, and system
CN108848098B (en) * 2018-06-26 2021-02-23 宿州学院 Communication channel management method and system of embedded terminal equipment
CN108848098A (en) * 2018-06-26 2018-11-20 宿州学院 A kind of the communication channel management method and system of embedded type terminal equipment
CN109101319A (en) * 2018-08-09 2018-12-28 郑州云海信息技术有限公司 It is a kind of to realize TPCM fully virtualized platform and its working method on QEMU
CN109101319B (en) * 2018-08-09 2021-07-27 郑州云海信息技术有限公司 Working method of platform for realizing TPCM full virtualization on QEMU
CN109361693A (en) * 2018-11-21 2019-02-19 南京中孚信息技术有限公司 Virtual unit communication means and device
CN109361693B (en) * 2018-11-21 2020-11-24 南京中孚信息技术有限公司 Virtual device communication method and device
CN113302901A (en) * 2019-01-30 2021-08-24 华为技术有限公司 Method and system for cloud application and service integration using pattern-based discovery
CN111796902A (en) * 2019-04-08 2020-10-20 维塔科技(北京)有限公司 Method and device for switching shared memory area, storage medium and electronic equipment
CN111796902B (en) * 2019-04-08 2024-03-19 维塔科技(北京)有限公司 Method and device for switching shared memory area, storage medium and electronic equipment
CN110262875B (en) * 2019-06-25 2021-04-27 苏州浪潮智能科技有限公司 Communication method and system of Windows virtual machine and KVM host based on patch mechanism
CN110262875A (en) * 2019-06-25 2019-09-20 苏州浪潮智能科技有限公司 The communication means and system of Windows virtual machine and KVM host based on patch mechanism
CN113228576A (en) * 2019-08-06 2021-08-06 华为技术有限公司 Method and device for processing data in network
US12021955B2 (en) 2019-08-06 2024-06-25 Huawei Technologies Co., Ltd. Method and apparatus for processing data in a network
CN113228576B (en) * 2019-08-06 2022-10-04 华为技术有限公司 Method and device for processing data in network
CN111488247B (en) * 2020-04-08 2023-07-25 上海云轴信息科技有限公司 High availability method and equipment for managing and controlling multiple fault tolerance of nodes
CN111488247A (en) * 2020-04-08 2020-08-04 上海云轴信息科技有限公司 High-availability method and device for managing and controlling multiple fault tolerance of nodes
CN113301004B (en) * 2020-06-17 2023-05-09 阿里巴巴集团控股有限公司 Data processing method, device, communication method and single-network-card virtual machine
CN113301004A (en) * 2020-06-17 2021-08-24 阿里巴巴集团控股有限公司 Data processing method and device, communication method and single-network-card virtual machine
CN112351089A (en) * 2020-10-29 2021-02-09 苏州浪潮智能科技有限公司 Data transmission method, system and device between virtual machine and accelerator
CN114237818A (en) * 2021-12-01 2022-03-25 科东(广州)软件科技有限公司 Method, system, computing device and storage medium for sharing resources among virtual machines
CN116049096A (en) * 2022-05-05 2023-05-02 荣耀终端有限公司 Data migration method, electronic equipment and storage medium
CN116049096B (en) * 2022-05-05 2024-04-16 荣耀终端有限公司 Data migration method, electronic equipment and storage medium
CN116149820A (en) * 2023-02-20 2023-05-23 亿咖通(湖北)技术有限公司 Xen-based inter-domain communication method, device, equipment and storage medium
CN116149820B (en) * 2023-02-20 2024-02-06 亿咖通(湖北)技术有限公司 Xen-based inter-domain communication method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN101859263B (en) 2012-07-25

Similar Documents

Publication Publication Date Title
CN101859263B (en) Quick communication method between virtual machines supporting online migration
CN101465863B (en) Method for implementing high-efficiency network I/O in kernel virtual machine circumstance
CN101557420B (en) Realization method of high-efficiency network communication of a virtual machine monitor
CN101765225B (en) Virtual cluster management method and cluster node
CN104094231B (en) For the system and method for the dynamic migration for supporting the virtual machine in InfiniBand network
CN101901207B (en) Operating system of heterogeneous shared storage multiprocessor system and working method thereof
CN101436966B (en) Network monitoring and analysis system under virtual machine circumstance
CN100549964C (en) Messaging device, Interrupt Process control method
CN100399273C (en) System of virtual machine, and method for configuring hardware
CN102609298B (en) Based on network interface card virtualization system and the method thereof of hardware queue expansion
CN101430674B (en) Intraconnection communication method of distributed virtual machine monitoring apparatus
CN103942178A (en) Communication method between real-time operating system and non-real-time operating system on multi-core processor
Ren et al. Shared-memory optimizations for inter-virtual-machine communication
CN101211271A (en) Controlling virtual machines based on activity state
CN101968746A (en) Method for implementing organizational architecture mode of kernel-based virtual machine (KVM)
CN101535965A (en) Technique for improving scalability and portability of a storage management system
CN103593189A (en) Method for implementing user mode drive program in embedded Linux
CN102664953B (en) High flux distributed type simulation support platform, system and simulation method based on high level architecture (HLA)
CN102541616A (en) Embedded operating system virtual machine and implementation method thereof
CN102073501A (en) Method for implementing central controller of network equipment based on logic functional block
CN109918230A (en) A kind of business board abnormal restoring method and system
Abrossimov et al. Virtual memory management in Chorus
CN112433826B (en) Hybrid heterogeneous virtualization communication method and chip
CN102147840B (en) Method for realizing network control through virtual machine
WO2024007934A1 (en) Interrupt processing method, electronic device, and storage medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120725

Termination date: 20190612

CF01 Termination of patent right due to non-payment of annual fee