CN119544824A - Network connection thermal migration method and corresponding device - Google Patents
Network connection thermal migration method and corresponding device Download PDFInfo
- Publication number
- CN119544824A CN119544824A CN202311840896.XA CN202311840896A CN119544824A CN 119544824 A CN119544824 A CN 119544824A CN 202311840896 A CN202311840896 A CN 202311840896A CN 119544824 A CN119544824 A CN 119544824A
- Authority
- CN
- China
- Prior art keywords
- socket
- network
- client
- server
- target application
- 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.)
- Pending
Links
- 238000013508 migration Methods 0.000 title claims abstract description 222
- 230000005012 migration Effects 0.000 title claims abstract description 221
- 238000000034 method Methods 0.000 title claims abstract description 127
- 238000012545 processing Methods 0.000 claims description 68
- 230000006854 communication Effects 0.000 claims description 35
- 238000004891 communication Methods 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 14
- 230000008859 change Effects 0.000 abstract description 7
- 238000007726 management method Methods 0.000 description 35
- 230000008569 process Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 14
- 206010047289 Ventricular extrasystoles Diseases 0.000 description 9
- 238000005129 volume perturbation calorimetry Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
The application provides a network connection hot migration method, which comprises the steps that a client is connected with a server in a first network through a first socket when a target application is operated, a second socket used for being connected with the server in a second network can be created, and the first socket pointed by a file descriptor of the target application is replaced by the second socket, so that the file descriptor points to the second socket, and the network connection hot migration of the client is realized. Likewise, the server may implement network connection hot migration by replacing a socket. Therefore, after the client/server can be thermally migrated through the network connection, the second socket is communicated with the server/client in the new network through the file description Fu Diaoyong without change, so that the service engagement of the application can be kept to continue to run at the position before the migration, the risk of service interruption caused by the network connection thermal migration is reduced, and the running efficiency of the target application is improved.
Description
The present application claims priority from the chinese patent application filed on day 31 of 2023 at month 08, filed on the national intellectual property office with application number 202311117582.7, entitled "method for application migration and corresponding apparatus", the entire contents of which are incorporated herein by reference.
Technical Field
The application relates to the technical field of communication, in particular to a network connection thermal migration method and a corresponding device.
Background
With the development of internet protocol (internet protocol, IP), the addresses of internet protocol fourth version (internet protocol version, ipv 4) networks have been exhausted, and all cloud vendors are currently promoting internet protocol sixth version (internet protocol version, ipv 6) networks. However, since IPv4 has been developed for decades, most Applications (APP) and networks do not consider IPv6 and only support IPv4.
Aiming at the current IPv4 network, an IPv4/IPv6 dual stack can be opened by replacing a switch and router equipment, so that the network connection gradually has the capability of supporting IPv 6. Thus, an application running under an IPv4 network may also migrate from the IPv4 network to the IPv6 network.
Because there is no IPv4 address or route in the IPv6 network, when the application is migrated from the IPv4 network to the IPv6 network, network connection interruption occurs, and after a new network connection is established between the IPv6 network and a server in the corresponding IPv6 network, the client which needs to run the application can restart the application and re-run the application, and the client cannot link up to a position where the application runs before the network connection is subjected to hot migration to continue running, thereby reducing the running efficiency of the application.
Disclosure of Invention
The application provides a network connection thermomigration method, which is used for keeping the application to continue to run at the position where the application can run before migration under the condition that thermomigration occurs to the network connection of the application, so that the running efficiency of the application is improved. The application also provides a corresponding apparatus, system, computer readable storage medium, computer program product, etc.
The first aspect of the application provides a network connection hot migration method, which is applied to a client, wherein the client runs a target application, the target application is connected with a first service end in a first network through a first socket of file description Fu Diaoyong, the client is to be migrated to a second network, a second service end for receiving a target application access request exists in the second network, the method comprises the steps of obtaining configuration information of the target application, wherein the configuration information comprises access information of the client in the second network and access information of the second service end in the second network, creating a second socket according to the configuration information, the second socket is used for connecting the client with the second service end in the second network, the second service end is the first service end migrated from the first network to the second network, the first socket is replaced by the second socket, the target application is enabled to use a file descriptor to point to the second socket, and the file descriptor is used for calling the second service end when the client runs the target application in the second network.
In the present application, the first network and the second network may be the same network or may be different networks, and when the first network and the second network are different, for example, the first network may be an internet protocol fourth version (internet protocol version, ipv 4) network, and the second network may be an internet protocol sixth version (internet protocol version, ipv 6) network. The network migration may be from an IPv4 network to an IPv6 network, or may be within an IPv4 network, or may be within an IPv6 network, or may be within another network, or may be from an IPv4 network/IPv 6 network to another network, or may be from another network to an IPv4 network/IPv 6 network. In the present application, migration inside the same network refers to replacing the connected IP address and port number in the same network.
In the first aspect, the network connection thermal migration refers to network connection thermal migration of a client, which is to migrate the client in a connection state from a first service end of a first network to a second service end of a second network, or from the first service end of the first network to the second service end in the first network, that is, the client performs thermal migration from connection with the first service end, and after the thermal migration is completed, the client is connected with the second service end. The second server may be a first server migrated from the first network to the second network, where the device itself is unchanged, but only the access information connected to the client is changed, and of course, the second server may also be another server running the target application, and not the original first server.
In the present application, both the client and the server (the first server and/or the second server) may be deployed on the cloud, and both the client and the server may be Virtual Machines (VMs), containers, or hosts (host).
In the present application, the file descriptor (filedescriptor, fd) may be a handle represented by an unsigned integer that is used by the process to identify the open file. The file descriptor is associated with a file object that includes related information, which may be an open mode of the file, a location type of the file, an initial type of the file, etc., which is also referred to as a context of the file. A file descriptor may be understood as an index that may point to a socket used for communication.
In the present application, a socket (socket) is a basic operation unit supporting network communication of transmission control protocol/internet protocol (transmission control protocol/internet protocol, TCP/IP), and can be used for bidirectional communication of processes between different hosts.
In the first aspect, a connection between the client and the second server is established through the second socket, and then the first socket is replaced by the second socket, so that the target application points to the second socket by using the file descriptor. Because the file descriptor of the target application does not change after the network connection is subjected to the thermal migration, the target application can be continuously operated in the migrated network by using the file descriptor after the network connection is subjected to the thermal migration, and if the second service end is the first service end migrated to the second network, the service of the target application can be continuously operated at the position before the migration without restarting the operation, so that the risk of interruption of the service corresponding to the target application due to the network connection is reduced, and the operation efficiency of the application is improved.
In one possible implementation, the step of replacing the first socket with the second socket such that the target application points to the second socket with the file descriptor includes replacing the first socket with the second socket to update the correspondence of the file descriptor with the first socket to the correspondence of the file descriptor with the second socket such that the target application points to the second socket with the file descriptor.
In this possible implementation manner, fd corresponds to the socket, and if the first socket is replaced by the second socket, the correspondence between fd of the target application and the first socket is updated, and the correspondence between fd of the target application and the second socket is updated. Thus, the second server can be accurately accessed when the client runs the target application after the thermal migration.
In a possible implementation manner, the configuration information further includes application information of the target application, and the method further includes:
and determining the target application according to the application information of the target application.
In this possible implementation manner, the application information of the target application may be an identifier of the target application, and the application information of the target application is issued in the configuration information, so that accuracy of thermal migration may be improved.
In a possible implementation manner, when the access information of the client in the second network has a plurality of address information, the configuration information further comprises the existing connection information of the client and the first service end in the first network, and the method further comprises determining the address information of the client in the second network according to the address information of the client in the existing connection information.
In this possible implementation, the address information may include an internet protocol (internet protocol, IP) address and a port number, where any one of the IP address and the port number is different, indicating different address information. If the access information of the configuration information for the client includes a plurality of address information, the client needs to determine address information suitable for migration by using the existing connection, for example, selecting the address information with the same port number as the address information of the client in the second network. In this way, the efficiency of the thermomigration can be improved.
In a possible implementation manner, when the access information of the second service end in the second network has a plurality of address information, the configuration information further comprises the existing connection information of the client end and the first service end in the first network, and the method further comprises determining the address information of the second service end in the second network according to the address information of the first service end in the existing connection information.
In this possible implementation manner, the address information of the second service end in the second network is determined by the address information of the first service end in the existing connection. In this way, the efficiency of the thermomigration can be improved.
In a possible implementation manner, the access information of the client on the second network comprises an Internet Protocol (IP) address and a port number of the client on the second network, and the steps of creating the second socket according to the configuration information comprise creating the second socket and binding the IP address and the port number of the client on the second network with the second socket.
In one possible design, the process of creating the second socket, and binding, may be accomplished by a migration thread.
In the application, the migration thread (socket MIGRATE THREAD) can enter and exit the kernel of the client, so that the second socket can be created in the kernel state, and other contents related to the second socket can be subsequently created.
In this possible implementation manner, after the second socket is created, the IP address and the port number of the second socket and the client in the second network, and the IP address and the port number of the first server in the second network are bound, so that the client can be migrated into the second network, and the speed of accessing the second server by the subsequent client can be improved.
In a possible implementation manner, after the second socket is created according to the configuration information, the method further includes:
and connecting to the second server according to the access information of the first server in the second network by using the second socket.
In this possible implementation manner, the migration thread establishes connection between the client and the second server through the second socket, so that the efficiency of network connection hot migration is improved.
In one possible implementation, the step of replacing the first socket with the second socket includes determining a file descriptor of the target application according to the access information of the client in the first network and the access information of the first server in the first network, and replacing the first socket pointed to by the file descriptor with the second socket.
In this possible implementation manner, the file descriptor of the current target application communication can be determined by using the access information of the client in the first network and the access information of the first server in the first network, so that the corresponding first socket can be found, and then the socket replacement is completed. The first socket can be quickly and accurately found through the file description Fu Chazhao.
In one possible implementation, the method further includes releasing the first socket after replacing the first socket with the second socket. Alternatively, the first socket may be released by exiting the migration thread.
In the possible implementation manner, the migration thread can exit after the network connection hot migration is completed, so that the first socket is released, the resources used by the migration thread are also released, and the utilization rate of the resources can be improved.
In a possible implementation manner, after obtaining the configuration information of the target application, the method further comprises suspending the running of the target application, and after replacing the first socket with the second socket, the method further comprises restoring the target application to the running state.
In this possible implementation, the "pause" time is very short, which can be understood as the black hole time of the hot migration, and this pause does not cause service interruption, but rather, the pause for a short time makes no new message generated during the hot migration of the network connection, so that the problem of discontinuous data caused by the connection migration can be avoided.
In a possible implementation manner, before obtaining the configuration information of the target application connected by the network to be migrated, the method further comprises loading the migration module, and after restoring the target application to the running state through the migration module, unloading the migration module.
In this possible implementation manner, the migration module may be used to start a migration thread for accessing the kernel of the client, load the migration module when the network connection needs to be migrated, and unload the migration module after the migration is completed, so that the resource utilization rate of the client may be improved.
The second aspect of the application provides a network connection hot migration method, which is applied to a server, the server runs a target application, the target application is connected with a first client in the first network through a first socket of file description Fu Diaoyong, the server is to be migrated to a second network, a second client used for sending a target application access request exists in the second network, the method comprises the steps of obtaining configuration information of the target application, the configuration information comprises access information of the server in the second network and access information of the second client in the second network, a second socket is created according to the configuration information, the second socket is used for the server to connect the second client in the second network, the second client is the first client migrated from the first network to the second network, the first socket is replaced by the second socket, the target application is enabled to point to the second socket by using a file descriptor, and the file descriptor is used for calling the second socket to communicate with the second client when the target application is run by the second network.
Alternatively, the second client may be the first client migrated from the first network, and of course, the second client may be another client running the target application.
In the second aspect, the network connection hot migration refers to network connection hot migration of a service end, and the service end in a connection state is migrated from a first client of a first network to a second client of a second network, or from the first client of the first network to the second client of the first network, that is, the service end is migrated from a connection with the first client, and after the migration, the service end is connected with the second client. The first client and the second client in the same network may be two different devices, or may be the same device, but different IP addresses and port numbers.
In this second aspect, a connection of the server to the second client is established through the second socket, and then the first socket is replaced with the second socket such that the file descriptor of the target application points to the second socket. Because the file descriptor of the target application does not change after the network connection is subjected to the thermal migration, the file descriptor can be used for continuously running the target application in the migrated network after the network connection is subjected to the thermal migration, and when the second client is the first client migrated from the first network, the service of the target application can be connected to continue running at the position before the migration without restarting the running, so that the risk that the service corresponding to the target application is interrupted due to the network connection is reduced, and the running efficiency of the application is improved.
In a possible implementation, the step of replacing the first socket with the second socket so that the target application points to the second socket with the file descriptor includes replacing the first socket with the second socket to update the correspondence of the file descriptor with the first socket to the correspondence of the file descriptor with the second socket so that the target application points to the second socket with the file descriptor.
In this possible implementation manner, fd corresponds to the socket, and if the first socket is replaced by the second socket, the correspondence between fd of the target application and the first socket is updated, and the correspondence between fd of the target application and the second socket is updated. Thus, the server can accurately communicate with the second client when the target application is operated after the thermal migration.
In a possible implementation manner, the configuration information further includes application information of the target application, and the method further includes:
and determining the target application according to the application information of the target application.
In this possible implementation manner, the application information of the target application may be an identifier of the target application, and the application information of the target application is issued in the configuration information, so that accuracy of thermal migration may be improved.
In a possible implementation manner, when the access information of the server side in the second network has a plurality of address information, the configuration information further comprises the existing connection information of the server side and the first client side in the first network, and the method further comprises determining the address information of the server side in the second network according to the address information of the server side in the existing connection information.
In this possible implementation, the address information of the server in the second network is determined by the address information of the server in the existing connection. In this way, the efficiency of the thermomigration can be improved.
In a possible implementation manner, when the access information of the second client in the second network has a plurality of address information, the configuration information further comprises the existing connection information of the server and the first client in the first network, and the method further comprises determining the address information of the second client in the second network according to the address information of the first client in the existing connection information.
In this possible implementation, the address information of the second client in the second network is determined by the address information of the first client in the existing connection. In this way, the efficiency of the thermomigration can be improved.
In a possible implementation manner, the access information of the server side in the second network comprises an Internet Protocol (IP) address and a port number of the server side in the second network, and the steps of creating the second socket according to the configuration information comprise creating the second socket and binding the IP address and the port number of the second socket and the server side in the second network.
In this possible implementation manner, after the second socket is created, the IP address and the port number of the second socket and the server in the second network are bound, and the IP address and the port number of the first client in the second network are bound, so that the server can be migrated to the second network, and the communication speed between the subsequent server and the second client can be improved.
In a possible implementation manner, the method further comprises creating a listening socket, wherein the listening socket is used for listening to a port indicated by the server at an IP address and a port number of the second network, and connecting to a second client by using the second socket, and the second client is a client which is listened to by the listening socket and sends an access request of a target application.
In this possible implementation manner, the function of the interception socket is to learn, through interception of the IP address and the port number of the server, that the second client requesting to establish connection with the server, so that the server establishes connection with the second client, and then establishes connection with the second client through the second socket, or replace the interception socket with the second socket, so as to realize connection between the second socket and the second client. In this way, the connection between the server and the second client can be established quickly.
In a possible implementation, the steps of replacing the first socket with the second socket include determining an IP address and a port number of the first client in the first network based on an IP address and a port number of the second client in the second network and an IP address and a port number of the server in the second network, determining a file descriptor of the target application based on the IP address and the port number of the first client in the first network and the IP address and the port number of the server in the first network, and replacing the first socket pointed to by the file descriptor with the second socket.
In this possible implementation manner, through the corresponding relation between the service end and the first client end in the first network and the IP address and port number in the first client end and the IP address and port number of the service end and the second client end in the second network, the IP address and port number of the first client end in the first network can be obtained, so that the file descriptor of the target application can be quickly determined according to the IP address and port number of the first client end in the first network and the IP address and port number of the service end in the first network, thereby improving the speed of network connection hot migration.
In one possible implementation, the method further includes releasing the first socket after replacing the first socket with the second socket. Alternatively, the first socket may be released by exiting the migration thread.
In the possible implementation manner, the migration thread can exit after the network connection hot migration is completed, so that the first socket is released, the resources used by the migration thread are also released, and the utilization rate of the resources can be improved.
In one possible implementation, after obtaining the configuration information of the target application, the method further includes suspending the running of the target application, and after replacing the first socket with the second socket, the method further includes restoring the target application to a running state.
In this possible implementation, the "pause" time is very short, which can be understood as the black hole time of the hot migration, and this pause does not cause service interruption, but rather, the pause for a short time makes no new message generated during the hot migration of the network connection, so that the problem of discontinuous data caused by the connection migration can be avoided.
In a possible implementation manner, before obtaining the configuration information of the target application connected by the network to be migrated, the method further comprises loading the migration module, and after restoring the target application to the running state through the migration module, unloading the migration module.
In the possible implementation manner, when the network connection needs to be migrated, the migration module is loaded, and after the migration is completed, the migration module is unloaded, so that the resource utilization rate of the client can be improved.
A third aspect of the present application provides a client, on which a target application is running, the target application describing Fu Diaoyong a first socket through a file so that the client is connected to a first service in a first network, where the client is to be migrated to a second network, and there is a second service in the second network for receiving an access request of the target application, where the client includes:
The system comprises an acquisition unit, a target application and a target application, wherein the acquisition unit is used for acquiring configuration information of the target application, and the configuration information comprises access information of a client in a second network and access information of a second server in the second network;
The first processing unit is used for creating a second socket according to the configuration information, and the second socket is used for connecting the client with a second server in a second network;
and the second processing unit is used for replacing the first socket by the second socket so that the target application points to the second socket by using the file descriptor, wherein the file descriptor is used for calling the second socket to access a second server when the client runs the target application through the second network.
In a possible implementation manner, the second processing unit is specifically configured to replace the first socket with the second socket, so as to update the correspondence between the file descriptor and the first socket to the correspondence between the file descriptor and the second socket, so that the target application points to the second socket using the file descriptor.
In a possible implementation manner, the obtaining unit is further configured to determine the target application according to the application information of the target application when the configuration information further includes the application information of the target application.
In a possible implementation manner, the obtaining unit is further configured to, when the access information of the client in the second network has a plurality of address information, configure the connection information of the client and the first service in the first network, and determine the address information of the client in the second network according to the address information of the client in the connection information.
In a possible implementation manner, the obtaining unit is further configured to determine, when the access information of the second server on the second network has a plurality of address information, address information of the second server on the second network according to address information of the first server in the existing connection information when the client and the first server are in the existing connection information of the first network.
In a possible implementation manner, the first processing unit is specifically configured to create the second socket when the access information of the client in the second network includes the IP address and the port number of the client in the second network, and bind the IP address and the port number of the client in the second network with the second socket.
In a possible implementation manner, the first processing unit is further configured to connect to the second service end according to access information of the second service end in the second network by using the second socket.
In a possible implementation manner, the second processing unit is specifically configured to determine a file descriptor of the target application according to the access information of the client in the first network and the access information of the first server in the first network, and replace the first socket pointed by the file descriptor with the second socket.
In a possible implementation, the second processing unit is further configured to release the first socket.
In a possible implementation manner, the first processing unit is further configured to suspend, through the migration module, running the target application after obtaining the configuration information of the target application;
The second processing unit is further configured to restore the target application to a running state after replacing the first socket with the second socket.
In a possible implementation manner, the first processing unit is further configured to load the migration module before obtaining configuration information of a target application connected to the network to be migrated;
The second processing unit is further configured to uninstall the migration module after the target application is restored to the running state by the migration module.
The fourth aspect of the present application provides a server, on which a target application is running, where the target application describes Fu Diaoyong a first socket through a file so that the server is connected to a first client in a first network, where the server is to be migrated to a second network, where there is a second client for sending an access request of the target application in the second network, where the server includes:
the system comprises an acquisition unit, a target application and a target application, wherein the acquisition unit is used for acquiring configuration information of the target application, and the configuration information comprises access information of a server side in a second network and access information of a second client side in the second network;
The first processing unit is used for creating a second socket according to the configuration information, and the second socket is used for connecting a second client in a second network by the server;
And the second processing unit is used for replacing the first socket with the second socket so that the target application points to the second socket by using the file descriptor, wherein the file descriptor is used for calling the second socket to communicate with the second client when the server runs the target application through the second network.
In a possible implementation manner, the second processing unit is configured to replace the first socket with the second socket, so as to update the correspondence between the file descriptor and the first socket to the correspondence between the file descriptor and the second socket, so that the target application points to the second socket using the file descriptor.
In a possible implementation manner, the obtaining unit is further configured to determine the target application according to the application information of the target application when the configuration information further includes the application information of the target application.
In a possible implementation manner, the obtaining unit is further configured to, when the access information of the client in the second network has a plurality of address information, configure the connection information of the client and the first service in the first network, and determine the address information of the client in the second network according to the address information of the client in the connection information.
In a possible implementation manner, the obtaining unit is further configured to determine, when the access information of the second server on the second network has a plurality of address information, address information of the second server on the second network according to address information of the first server in the existing connection information when the client and the first server are in the existing connection information of the first network.
In a possible implementation manner, the first processing unit is specifically configured to create the second socket when the access information of the server side in the second network includes an IP address and a port number of the server side in the second network, and bind the IP address and the port number of the second socket and the server side in the second network.
In a possible implementation manner, the first processing unit is further configured to create a listening socket, where the listening socket is used to listen to a port indicated by an IP address and a port number of the server in the second network, and connect to the second client using the second socket, where the second client is a client that requests to connect the IP address and the port of the server in the second network and that is listened to by the listening socket.
In a possible implementation manner, the second processing unit is specifically configured to determine an IP address and a port number of the first client in the first network according to an IP address and a port number of the second client in the second network and an IP address and a port number of the service end in the second network, determine a file descriptor of the target application according to an IP address and a port number of the first client in the first network and an IP address and a port number of the service end in the first network, and replace a first socket pointed by the file descriptor with the second socket.
In a possible implementation, the second processing unit is further configured to release the first socket after replacing the first socket with the second socket.
In a possible implementation manner, the first processing unit is further configured to suspend running the target application after obtaining the configuration information of the target application;
The second processing unit is further configured to restore the target application to a running state after replacing the first socket with the second socket.
In a possible implementation manner, the first processing unit is further configured to load the migration module after obtaining the configuration information of the target application;
and the second processing unit is also used for unloading the migration module after the target application is restored to the running state.
A fifth aspect of the present application provides a computer device, which may be a client, comprising a communication interface, a processor and a memory, the communication interface and the processor being coupled to the memory, the memory being for storing a program or instructions which, when executed by the processor, cause a server to perform the method of the first aspect or any of the possible implementations of the first aspect.
In a sixth aspect of the present application, a computer device is provided, where the computer device may be a server. The server may include at least one processor, memory, and a communication interface. The processor is coupled with the memory and the communication interface. The memory is used for storing instructions, the processor is used for executing the instructions, and the communication interface is used for communicating with other network elements under the control of the processor. The instructions, when executed by a processor, cause the processor to perform the method of the second aspect or any possible implementation of the second aspect.
A seventh aspect of the application provides a chip system comprising one or more interface circuits and one or more processors, the interface circuits and processors being interconnected by wires, the interface circuits being arranged to receive signals from a memory of a client and to send signals to the processors, the signals comprising computer instructions stored in the memory, the client performing the method of the first aspect or any possible implementation of the first aspect when the processor executes the computer instructions.
An eighth aspect of the present application provides a chip system comprising one or more interface circuits and one or more processors, the interface circuits and processors being interconnected by wires, the interface circuits being arranged to receive signals from a memory of a server and to send signals to the processors, the signals comprising computer instructions stored in the memory, the server performing the method of the second aspect or any of the possible implementations of the second aspect when the processor executes the computer instructions.
A ninth aspect of the application provides a computer readable storage medium having stored thereon a computer program or instructions which, when run on a computer device, cause the computer device to perform the method of the first aspect or any possible implementation of the first aspect.
A tenth aspect of the application provides a computer readable storage medium having stored thereon a computer program or instructions which, when run on a computer device, cause the computer device to perform the method of the second aspect or any possible implementation of the second aspect.
An eleventh aspect of the application provides a computer device program product comprising computer device program code which, when executed on a computer device, causes the computer device to perform the method of the first aspect or any of the possible implementations of the first aspect.
A twelfth aspect of the application provides a computer device program product comprising computer device program code which, when executed on a computer device, causes the computer device to perform the method of the second aspect or any of the possible implementations of the second aspect.
The thirteenth aspect of the application provides a cloud system, which comprises a client, a first service end and a second service end, wherein the client and the first service end are positioned in a first network, and the second service end is positioned in a second network. The client is configured to perform the method of the first aspect or any possible implementation of the first aspect, such that the network connection of the client is thermally migrated from the first server to the second server.
A fourteenth aspect of the present application provides a cloud system comprising a server, a first client and a second client, the server and the first client being located in a first network, the second client being located in a second network, the server being configured to perform the method of the second aspect or any possible implementation of the second aspect, such that a network connection of the server is thermally migrated from the first client to the second client.
The technical effects of the third aspect, the fifth aspect, the seventh aspect, the ninth aspect, the eleventh aspect, and the thirteenth aspect or any one of the possible implementation manners of the third aspect, the fifth aspect, the seventh aspect, the ninth aspect, the eleventh aspect, and any one of the possible implementation manners of the first aspect may be referred to the technical effects of the first aspect or the different possible implementation manners of the first aspect, which are not described herein.
The technical effects of the fourth aspect, the sixth aspect, the eighth aspect, the tenth aspect, the twelfth aspect, and the fourteenth aspect or any one of the possible implementation manners of the fourth aspect, the sixth aspect, the eighth aspect, the tenth aspect, the twelfth aspect, and any one of the possible implementation manners of the second aspect may be referred to the technical effects of the second aspect or the different possible implementation manners of the second aspect, which are not described herein.
Drawings
Fig. 1A is a schematic structural diagram of a cloud system according to an embodiment of the present application;
Fig. 1B is another schematic structural diagram of a cloud system according to an embodiment of the present application;
FIG. 2A is a schematic diagram of a network connection hot migration architecture according to an embodiment of the present application;
FIG. 2B is a schematic diagram of an embodiment of a method for hot migration of network connections according to the present application;
FIG. 2C is a schematic diagram of another architecture of network connection hot migration according to an embodiment of the present application;
FIG. 2D is a schematic diagram of another embodiment of a method for hot migration of network connections according to an embodiment of the present application;
FIG. 3 is a schematic diagram of another architecture of network connection hot migration according to an embodiment of the present application;
FIG. 4 is a schematic diagram of an embodiment of a method for hot migration of network connections according to an embodiment of the present application;
FIG. 5 is a schematic diagram of an information structure according to an embodiment of the present application;
FIG. 6 is a schematic diagram of another embodiment of a method for network connection hot migration provided by an embodiment of the present application;
FIG. 7 is a schematic diagram of another information structure according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of a client according to an embodiment of the present application;
FIG. 9 is a schematic structural diagram of a server according to an embodiment of the present application;
Fig. 10 is a schematic structural diagram of a client/server according to an embodiment of the present application.
Detailed Description
Embodiments of the present application will now be described with reference to the accompanying drawings, in which it is evident that the embodiments described are only some, but not all embodiments of the present application. As one of ordinary skill in the art can know, with the development of technology and the appearance of new scenes, the technical scheme provided by the embodiment of the application is also applicable to similar technical problems.
The terms first, second and the like in the description and in the claims and in the above-described figures, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments described herein may be implemented in other sequences than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
The embodiment of the application provides a network connection hot migration method, which is used for keeping the running of an application at a position where the application can run before migration to continue under the condition that the network connection of the application is migrated, so that the running efficiency of the application is improved. The application also provides a corresponding apparatus, system, computer readable storage medium, computer program product, etc. The following will describe in detail.
For ease of understanding, the techniques and background referred to in the embodiments of the present application are explained first.
Virtualization (virtualization) is a resource management technology, which abstracts and converts various physical resources of a host, such as computing resources, network resources, and storage resources, and presents the resources, so as to break through the unclassifiable barrier between the physical structures of the host, and enable users to apply the resources in a better manner than the original configuration. The resources used by virtualization are called virtualized resources, and the virtualized resources are not limited by the erection mode, the setting region or the physical configuration of the existing entity resources.
The host (PHYSICAL MACHINE, PM) is used to carry the physical resources of the virtualization technology. The host is also called a physical machine. Typically, the host used to deploy the virtual instance is a physical server. The physical machine has a plurality of physical devices. For example, a physical server has physical devices such as a processor and memory. Multiple virtual instances can be deployed in one host, and multiple virtual instances deployed on the same host share physical resources of the host. According to different use cases, one host can only deploy virtual instances belonging to one user, and can also deploy virtual instances belonging to a plurality of users.
A resource pool is a collection of various hardware and software resources involved in a cloud computing data center. Generally, the resources in the resource pool can be divided into computing resources, storage resources, and network resources by the type of resource.
The virtual instance runs on an operating system of the host, the virtual instance is provided with the operating system, and the operating system of the virtual instance runs with an application program which is used for realizing the service of the user. The virtual instances may use the hardware resources of the host, with the different virtual instances being isolated from each other. In general, a virtual instance may be a virtual machine or container.
Virtual Machine (VM) refers to a complete computer system that is emulated by virtualization technology, having complete hardware system functionality, and that operates in a completely isolated environment. A subset of the instructions of the virtual machine may be processed in a host (host) and other portions of the instructions may be executed in an emulated manner. Virtual machines are also known as virtual servers.
A virtual machine may be considered a collection of several virtual devices that are complete computer systems with complete hardware system functionality and that operate in a completely isolated environment. The virtual device is obtained virtually on the basis of a physical device capable of being shared with a resource by a virtualization-based technique. For example, a virtual processor that is virtually derived on a processor basis is a virtual device based on virtualization technology. For another example, based on virtualization technology, a training card that is virtually obtained on the basis of a field-programmable gate array (FPGA) is also a virtual device.
The container provides a lightweight virtual execution environment. The container may be obtained by packaging all code, libraries, dependencies, etc. of the user's application into a mirror image. When the mirror image is executed, the mirror image runs in a virtual running environment. The container is now a mirrored runtime instance, similar to a lightweight sandbox, which can be started, stopped, and deleted. The mirror image does not share the memory, processor (such as central processing unit (central processing unit, CPU)) and disk of the host machine with other mirror images, so that the isolation of the container between the mirror image and the host machine and between the mirror image and other mirror images is realized, and the process in the container can not monitor any process or resource outside the container. Container techniques include docker, kubernetes, coreos and other container techniques.
The virtualization techniques described above are typically applied to a cloud system, which may be a public cloud, a private cloud, or a hybrid cloud, as may be understood with reference to fig. 1A.
As shown in fig. 1A, a structure of a cloud system provided by an embodiment of the present application may include a terminal device 01, a scheduling node 02, a working node cluster 03, and a working node cluster 04. Communication connection can be established between the client 01 and the scheduling node 02, between the scheduling node 02 and the working node cluster 03, between the scheduling node 02 and the working node cluster 04, and between the working node cluster 03 and the working node cluster 04. For example, a communication connection may be established between the terminal device 01 and the scheduling node 02 via a network. Optionally, the network may be a local area network, or may be the internet, or may be another network, where in a cloud computing scenario, the network may also be a virtual private network (virtual private cloud, VPC), and embodiments of the present application are not limited.
In this implementation environment, the operation and maintenance personnel of the cloud system can interact with the scheduling node 02 via the terminal device 01. For example, the operator may send an instruction for deploying the cloud system to the scheduling node 02 through the terminal device 01, so as to instruct the scheduling node 02 to deploy the cloud system based on the resources of the scheduling node 02, the working node cluster 03 and the working node cluster 04. The cloud system is used for managing the resources of the working node cluster 03 and the working node cluster 04 and providing cloud services for tenants based on the resources of the working node cluster 03 and the working node cluster 04.
Alternatively, the terminal device 01, also called a User Equipment (UE), a Mobile Station (MS), a Mobile Terminal (MT), or the like, is a device including a wireless communication function (providing voice/data connectivity to a user), for example, a handheld device having a wireless connection function. Currently, examples of some terminal devices are mobile phone, tablet, notebook, palm, notebook, wireless router, mobile internet device (mobile INTERNET DEVICE, MID), wearable device, virtual Reality (VR) device, augmented reality (augmented reality, AR) device, wireless terminal in industrial control (industrial control), wireless terminal in unmanned (SELF DRIVING), wireless terminal in car networking, wireless terminal in teleoperation (remote medical surgery), wireless terminal in smart grid (SMART GRID), wireless terminal in transportation security (transportation safety), wireless terminal in smart city (SMART CITY), or wireless terminal in smart home (smart home), etc.
The scheduling node 02 may be a cloud server or a cloud physical machine, or a cloud server cluster or a physical machine cluster formed by a plurality of cloud servers, or a cloud computing service center. The functions of the scheduling node may be implemented in software or hardware.
Scheduling node as an example of a software functional unit, a scheduling node may comprise code running on a computing instance. The computing instance may include at least one of a physical host (computing device), a virtual machine, and a container, among others. Further, the above-described computing examples may be one or more. For example, a scheduling node may include code running on multiple hosts/virtual machines/containers. It should be noted that, multiple hosts/virtual machines/containers for running the code may be distributed in the same region (region), or may be distributed in different regions. Further, multiple hosts/virtual machines/containers for running the code may be distributed in the same availability zone (availability zone, AZ) or may be distributed in different AZs, each AZ comprising one data center or multiple geographically close data centers. Wherein typically a region may comprise a plurality of AZs.
Also, multiple hosts/virtual machines/containers for running the code may be distributed in the same virtual private cloud (virtual private cloud, VPC) or may be distributed in multiple VPCs. In general, one VPC is disposed in one area, and a communication gateway is disposed in each VPC for implementing inter-connection between VPCs in the same area, and inter-area communication between two VPCs in different areas.
As an example of a hardware functional unit, a scheduling node may comprise at least one computing device, such as a server or the like. Or the scheduling node may be a device implemented using an application-specific integrated circuit (ASIC), a programmable logic device (programmable logic device, PLD), or the like. The PLD may be implemented as a complex program logic device (complex programmable logical device, CPLD), a field-programmable gate array (FPGA) GATE ARRAY, a general-purpose array logic (GENERIC ARRAY logic, GAL), or any combination thereof.
Multiple computing devices included in a scheduling node may be distributed in the same area or may be distributed in different areas. The plurality of computing devices included in the scheduling node may be distributed in the same AZ or may be distributed in different AZ. Likewise, multiple computing devices included in a scheduling node may be distributed in the same VPC or may be distributed among multiple VPCs. Wherein the plurality of computing devices may be any combination of computing devices such as servers, ASIC, PLD, CPLD, FPGA, and GAL.
The working node cluster 03 and the working node cluster 04 may be a server cluster composed of several servers, or a cloud computing service center. Among them, a large amount of basic resources owned by cloud service providers are deployed in a cloud computing service center. For example, a cloud computing service center is deployed with computing resources, storage resources, network resources, and the like.
It should be noted that, the scheduling node 02, the working node cluster 03, and the working node cluster 04 in the implementation environment may also be implemented by other resource platforms besides the cloud computing service center, which is not specifically limited in the embodiment of the present application.
It should be understood that the foregoing is an exemplary description of the cloud system provided by the embodiments of the present application, and does not constitute a limitation on an application scenario of a deployment method of the resource management system on the cloud, and those skilled in the art can know that, as a service requirement changes, an application scenario thereof may be adjusted according to the application requirement.
In the embodiment of the present application, the architecture of the cloud system may also be understood with reference to fig. 1B. As shown in fig. 1B, the cloud system includes a cloud platform and a base resource. The cloud platform includes a cloud platform manager, and the scheduling node described above may be the cloud platform manager in fig. 1B. The base resource may include a plurality of servers, each of which may be a working node, or each of which may include a plurality of working nodes.
The working node in fig. 1B may be a computing device card or a Virtual Machine (VM). The computing device card may be at least one of a central processing unit (central processing unit, CPU), a graphics processor (graphic processing unit GPU), and a neural network processor (network processing unit, NPU), among others.
The cloud platform manager maintains or periodically collects information of each working node in the basic resource, such as information of the use condition of the resource (the use rate of the resource or the idle rate of the resource) on each working node. This information may be used as auxiliary decision information in the allocation of the query request.
The cloud platform manager may receive the request from the user and may then perform the corresponding task by the cloud platform manager, which may also assign the task to one or more working nodes in the cloud system, which may perform the corresponding task. After the work node completes the task, the cloud platform manager may return the result to the user.
The cloud system provided by the embodiment of the application can be configured by adopting an Internet protocol (internet protocol, IP) so as to realize Internet communication. Early devices and configurations may employ a version of the configuration, such as the internet protocol fourth version (internet protocol version, ipv 4). Later devices and configurations may employ another version of the configuration, such as the sixth version of the Internet protocol (internet protocol version, IPv 6). In the embodiment of the present application, taking IPv4 and IPv6 as examples, a network for which IPv4 communication is adopted is referred to as an IPv4 network, and a network for which IPv6 communication is adopted is referred to as an IPv6 network. In the IPv4 network, the communication between the client and the server adopts the IP address and the port number of the IPv4 network, and in the IPv6 network, the communication between the client and the server adopts the IP address and the port number of the IPv6 network.
Considering that addresses of an IPv4 network are less and less, and an IPv6 network is developing greatly, migration of an application of the IPv4 network to the IPv6 network occurs, and migration of the application not only involves data migration but also network connection migration.
The architecture of network connection hot migration with respect to clients may be understood with reference to fig. 2A.
As shown in fig. 2A, the client and the first service end are in a connection state in a first network (e.g., an IPv4 network), and both the client and the first service end operate a target application, and when no network connection hot migration occurs, the target application describes Fu Diaoyong a first socket through a file so that the client is connected with the first service end in the first network, and interacts data generated by the operation of the target application.
When a client is to be migrated to a second network (for example, an IPv4 network or an IPv6 network), a second server for receiving an access request of a target application exists in the second network, and a network connection hot migration process of the client from the first network to the second network can be understood with reference to fig. 2B, as shown in fig. 2B, an embodiment of a method for network connection hot migration provided by an embodiment of the present application includes:
201. And the client acquires the configuration information of the target application.
The configuration information comprises access information of the client in the second network and access information of the second server in the second network.
Optionally, the configuration information may further include application information of the target application, where the application information of the target application may be an identification of the target application, so that the client may determine the target application according to the application information of the target application.
Optionally, when the access information of the client in the second network has a plurality of address information, the configuration information further includes the existing connection information of the client and the first service in the first network, so that the client can determine the address information of the client in the second network according to the address information of the client in the existing connection information.
In the embodiment of the present application, the address information may include an IP address and a port number, where any one of the IP address and the port number is different and indicates different address information. If the access information of the configuration information for the client includes a plurality of address information, the client needs to determine address information suitable for migration by using the existing connection, for example, selecting the address information with the same port number as the address information of the client in the second network.
Optionally, when the access information of the second service end in the second network has a plurality of address information, the configuration information further includes the existing connection information of the client end and the first service end in the first network, and the client end can determine the address information of the second service end in the second network according to the address information of the first service end in the existing connection information.
It should be noted that, in the embodiment of the present application, the configuration information for the client thermomigration may be configured by the user, and the target application in the configuration information, the access information of the client in the second network, and the access information of the second server in the second network may be configured by the user.
202. The client creates a second socket according to the configuration information.
The second socket is used for connecting the client side with a second service side in a second network, and the second service side is a first service side which is migrated from the first network to the second network.
203. The first socket is replaced with the second socket such that the target application points to the second socket with the file descriptor.
The file descriptor is used for calling a second socket to access a second server when the client runs the target application on the second network.
Alternatively, this step 203 may be to replace the first socket with the second socket to update the correspondence of the file descriptor with the first socket to the correspondence of the file descriptor with the second socket, so that the target application points to the second socket with the file descriptor. Because fd corresponds to the socket, if the first socket is replaced by the second socket, the correspondence between fd of the target application and the first socket is updated, and the correspondence between fd of the target application and the second socket is updated. Thus, the second server can be accurately accessed when the client runs the target application after the thermal migration.
It should be noted that the first network and the second network may be the same network or may be different networks, where the first network may be an internet protocol fourth version (internet protocol version, ipv 4) network and the second network may be an internet protocol sixth version (internet protocol version, ipv 6) network. The network migration may be from an IPv4 network to an IPv6 network, or may be within an IPv4 network, or may be within an IPv6 network, or may be within another network, or may be from an IPv4 network/IPv 6 network to another network, or may be from another network to an IPv4 network/IPv 6 network. In the present application, migration inside the same network refers to replacing the connected IP address and port number in the same network.
In the scenario shown in fig. 2A and fig. 2B, the network connection thermal migration refers to network connection thermal migration of a client, which is to migrate a client in a connection state from a first service end of a first network to a second service end of a second network, or from the first service end of the first network to the second service end in the first network, that is, migration of the client from a connection with the first service end, and after completing the thermal migration, the client is connected with the second service end. The second server may be a first server migrated from the first network to the second network, where the device itself is unchanged, but only the access information connected to the client is changed, and of course, the second server may also be another server running the target application, and not the original first server.
In the present application, both the client and the server (the first server and/or the second server) may be deployed on the cloud, and both the client and the server may be Virtual Machines (VMs), containers, or hosts (host).
In the present application, the file descriptor (filedescriptor, fd) may be a handle represented by an unsigned integer that is used by the process to identify the open file. The file descriptor is associated with a file object that includes related information, which may be an open mode of the file, a location type of the file, an initial type of the file, etc., which is also referred to as a context of the file. A file descriptor may be understood as an index that may point to a socket used for communication.
In the embodiment of the application, a socket is a basic operation unit supporting network communication of a transmission control protocol/internet protocol (transmission control protocol/internet protocol, TCP/IP) and can be used for bidirectional communication of processes between different hosts.
In this scenario, a connection between the client and the second server is established through the second socket, and then the first socket is replaced with the second socket, so that the target application points to the second socket using the file descriptor. Because the file descriptor of the target application does not change after the network connection is subjected to the thermal migration, the target application can be continuously operated in the migrated network by using the file descriptor after the network connection is subjected to the thermal migration, and if the second service end is the first service end migrated to the second network, the service of the target application can be continuously operated at the position before the migration without restarting the operation, so that the risk of interruption of the service corresponding to the target application due to the network connection is reduced, and the operation efficiency of the application is improved.
The architecture of network connection hot migration for a server may be understood with reference to fig. 2C.
As shown in fig. 2C, the server and the first client are in a connection state in a first network (e.g., an IPv4 network), and both the server and the first client operate a target application, and when no network connection hot migration occurs, the target application describes Fu Diaoyong a first socket through a file so that the server is connected with the first client in the first network, and interacts data generated by the operation of the target application.
When a server is to be migrated to a second network, there is a second client for sending a target application access request in the second network, and a network connection hot migration process of the server from the first network to the second network can be understood with reference to fig. 2D, and as shown in fig. 2D, an embodiment of a method for network connection hot migration provided by an embodiment of the present application includes:
211. the server acquires configuration information of the target application.
The configuration information comprises access information of the server side in the second network and access information of the second client side in the second network.
Optionally, the configuration information may further include application information of the target application, where the application information of the target application may be an identification of the target application, so that the client may determine the target application according to the application information of the target application.
Optionally, when the access information of the server side in the second network has a plurality of address information, the configuration information further includes the existing connection information of the server side and the first client side in the first network, and the server side can determine the address information of the server side in the second network according to the address information of the server side in the existing connection information.
Optionally, when the access information of the second client in the second network has a plurality of address information, the configuration information further includes the existing connection information of the server and the first client in the first network, so that the server can determine the address information of the second client in the second network according to the address information of the first client in the existing connection information.
It should be noted that, in the embodiment of the present application, the configuration information for the server side thermo-migration may be configured by the user, and the target application related to the configuration information and the access information of the server side in the second network, and the access information of the second client side in the second network may be configured by the user.
212. And the server creates a second socket according to the configuration information.
The second socket is used for the server to connect with a second client in the second network, and the second client is a first client migrated from the first network to the second network.
213. The server replaces the first socket with the second socket such that the target application points to the second socket with the file descriptor.
The file descriptor is used for calling a second socket to communicate with a second client when the second network runs the target application.
Optionally, this step 213 may include replacing the first socket with the second socket to update the correspondence of the file descriptor with the first socket to the correspondence of the file descriptor with the second socket, such that the target application points to the second socket with the file descriptor. Because fd corresponds to the socket, if the first socket is replaced by the second socket, the correspondence between fd of the target application and the first socket is updated, and the correspondence between fd of the target application and the second socket is updated. Thus, the server can accurately communicate with the second client when the target application is operated after the thermal migration.
In the scenario shown in fig. 2C and fig. 2D, the network connection thermal migration refers to network connection thermal migration of a server, which is to migrate a server in a connection state from a first client of a first network to a second client of a second network, or from the first client of the first network to the second client of the first network, that is, the server migrates from a connection with the first client, and after completing the thermal migration, the server connects with the second client. Alternatively, the second client may be the first client migrated from the first network, and of course, the second client may be another client running the target application.
In this scenario, a connection between the server and the second client is established through the second socket, and then the first socket is replaced with the second socket, so that the file descriptor of the target application points to the second socket. Because the file descriptor of the target application does not change after the network connection is subjected to the thermal migration, the file descriptor can be used for continuously running the target application in the migrated network after the network connection is subjected to the thermal migration, and when the second client is the first client migrated from the first network, the service of the target application can be connected to continue running at the position before the migration without restarting the running, so that the risk that the service corresponding to the target application is interrupted due to the network connection is reduced, and the running efficiency of the application is improved.
In the embodiment of the present application, the architecture of migration of the target application in the client and the server may be understood by referring to fig. 3.
As shown in fig. 3, the architecture includes a migration management node 300, a client 301, and a server 302, where the migration management node 300 may be a scheduling node as described above. Both client (client) 301 and server (server) 302 may be physical machines, or hosts, virtual machines, or containers on physical machines.
It should be noted that other clients and servers may be included in the architecture, and only one client and one server are illustrated here for convenience of description.
The migration management node 300 is configured to coordinate network connection hot migration between a client and a server, for example, notify the client to start establishing a new connection after knowing that the server is ready, or notify the server that the reestablishing of the connection has been completed after knowing that the client has completed all the connections. The migration management node 300 may also determine a target application to migrate the network connection, one or more of which should be possible.
The client 301 may include a migration management module 3011, a migration module 3012, a kernel, and user-mode applications (e.g., application 1, application 2, and application 3), where the migration management module 3011 may be in a user mode and the migration module 3012 may be in a kernel.
The migration management module 3011 may communicate with the migration management node 300, determine a target application to be migrated for network connection on the client, such as application 1, according to information issued by the migration management node 300, determine a migration task according to migration of the migration management node 300 indicating the application 1, and issue the migration task to the migration module 3012.
The migration module 3012 may perform the thermomigration of the network connection according to the migration task, for example, from the IPv4 network to the IPv6 network, where the migration module 3012 may create a migration thread (socket MIGRATE THREAD) through a kernel (kernel) and generate a second socket through the socket migration when the client 301 is connected to a first service end in the IPv4 network through the first socket connection, where the second socket user connects the client 301 to the service end 302 in the IPv6 network, and then replace the first socket with the second socket, so that a file descriptor of a target file originally pointing to the first socket points to the second socket, and when a subsequent target application runs, the client may access the service end 302 through a file description Fu Diaoyong of the target file, and because the file descriptor of the target application does not change after the thermomigration of the network connection, if the service end 302 is the first service end from the first network, the second socket user connects the client 301 to the service end 302, and then replace the first socket with the second socket, so that the file descriptor can continue running at the position of the target application after the thermomigration, and the running of the target application does not need to continue running, and the running of the target application is not interrupted, and the risk is reduced.
Similarly, if the server is to be migrated, the migration module 3012 may create a migration thread through the kernel and create a listening socket through the migration thread when the server 302 is connected to a first client in the IPv4 network through the first socket, and generate a second socket when the client 301 in the IPv6 network requests to establish a connection with the IPv6 address and the port by listening to the port indicated by the server in the IPv6 network through the listening socket, and replace the listening socket through the second socket, so that the connection between the server 302 and the client 301 can be achieved through the second socket, and then replace the first socket with the second socket, so that the file descriptor of the target application points to the second socket, where the file descriptor of the target application is used by the server to call the second socket to communicate with the second client when the second network runs the target application. Because the file descriptor of the target application does not change after the network connection is thermally migrated, if the client 301 is the first client migrated from the first network after the network connection is thermally migrated, the target application can be continuously operated in the migrated network by using the file descriptor, and the service of the target application can be continuously operated at the position before the migration without restarting the operation, thereby reducing the risk of interruption of the service corresponding to the target application due to the network connection is thermally migrated, and improving the operation efficiency of the application.
It should be noted that, the migration management module 3011 and the migration module 3012 may be implemented by software, the migration management module 3011 or the migration module 3012 may be dynamically loaded, and the migration management module 3011 or the migration module 3012 may be reloaded when there is a migration demand, and may not be deleted when there is a demand, so that memory may be saved, and after the network migration is completed, the migration thread may be exited.
Having described the architecture of network connection hot migration, the following describes the method of network connection hot migration provided by the embodiment of the application from the client side with reference to the accompanying drawings.
The client is provided with a target application in a running mode, the target application describes Fu Diaoyong a first socket through a file so that the client is connected with a first service end in a first network, the client is to be migrated to a second network, and a second service end for receiving a target application access request exists in the second network.
As shown in fig. 4, an embodiment of a method for network migration according to an embodiment of the present application includes:
401. and the client acquires the configuration information of the target application.
The client currently maintains a network connection with the first server through the first socket.
This step, incorporated in the structure of fig. 3, may be that the migration module 3012 obtains the migration task of the network connection to be migrated from the migration management module 3011.
The configuration information includes access information of the client in the second network, and access information of the second server in the second network, and the configuration information may further include access information of the client in the first network, access information of the first server in the first network, and application information. In the embodiment of the present application, whether the client or the server, the access information in the first network or the second network may include an IP address and a port number.
In the embodiment of the application, the first network is an IPv4 network, the second network is an IPv6 network, the configuration information can comprise the IP address and the port number of the client in the IPv4 network, which can be expressed by (CLIENT IPV4 address+port number), the client can also obtain the IP address and the port number of the first service in the IPv4 network through the first socket, which can be expressed by (SERVER IPV address+port number). The configuration information may further include task (task) configuration and address (address) configuration included in the migration task issued by the migration management module.
It should be noted that, before the migration management module issues the task configuration and the address configuration, the migration management node generally obtains the existing connection information of the client and the first service end, and then instructs the migration management module to determine the corresponding task configuration and the address configuration according to the existing connection information.
The task configuration may be understood by referring to fig. 5, and as shown in fig. 5, there may be multiple server SERVER IPV addresses of the IPv6 network under one task. Under the corresponding SERVER IPV address, according to the existing connection information and the CLIENT IPV address of the IPv6 network, there is a corresponding CLIENT IPV address+port number, where the port number is used to indicate a corresponding port, and the port number is generally the same as the port number of the existing connection, and of course, may also be different.
In fig. 5, under one task, there are server1 IPv6 address, server2 IPv6 address, and server3 IPv6 address, where the server1 IPv6 address corresponds to the client1 IPv6 address, the client2 IPv6 address, and the client3 IPv6 address. Although the CLIENT IPV address of the IPv6 network under the server2 IPv6 address and the server3 IPv6 address is not illustrated in fig. 5, the CLIENT IPV address of the IPv6 network is also present under the server2 IPv6 address and the server3 IPv6 address, which is not affected.
In addition, the migration management module may also instruct, through address configuration, the IPv6 address+port number used after the network connection of the client is thermally migrated to the IPv6 network.
402. The client pauses the target application.
The process of step 402 may be that the migration module sends information to the user mode, notifying the target application in the suspended user mode.
In the embodiment of the application, the time of pause is very short, which can be understood as the black hole time of the hot migration, and the pause does not cause service interruption, but rather, the pause in short time causes no new message to be generated during the hot migration of the network connection, thereby avoiding the problem of discontinuous data caused by the connection migration.
403. The client creates a second socket.
The second socket is used for the client to connect with a second server in a second network.
The process of creating the second socket may be that the migration module starts a migration thread, and then the migration thread obtains the task of the target application connected to the network to be migrated and access information of the client and the server on the second network, and creates the second socket (af_inet6socket) according to the task, where the process of creating the second socket may be completed in a kernel (kernel).
404. The client binds the second socket and the IP address and port number of the client in the second network.
This step may be to migrate the thread in the kernel, binding the second socket (af_inet6 socket) with the IP address and port number of the client in the IPv6 network, e.g. binding the second socket (af_inet6 socket) with the client1 IPv6 address and port number, which may be the same as the port number of the client in the first network.
405. The client connects to the second server using the second socket.
This step may be to migrate the thread, connect the server1 IPv6 address using a second socket (af_inet6 socket), and return successfully.
The second service end is a first service end which is migrated from the first network to the second network.
406. The client replaces the first socket with the second socket.
The method comprises the steps of determining a file descriptor of a target application according to access information of a client on a first network and access information of a first server on the first network through a migration thread, and replacing a first socket pointed by the file descriptor with a second socket through the migration thread.
The access information of the client at the first network and the access information of the first server at the first network can be used for determining the file descriptor of the current target application communication, so that the corresponding first socket can be found, and socket replacement is completed. The first socket can be quickly and accurately found through the file description Fu Chazhao.
The socket replacement process refers to replacing both socket related structures and data, and exchanging the structures and data of the first socket to the structures of the second socket newly built by the migration thread.
In the embodiment of the present application, if the task indicates that the network connection of the plurality of applications is to be migrated, the processes 403 to 406 may be repeatedly executed.
407. The client restores the target application to a running state.
After the task is executed, the migration thread can exit after the network connection hot migration is completed, so that the first socket is released, resources used by the migration thread are also released, and the utilization rate of the resources can be improved. After the migration thread exits, the migration module may notify the migration management module that migration is completed, and the migration management module may send a notification to the migration management node, where the migration management node may notify the first server and/or the second server of the message.
It should be noted that, the steps 402, 404, 405 and 407 may be optional steps.
The above procedure for migrating a network connection at the client side by a target application is described in fig. 4, and the procedure for migrating a network connection at the server side by a target application is described below.
The server is based on migration of a target application, network connection is to be migrated from a first network to a second network, in the first network, when the server runs the target application, the server is connected with a first client through a first socket, and a file descriptor of the target application points to the first socket.
As shown in fig. 6, another embodiment of a method for network migration according to an embodiment of the present application includes:
601. the server acquires configuration information of the target application.
The server currently maintains a network connection with the first client through the first socket.
This step, incorporated in the structure of fig. 3, may be that the migration module obtains the migration task of the network connection to be migrated from the migration management module.
The configuration information comprises access information of the server side in the second network and access information of the first client side in the second network.
In the embodiment of the application, the first network is an IPv4 network, the second network is an IPv6 network, and the configuration information can comprise task configuration and address configuration contained in a migration task issued by a migration management module.
It should be noted that, before the migration management module issues the task configuration and the address configuration, the migration management node generally obtains the existing connection information of the server side and the first client side, and then instructs the migration management module to determine the corresponding task configuration and the address configuration according to the existing connection information.
As can be understood with reference to fig. 7, as shown in fig. 7, under one task, there may be multiple pairs of mapping relationships, where SERVER IPV address+port number, CLIENT IPV address+port number may be used as a key, SERVER IPV address+port number, and client IPv4 address+port number may be used as a value. For example, in FIG. 7, { server 1IPv6 address+port number, client1IPv6 address+port number } and { server 1IPv 4 address+port number, client1IPv 4 address+port number } are in a set of mapping relationships, { server 2IPv 6 address+port number, client2IPv 6 address+port number } and { server 2IPv4 address+port number, client2IPv4 address+port number } are in a set of mapping relationships, { server3 IPv6 address+port number, client3 IPv6 address+port number } and { server3 IPv4 address+port number, client3 IPv4 address+port number } are in a set of mapping relationships.
The address configuration may include an IPv6 address and a port number that are required for the server to migrate to IPv 6.
602. The server pauses the target application.
The process of step 602 may be that the migration module sends information to the user mode, notifying the target application in the suspended user mode.
In the embodiment of the application, the time of pause is very short, which can be understood as the black hole time of the hot migration, and the pause does not cause service interruption, but rather, the pause in short time causes no new message to be generated during the hot migration of the network connection, thereby avoiding the problem of discontinuous data caused by the connection migration.
The server may also initiate a migration thread.
603. The server creates a listening socket.
The process of creating the listening socket may be performed by a migration thread, where the listening socket (listen socket) is used to listen to a port indicated by an IP address and a port number of the server in the second network, to learn about the second client requesting to establish a connection with the server.
604. The server side creates a second socket.
The process of creating a second socket may be accomplished by a migration thread, and the second socket may be denoted as af_inet6socket. The second socket is used for the server to connect to a second client in the second network, which may be the first client migrated from the first network to the second network.
605. The server binds the second socket to the IP address and port number of the server in the second network.
In the embodiment of the application, after the second socket is created, the IP address and the port number of the second socket and the server in the second network are bound, so that the server can be migrated to the second network, and the communication speed of the subsequent server and the second client can be improved.
606. The second socket is used to connect to the second client by migrating the thread.
The second client is a client that listens for socket-heard requests to connect to the IP address and port of the server in the second network.
607. The server determines the file descriptor of the target application.
The file descriptor is used to indicate the first socket.
This step 607 may include determining an IP address and port number of the first client in the first network based on an IP address and port number of the second client in the second network and an IP address and port number of the server in the second network, and determining a file descriptor of the target application based on an IP address and port number of the first client in the first network and an IP address and port number of the server in the first network. This step 607 may be accomplished by migrating the thread.
The process may be that the mapping relationship shown in fig. 7 is used, for example, the access information of the server side in the IPv6 network is a server2 IPv6 address+port number, the IP address and the port number of the second client side in the second network are the client2 IPv6 address+port number, the access information of the first client side in the IPv4 network is determined to be the client2 IPv4 address+port number, and the file descriptor may be determined according to the client2 IPv4 address+port number and the server2 IPv4 address+port number of the server side in the IPv4 network.
608. The first socket indicated by the file descriptor is replaced with the second socket.
This step 608 may be to replace the first socket pointed to by the file descriptor with the second socket by migrating the thread.
Steps 603 to 608 may be performed by the migration thread.
The socket replacement process refers to replacing both socket related structures and data, and exchanging the structures and data of the first socket to the structures of the second socket newly built by the migration thread.
In the embodiment of the present application, if the task indicates that the network connection of the plurality of applications is to be migrated, the processes 603 to 608 may be repeatedly executed.
609. The server restores the target application to the running state.
After the task is executed, the migration thread can exit, the migration module can inform the migration management module of completing migration, the migration management module can send a notification to the migration management node, and the migration management node can inform the first client and/or the second client of the message.
It should be noted that, the steps 602, 603, 604, 606, 607 and 609 may be optional steps.
In the embodiment of the application, the characteristic that the memory space of the kernel space is shared by the processes/threads is utilized, and the characteristic that the operation is only carried out aiming at the file descriptors when the application is in network communication is utilized, the real structure of the socket is not perceived, and after the application is in hot migration, the connection is rebuilt through the background kernel thread and the first socket of the original application is replaced. When the application is rerun, the replaced second socket is used, so that the communication of the original connection can be kept continuously, and the service is not required to be interrupted for the network connection thermomigration.
The network connection hot migration can be performed after the process hot migration, and a user can realize the hot migration of the process and the network connection through one-time migration instruction, so that the user can realize the hot migration of the target application from the IPv4 network to the IPv6 network by one key, and the service of the target application can be kept uninterrupted.
The embodiments of fig. 4 to 7 above are described taking the example that the first network is an IPv4 network and the second network is an IPv6 network, in fact, when the second network is an IPv4 network, the processes of fig. 4 to 7 above may also be performed, and only the new IPv6 address or port needs to be changed to the new IPv4 address or port, and the new socket is changed from af_inet6 to af_inet, and other processes may be understood with reference to the foregoing.
The scheme of network connection thermal migration provided by the embodiment of the application does not need to add extra equipment, is simple to deploy and low in cost, only needs to replace sockets, is noninductive to the user APP, does not need any modification, and does not have any performance loss in the transmission stage.
The method for network connection hot migration is introduced, and the client and the server provided by the embodiment of the application are introduced below with reference to the accompanying drawings.
As shown in fig. 8, in the client 80 provided in the embodiment of the present application, a target application is running on the client 80, and the target application describes Fu Diaoyong a first socket through a file so that the client is connected to a first service in a first network, where the client is to be migrated to a second network, and a second service for receiving an access request of the target application exists in the second network, and a structure of the client 80 includes:
And an obtaining unit 801, configured to obtain configuration information of the target application, where the configuration information includes access information of the client in the second network and access information of the second server in the second network.
The first processing unit 802 is configured to create a second socket according to the configuration information, where the second socket is used for the client to connect to a second server in a second network.
A second processing unit 803, configured to replace the first socket with a second socket, so that the target application points to the second socket with a file descriptor, where the file descriptor is used for calling the second socket to access the second server when the client runs the target application on the second network.
Optionally, the second processing unit 803 is specifically configured to replace the first socket with the second socket, so as to update the correspondence between the file descriptor and the first socket to the correspondence between the file descriptor and the second socket, so that the target application points to the second socket using the file descriptor.
Optionally, the obtaining unit 801 is further configured to determine, when the configuration information further includes application information of the target application, the target application according to the application information of the target application.
Optionally, the obtaining unit 801 is further configured to, when the access information of the client on the second network has a plurality of address information, determine the address information of the client on the second network according to the address information of the client in the existing connection information, where the configuration information further includes the existing connection information of the client and the first service on the first network.
Optionally, the obtaining unit 801 is further configured to determine, when the access information of the second server on the second network has a plurality of address information, address information of the second server on the second network according to address information of the first server in the existing connection information when the client and the first server are in the existing connection information of the first network.
Optionally, the first processing unit 802 is specifically configured to create the second socket when the access information of the client on the second network includes the IP address and the port number of the client on the second network, and bind the IP address and the port number of the client on the second network with the second socket.
Optionally, the first processing unit 802 is further configured to connect to the second service end according to access information of the second service end on the second network using the second socket.
Optionally, the second processing unit 803 is specifically configured to determine a file descriptor of the target application according to the access information of the client in the first network and the access information of the first server in the first network, and replace the first socket pointed to by the file descriptor with the second socket.
Optionally, the second processing unit 803 is further configured to release the first socket.
Optionally, the first processing unit 802 is further configured to suspend running the target application after acquiring the configuration information of the target application.
The second processing unit 803 is further configured to restore the target application to a running state after replacing the first socket with the second socket.
Optionally, the first processing unit 802 is further configured to load the migration module before acquiring the configuration information of the target application.
The second processing unit 803 is further configured to uninstall the migration module after the target application is restored to the running state by the migration module.
In the embodiment of the present application, the operations performed by each unit in the client are similar to those described in the embodiments shown in fig. 2A to fig. 7, and are not repeated here.
As shown in fig. 9, in the embodiment of the present application, a target application is running on the server 90, where the target application describes Fu Diaoyong a first socket through a file so that the server is connected to a first client in a first network, and the server is to be migrated to a second network, where there is a second client for sending an access request of the target application in the second network, and a structure of the server 90 includes:
The obtaining unit 901 is configured to obtain configuration information of a target application, where the configuration information includes access information of a server in a second network and access information of a second client in the second network.
The first processing unit 902 is configured to create a second socket according to the configuration information, where the second socket is used by the server to connect to a second client in a second network.
A second processing unit 903, configured to replace the first socket with a second socket, so that the target application points to the second socket with a file descriptor, where the file descriptor is used by the server to call the second socket to communicate with the second client when the second network runs the target application.
Optionally, the second processing unit 903 is configured to replace the first socket with the second socket, so as to update the correspondence between the file descriptor and the first socket to the correspondence between the file descriptor and the second socket, so that the target application points to the second socket using the file descriptor.
Optionally, the obtaining unit 901 is further configured to determine the target application according to the application information of the target application when the configuration information further includes the application information of the target application.
Optionally, the obtaining unit 901 is further configured to, when the access information of the client on the second network has a plurality of address information, further include the existing connection information of the client and the first service on the first network, and determine the address information of the client on the second network according to the address information of the client in the existing connection information.
Optionally, the obtaining unit 901 is further configured to determine, when the access information of the second server on the second network has a plurality of address information, the configuration information further includes existing connection information of the client and the first server on the first network, and determine, according to the address information of the first server in the existing connection information, the address information of the second server on the second network.
Optionally, the first processing unit 902 is specifically configured to create the second socket when the access information of the server on the second network includes an IP address and a port number of the server on the second network, and bind the IP address and the port number of the second socket and the server on the second network.
Optionally, the first processing unit is further configured to create a listening socket, where the listening socket is configured to listen to a port indicated by an IP address and a port number of the server in the second network, and connect to a second client using the second socket, where the second client is a client that is listening to the listening socket and requests to connect to the IP address and the port of the server in the second network.
Optionally, the second processing unit is specifically configured to determine an IP address and a port number of the first client in the first network according to an IP address and a port number of the second client in the second network and an IP address and a port number of the server in the second network, determine a file descriptor of the target application according to an IP address and a port number of the first client in the first network and an IP address and a port number of the server in the first network, and replace a first socket pointed by the file descriptor with a second socket.
Optionally, the first processing unit 902 is further configured to suspend, after obtaining the configuration information of the target application, running the target application through the migration module;
The second processing unit 903 is further configured to restore the target application to a running state after replacing the first socket with the second socket.
Optionally, the first processing unit 902 is further configured to load the migration module after obtaining the configuration information of the target application.
The second processing unit 903 is further configured to uninstall the migration module after restoring the target application to the running state.
In the embodiment of the present application, the operations performed by each unit in the server are similar to those described in the embodiments shown in fig. 2A to fig. 7, and are not repeated here.
In addition, as can be further understood with reference to fig. 10, a structure of a computer device provided in an embodiment of the present application may be a client/server, and as shown in fig. 10, the client/server 100 provided in an embodiment of the present application includes a processor 1001, a communication interface 1002, a memory 1003, and a bus 1004. The processor 1001, the communication interface 1002, and the memory 1003 are connected to each other by a bus 1004. In an embodiment of the application, the processor 1001 is configured to control and manage the actions of the client/server 100, for example, the processor 1001 is configured to generate a second socket according to the actions of the client/server 100, and replace the first socket with the second socket. The communication interface 1002 is used to support communication by the client/server 100, for example, the communication interface 1002 may perform the step of obtaining information from a mobility management node. Memory 1003 is used to store program codes and data for client/server 100.
The processor 1001 may be a central processing unit, a general purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof. Which may implement or perform the various exemplary logic blocks, modules and circuits described in connection with this disclosure. A processor may also be a combination that performs a computational function, such as a combination comprising one or more microprocessors, a combination of a digital signal processor and a microprocessor, and so forth. Bus 1004 may be a peripheral component interconnect standard (PERIPHERAL COMPONENT INTERCONNECT, PCI) bus, or an extended industry standard architecture (Extended Industry Standard Architecture, EISA) bus, among others. The buses may be divided into address buses, data buses, control buses, etc. For ease of illustration, only one thick line is shown in fig. 10, but not only one bus or one type of bus.
In another embodiment of the present application, there is also provided a computer-readable storage medium having stored therein computer-executable instructions that, when executed by a processor of a computer device, perform the steps performed by the client of fig. 2A to 7 described above.
In another embodiment of the present application, there is further provided a computer readable storage medium having stored therein computer executable instructions that when executed by a processor of a computer device, the computer device performs the steps performed by the server in fig. 2A to 7.
In another embodiment of the present application, there is also provided a computer program product comprising computer program code for, when executed on a computer, performing the steps performed by the client in fig. 2A to 7 described above.
In another embodiment of the present application, there is also provided a computer program product comprising computer program code for executing the steps performed by the server in fig. 2A to 7.
In another embodiment of the present application, there is also provided a chip system including one or more interface circuits and one or more processors, the interface circuits and the processors being interconnected by wires, the interface circuits being configured to receive signals from a memory of a computer device and to send signals to the processors, the signals including computer instructions stored in the memory, the computer device, when executing the computer instructions, performing the steps performed by the client of fig. 2A-7 described above. In one possible design, the system on a chip may further include memory to hold the program instructions and data necessary for the client. The chip system can be composed of chips, and can also comprise chips and other discrete devices.
In another embodiment of the present application, there is provided a chip system including one or more interface circuits and one or more processors, the interface circuits and the processors being interconnected by lines, the interface circuits being configured to receive signals from a memory of a computer device and to send signals to the processors, the signals including computer instructions stored in the memory, the computer device executing the steps performed by the server in fig. 2A to 7 described above when the processor executes the computer instructions. In one possible design, the system on a chip may further include a memory to hold the necessary program instructions and data for the server. The chip system can be composed of chips, and can also comprise chips and other discrete devices.
In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of elements is merely a logical functional division, and there may be additional divisions of actual implementation, e.g., multiple elements or components may be combined or integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units described above may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
When the integrated unit is implemented in software, it may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, produces a flow or function in accordance with embodiments of the present application, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by a wired (e.g., coaxial cable, fiber optic, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains an integration of one or more available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid State Drive (SSD)), etc.
Claims (41)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2023111175827 | 2023-08-31 | ||
CN202311117582 | 2023-08-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN119544824A true CN119544824A (en) | 2025-02-28 |
Family
ID=94713544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311840896.XA Pending CN119544824A (en) | 2023-08-31 | 2023-12-28 | Network connection thermal migration method and corresponding device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN119544824A (en) |
-
2023
- 2023-12-28 CN CN202311840896.XA patent/CN119544824A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10700979B2 (en) | Load balancing for a virtual networking system | |
US10831574B2 (en) | Remote procedure call method for network device and network device | |
US7761573B2 (en) | Seamless live migration of virtual machines across optical networks | |
JP6544872B2 (en) | Load balancing computer device, system and method | |
US8830870B2 (en) | Network adapter hardware state migration discovery in a stateful environment | |
US20130086200A1 (en) | Live Logical Partition Migration with Stateful Offload Connections Using Context Extraction and Insertion | |
CN115473907A (en) | Method and system for facilitating inter-container communication via cloud exchange | |
US20110239216A1 (en) | Service providing system, a virtual machine server, a service providing method, and a program thereof | |
CN109358967B (en) | ME platform APP instantiation migration method and server | |
WO2014169870A1 (en) | Virtual network element automatic loading and virtual machine ip address acquisition method and system, and storage medium | |
WO2019100266A1 (en) | Mobile edge host-machine service notification method and apparatus | |
US20150372935A1 (en) | System and method for migration of active resources | |
EP2575044A1 (en) | Method and system of using networked virtual machines of mobile devices in the cloud to provide mobile applications and services | |
Benomar et al. | Cloud-based enabling mechanisms for container deployment and migration at the network edge | |
US11388045B2 (en) | Virtual network element provisioning | |
CN109194589B (en) | MDC (media data center) implementation method and device | |
CN109857464B (en) | System and method for platform deployment and operation of mobile operating system | |
US11824943B1 (en) | Managed connectivity between cloud service edge locations used for latency-sensitive distributed applications | |
Guay et al. | Early experiences with live migration of SR-IOV enabled InfiniBand | |
CN119544824A (en) | Network connection thermal migration method and corresponding device | |
JP7212158B2 (en) | Provider network service extension | |
CN115827148A (en) | Resource management method and device, electronic equipment and storage medium | |
JP2019509647A (en) | Method and network service apparatus for migrating network service | |
US10824476B1 (en) | Multi-homed computing instance processes | |
KR101998625B1 (en) | Load balancing method of session cluster |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |