Server switching device, server switching system, and server switching method

The server switching device with a buffering unit addresses the issue of prolonged service interruptions and data loss by holding and re-inputting data during migration, ensuring efficient and uninterrupted service transitions in vRAN and 5G RAN systems.

WO2025197097A1PCT designated stage Publication Date: 2025-09-25NT T INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/011401
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-22
Publication Date
2025-09-25

AI Technical Summary

Technical Problem

Conventional server switching technologies, particularly in virtual Radio Access Networks (vRAN) and 5G RAN systems, suffer from prolonged service interruptions and discarded input data during live migration due to insufficient reduction in service interruption periods and processing delays, especially in systems requiring real-time performance.

Method used

A server switching device with a buffering unit that holds and re-inputs input data arriving during service interruptions, allowing early restart of the source device and synchronized operation with the destination device, thereby reducing service interruption periods and preventing data loss.

Benefits of technology

The solution effectively shortens service interruption periods and ensures that input data is not discarded, enabling seamless continuation of service by synchronizing the source and destination device states post-migration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024011401_25092025_PF_FP_ABST
    Figure JP2024011401_25092025_PF_FP_ABST
Patent Text Reader

Abstract

A buffering device (30) is used in a server switching system for switching a target device that processes input data to create output data from a migration source device (10) to a migration destination device (20). The buffering device (30) comprises a buffering unit (32) that holds input data received during a service interruption period accompanying service state transition from the migration source device (10) to the migration destination device (20), and inputs the input data to the migration source device (10) after the service interruption period on the migration source device (10) side has ended.
Need to check novelty before this filing date? Find Prior Art

Description

Server switching device, server switching system, and server switching method

[0001] The present invention relates to a server switching device, a server switching system, and a server switching method.

[0002] In a redundant configuration, there are multiple systems that process and respond to user input (request packets, etc.). When a failure occurs and the server needs to be switched from the active server to the standby server, the data stored on the active server is migrated to the standby server. This migration process can cause service interruptions and delays that can affect users. Therefore, live migration enables dynamic resource control of applications and systems, enabling, for example, power saving by shutting down the chassis during maintenance or balanced operation.

[0003] Live migration is disclosed in the following documents, for example: Patent Document 1 describes a container migration system. Non-Patent Document 1 describes live migration of a process using a memory copy method / pre-copy method with checkpoint / restore. Non-Patent Document 2 describes live migration of a communication device (CU: Central Unit) in 5G RAN (5th Generation Radio Access Network).

[0004] JP 2017-027496 A

[0005] CRIU, "Live Migration," [online], [Retrieved March 6, 2024], Internet <URL: https: / / criu.org / Live_migration> ScienceDirect, "Enabling containerized Central Unit live migration in 5G radio access network: An experimental study," [online], [Retrieved March 6, 2024], Internet <URL: https: / / www.sciencedirect.com / science / article / pii / S1084804523001868>

[0006] FIG. 18 is a configuration diagram of a communication system 100z performing live migration. The communication system 100z switches the connection destination of a client 60z from a source device 10z running a source APL 11z to a destination device 20z running a destination APL 21z. In the case of live migration, a freeze period is set between the cessation of operation in the source APL 11z and the resumption of operation in the destination APL 21z to prevent discrepancies in the memory contents between the source device 10z and the destination device 20z due to state changes during migration. During this freeze period, the source device 10z copies its memory contents to the destination device 20z. Meanwhile, even if the client 60z sends input data to the connection destination during this freeze period, the received input data is discarded. Therefore, the freeze period causes inconvenience to users as it causes processing interruptions (service interruptions).

[0007] FIG. 19 is an explanatory diagram showing an outline of the procedure for live migration. In this explanatory diagram, time passes from left to right on the diagram. When live migration (migration) begins, various processes (process freeze → memory copy → memory data transfer) are initiated on the source device 10z, and various processes (memory data transfer → process restoration → connection destination switching → process restart) are initiated on the destination device 20z. However, with conventional technology, a service interruption occurs between the memory copy on the source device 10z and the connection destination switching on the destination device 20z.

[0008] Furthermore, particularly in live migration targeting application processes or container-based virtualization, service interruption periods can be long. Therefore, in Patent Literature 1, when the source system determines that it is time to switch, it stops (freezes) the operation of the container and executes a final differential synchronization process. Then, after the final differential synchronization process, the destination system starts the operation of the container, thereby reducing the container downtime (service interruption period), using a method equivalent to a pre-copy method.

[0009] However, conventional technologies have not achieved the effect of reducing service interruption periods at a level required for a virtual Radio Access Network (vRAN) system, which requires high-speed processing. First, in the technologies of Patent Document 1 and Non-Patent Document 1, a service interruption period occurs during the container stop time from the differential synchronization process to the restart, so the reduction in service interruption periods is insufficient, and input data for memory copy during the service interruption period is not accepted, or even if accepted, is discarded.

[0010] Furthermore, the technology in Non-Patent Document 2 realizes live migration in CUs in 5G RAN. However, in communication systems that require real-time performance such as 5G (where sessions exist end-to-end), particularly in distributed units (DUs) that have stricter latency requirements than CUs, the effect of reducing service interruption periods is insufficient. This is because the technology in Non-Patent Document 2 frequently causes processing interruptions and input data discards due to the time required for migration processing, which may affect user communications.

[0011] Therefore, the main object of the present invention is to shorten the service interruption period that accompanies server switching processing and to prevent input data that arrives during the service interruption period from being discarded.

[0012] In order to solve the above problems, the server switching device of the present invention comprises the following means: The present invention is a server switching device used in a server switching system that switches from a source device to a destination device as a target device that creates output data by processing input data, characterized in that it has a buffering unit that holds the input data that arrives during a service interruption period associated with a service state transition from the source device to the destination device, and inputs the input data to the source device after the service interruption period on the source device side ends.

[0013] According to the present invention, it is possible to shorten the service interruption period that accompanies the server switching process and to prevent input data that arrives during the service interruption period from being discarded.

[0014] 7 is a configuration diagram of a communication system according to the present embodiment. FIG. 8 is an explanatory diagram illustrating an outline procedure of live migration using a buffering device according to the present embodiment. FIG. 9 is a time series graph showing an example of an inventory management system for explaining the processing of a buffering device according to the present embodiment. FIG. 10 is a time series graph showing a case where input data is issued from the same client as in FIG. 3 according to the present embodiment, and migration is performed by conventional live migration. FIG. 11 is a time series graph showing a case where input data is issued from the same client as in FIG. 3 according to the present embodiment, and migration is performed by live migration using a buffering device. FIG. 12 is a detailed configuration of a communication system according to the present embodiment. FIG. 13 is a configuration diagram of a form in which server switching is performed with an application process as the target in Example 1 according to the present embodiment. FIG. 14 is a hardware configuration diagram of each device in a communication system according to the present embodiment. FIG. 15 is a flowchart showing main processing executed by the communication system of FIG. 7 according to the present embodiment. FIG. 16 is a flowchart showing details of live migration processing by a source processing unit and a destination processing unit according to the present embodiment. FIG. 17 is a flowchart showing the operation of a buffering unit in a source device according to the present embodiment. FIG. 18 is a flowchart showing the operation of a buffering unit in a destination device according to the present embodiment. FIG. 19 is a flowchart showing the operation of an output comparing unit according to the present embodiment. FIG. 19 is a flowchart showing the operation of a health check unit according to the present embodiment. FIG. 19 is a flowchart showing the operation of an IF switching unit according to the present embodiment. FIG. 10 is a configuration diagram of a form of server switching in accordance with a virtualized environment as Example 2 related to this embodiment. FIG. 11 is a configuration diagram of a form of server switching in a case where a buffering device is provided in an external device of a target system as Example 3 related to this embodiment. FIG. 12 is a configuration diagram of a communication system that performs live migration. FIG. 13 is an explanatory diagram showing an outline of the procedure of live migration.

[0015] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.

[0016] 1 is a configuration diagram of a communication system 100. In the communication system 100, a target system is formed, such as a redundant configuration, with a source device 10, which is a server of the ACT (active) system, and a destination device 20, which is a server of the SBY (standby) system, as target devices that create output data from input data (request packets, etc.). On each server (target device) of the target system, applications (source APL 11, destination APL 21) operate as entities that respond to input data. A client 60 is an example of a device that transmits input data to a target device and obtains output data from the target device.

[0017] 18 , the communication system 100 of FIG. 1 switches the target device (e.g., the connection destination of the client 60) for processing input data from the source device 10 on which the source APL 11 runs to the destination device 20 on which the destination APL 21 runs. Here, in the case of live migration, in order to prevent discrepancies in the memory contents between the source device 10 and the destination device 20 due to state changes during migration, a freeze period is set between the stoppage of operation in the source APL 11 and the resumption of operation in the destination APL 21. During this freeze period, the source device 10 copies the memory contents to the destination device 20.

[0018] On the other hand, unlike the communication system 100z of FIG. 18, the communication system 100 of FIG. 1 includes a buffering device (server switching device) 30 for retaining input data transmitted from the client 60 during the freeze period without discarding it. The buffering device 30 resumes processing (early restart) after the transfer of memory data 18, 28 (FIG. 7) is completed in the source device 10, and retains (buffers) and re-inputs input data that arrives during the service interruption period. This reduces the service interruption period associated with the migration process and prevents input data from being discarded during the migration. In other words, the buffering device 30 allows for continued processing and response of input data that arrives during the service interruption period associated with the migration. To this end, the buffering device 30 includes a data duplication unit 31, a buffering unit 32, an output comparison unit 35, and an IF switching unit 36. Details of each processing unit of the buffering device 30 will be explained below with reference to FIGS. 2 to 5.

[0019] FIG. 2 is an explanatory diagram showing an outline of the procedure for live migration using a buffering device 30. Compared to the outline of the procedure for live migration in FIG. 19 , the procedure in FIG. 2 differs in the following ways: In the live migration procedure between the source device 10 and the destination device 20 shown in the upper part of FIG. 2 , the "switching" step in FIG. 19 is omitted. In the sequence of the buffering device 30 shown in the lower part of FIG. 2 (the steps enclosed in a dashed rectangle in the figure), the following steps have been added: "Start buffering → Resume source processing → Process retained input → Parallel input to destination → Health check → Switching." As a result, compared to the live migration in FIG. 19 , the live migration in FIG. 2 reduces the service interruption time and allows processing to continue without discarding input data.

[0020] An overview of the processing of the buffering device 30 will be described below with reference to FIGS. 3 to 5. FIG. 3 is a time-series graph showing an example of an inventory management system for explaining the processing of the buffering device 30. First, a case will be described in which a single inventory management server manages inventory without performing live migration. First, at midnight, the initial inventory amount of the warehouse managed by the inventory management server is set to 0. At 1:00, input data is received from client 60 indicating that 10 new items have been added to the warehouse, and the inventory management server increases the inventory amount of the warehouse to 10 items. Similarly, input data is issued from client 60 indicating that inventory will increase by 10 items every hour. As a result, at 4:00, the inventory management server sets the inventory amount of the warehouse to 40 items.

[0021] FIG. 4 is a time series graph showing a case where input data is issued from the same client 60 as in FIG. 3 and migration is performed using conventional live migration. For the operation from midnight to 2:00, the inventory amount of the inventory management server in FIG. 3 is the same as the inventory amount of the source device 10z (FIG. 18) shown in the solid line graph in FIG. 4. A service interruption period (2:30 to 3:30) occurs due to live migration from the source device 10z to the destination device 20z (FIG. 19). During this service interruption period, data is migrated (inventory amount is copied) from the source device 10z to the destination device 20z. After the service interruption period has elapsed (3:30), the inventory amount of the destination device 20z becomes "inventory amount = 20 units" (dashed line graph in FIG. 4). Then, input data for "add 10 units" is received at 4:00 PM, and the inventory amount of the destination device 20z is increased to 30 units. However, the input data for "10 additions" that occurred during the service interruption period is not processed by either the source device 10z or the destination device 20z and is discarded.

[0022] FIG. 5 is a time series graph showing a case where input data is issued from the same client 60 as in FIG. 3 and migration is performed by live migration using the buffering device 30. For the operation from 0:00 to 2:00, the inventory amount of the source device 10z shown in the solid line graph in FIG. 4 is the same as the inventory amount of the source device 10 shown in the solid line graph in FIG. 5. Since this time period is outside the service interruption period, the buffering device 30 transfers the input data from the client 60 to the source device 10 as is. Here, a service interruption period (2:30 to 3:10) occurs due to the live migration from the source device 10 to the destination device 20, but this is 20 minutes shorter than the service interruption period (2:30 to 3:30) in FIG. 4. During this shortened period (3:10 to 3:30), the source device 10 can cancel the service interruption and resume service (processing the input data from the client 60) after completing memory copy to the destination device 20 during the service interruption period.

[0023] Therefore, the buffering unit 32 of the buffering device 30 holds the input data for "adding 10 items" that arrived at 3:00 during the service interruption period (2:30 to 3:10) until the service interruption period ends. Furthermore, the data duplication unit 31 copies the input data held by the buffering unit 32 so that there are two pieces of input data in total: one to be re-input into the source device 10 and one to be re-input into the destination device 20. After the service interruption period has elapsed (3:10), the source device 10 resumes service, and at this point the buffering unit 32 re-inputs the input data into the source device 10, thereby increasing the inventory amount of the source device 10 to 30.

[0024] After a delay, when the destination device 20 also completes the procedure of "memory data transfer → process restoration → process restart" (FIG. 2) (3:30), it can take over the state of "inventory amount = 20 units" from the source device 10 and start service. At this point (3:35), the buffering unit 32 re-inputs the input data into the destination device 20, and the inventory amount of the destination device 20 is increased to 30 units (3:40).

[0025] Then, the output comparison unit 35 collects output data "inventory amount resulting from adding 10 items" in response to the input data "add 10 items" from each of the source device 10 and the destination device 20. The output comparison unit 35 compares both output data (inventory amount), and if the comparison results in a match, determines that the same service can be continued between the source APL 11 and the destination APL 21, and permits the IF switching unit 36 ​​to switch the service from the source device 10 to the destination device 20. This makes it possible to continue the same service even if a situation arises in which the processing states of the source device 10 and the destination device 20 differ due to differences in the timing of re-inputting input data between the source device 10 and the destination device 20, for example.

[0026] In accordance with permission from the output comparison unit 35, the IF switching unit 36 ​​switches the IF used for communication of input data from the client 60 and output data to the client 60 from the NIC of the source device 10 to the NIC of the destination device 20. This allows the source device 10 to end the service, and the final (4 o'clock) input data "Add 10 units" is processed by the destination device 20 (inventory amount = 40 units). In this way, the same input data is processed by both the source device 10 and the destination device 20, but the source device 10 can start the service before the destination device 20. Therefore, server switching is performed after the state (inventory amount) of the destination device 20 catches up with the state (inventory amount) of the source device 10. Furthermore, even after server switching is performed, the states of both devices are consistent.

[0027] As described above with reference to FIGS. 3 to 5, the following effects can be achieved. In the conventional live migration shown in FIG. 4, the source device 10z immediately terminates service after completing its own processing of the data migration process. On the other hand, in the live migration shown in FIG. 5, the source device 10 resumes service after completing its own processing of the data migration process, thereby shortening the service interruption period. In the conventional live migration shown in FIG. 4, input data that arrived during the service interruption period (input data at 3 o'clock) was not processed by either the source device 10z or the destination device 20z and was discarded. On the other hand, in the live migration shown in FIG. 5, the input data that arrived during the service interruption period was not discarded because the buffering unit 32 re-input the data after the service interruption period.

[0028] FIG. 6 shows a detailed configuration of the communication system 100. The buffering device 30 is used in a server switching system that switches the connection destination of a client 60 from the source device 10 to the destination device 20, where the source device 10 and the destination device 20 process input data from the client 60 to create output data. As shown in FIG. 1 , the buffering device 30 includes a data duplication unit 31, a buffering unit 32, an output comparison unit 35, and an IF switching unit 36. The buffering device 30 may further include a health check unit 33 and an output duplication unit 34. Note that in this embodiment, information indicating which layer each processing unit belongs to may also be illustrated. For example, in FIG. 6 , the IF switching unit 36 ​​belongs to software (OS kernel space / OS privileges) as the OS layer, and the other processing units belong to software (user space) as the APL layer.

[0029] The data duplication unit 31 duplicates input data (data packets, requests, etc.) from the client 60 to the target system, or output data (data packets, responses, etc.) from the target system to the client 60, and transmits the duplicated data to an arbitrary server, NIC, etc. Examples of the form in which the data duplication unit 31 is provided include software (user space), software (OS kernel space), and network devices. In other words, the data duplication unit 31 duplicates input data held by the buffering unit 32 during the service interruption period, and inputs the duplicated input data from the buffering unit 32 to the destination device 20 after the service interruption period on the destination device 20 side ends.

[0030] The buffering unit 32 buffers and stores input data from the client 60 to the target system during a service interruption period of the target system. The service interruption period is, for example, a period during which the operation of the process of the source APL 11 and the process of the destination APL 21 is stopped, frozen, or input reception is stopped. After the service interruption period ends and the buffering unit 32 detects notification or restart of the target system, the buffering unit 32 sequentially re-inputs (transmits) the input data stored in the buffer to the target system. In other words, the buffering unit 32 stores input data that arrives during a service interruption period associated with the service state transition from the source device 10 to the destination device 20, and then inputs the input data to the source device 10 after the service interruption period on the source device 10 side ends.

[0031] The health check unit 33 checks whether the destination APL 21 is operating normally after the service interruption period ends and service is resumed. The health check unit 33 monitors and verifies, for example, whether an error has occurred from the operation log of the destination APL 21, and whether there are any abnormalities in performance, functionality, or other aspects. If an error or abnormality is found as a result, the health check unit 33 notifies the user or the like. In other words, after the service interruption period on the destination device 20 side ends, the health check unit 33 checks whether the destination device 20 is operating normally and notifies the result.

[0032] The output comparison unit 35 stores in a buffer the output data from the destination device 20 and the output data from the source device 10 transmitted by the data duplication unit 31. The output comparison unit 35 compares both sets of output data stored in the buffer and confirms from outside the application that the output data match. Methods for confirming the match of output data include, for example, whether the number of outputs matches, whether the HTTP responses match, or whether the output data of Layer 3 and Layer 4 packets match. In other words, after the end of the service interruption period, the output comparison unit 35 compares the first output data created from the input data on the source device 10 side with the second output data created from the input data on the destination device 20 side, and if both sets of output data are identical, permits the process of switching the connection destination of the client 60 from the source device 10 to the destination device 20.

[0033] The IF switching unit 36 ​​switches between the source device 10 and the destination device 20 as the connection destination (communication partner for exchanging input and output data) between the client 60 and the target system. To this end, the IF switching unit 36 ​​configures the following for each device (client 60, source device 10, destination device 20): - Change of network interface (e.g., change of IP address or MAC address, change of routing information, etc.) - Stop of data duplication unit 31 - Change of input source and output destination of destination APL 21 from "buffering unit 32 and data duplication unit 31" to the primary NIC 29A of the destination device 20. At this time, it is desirable for the client 60 to perform no IF switching processing (client 60 transparency), but depending on the IF switching method, IF switching processing may be performed in cooperation with the client 60. If the switching is completed successfully, the IF switching unit 36 ​​stops the process of the source device 10. If a problem occurs during or after the switching, the IF switching unit 36 ​​executes a switchback process to the source device 10. In other words, the IF switching unit 36 ​​controls the switching from the NIC of the source device 10 to the NIC of the destination device 20 as the connection destination for the client 60 to communicate input data and output data.

[0034] The source device 10 has a source APL 11 and a source processing unit 12 in the APL layer, an IF switching unit 13 in the OS layer, and a primary NIC 19A and a management NIC 19B in the H / W (hardware) layer. The destination device 20 has a destination APL 21 and a destination processing unit 22 in the APL layer, an IF switching unit 23 in the OS layer, and a primary NIC 29A and a management NIC 29B in the H / W layer. The IF switching units 13 and 23 cooperate with an IF switching unit 36 ​​of the buffering device 30 to switch the IF (NIC) within their own devices, thereby realizing IF switching throughout the entire communication system 100. The primary NICs 19A and 29A and the management NICs 19B and 29B are ports of physical NICs in the server chassis. The main NICs 19A and 29A are U / C-Plane ports for communicating main signal data such as input data from the client 60 and output data to the client 60, and are ports that are connected to the client 60. The management NICs 19B and 29B are M-Plane ports for communicating management data and control instructions.

[0035] The source processing unit 12 and the destination processing unit 22 execute the live migration procedure between the source device 10 and the destination device 20 described in the upper part of Fig. 2. Specifically, the source processing unit 12 freezes the process of the source APL 11, acquires memory data 18 (Fig. 7) used by the source APL 11, and transfers the acquired content to the destination device 20. After this transfer, the source processing unit 12 resumes the source APL 11, thereby shortening the service interruption period. Meanwhile, the destination processing unit 22 restores and resumes the destination APL 21 (process) based on the memory data 28 (Fig. 7) received from the source processing unit 12.

[0036] That is, the source processing unit 12 freezes the process that provides the service in the source device 10 to start a service interruption period, transfers memory data indicating the state of the service to the destination device 20, and then ends the service interruption period and resumes the service in the source device 10. Furthermore, after starting the service interruption period, the destination processing unit 22 receives the memory data transferred from the source processing unit 12, restores the process that provides the service based on the memory data, and then ends the service interruption period and resumes the service in the destination device 20.

[0037] As described above, in FIG. 6 , a configuration in which the target system (migration source device 10, migration destination device 20) and the buffering device 30 are separated into separate housings has been described. Note that the configuration of providing the buffering device 30 is not limited to the configuration in FIG. 6 , and examples include a configuration in which the buffering device 30 is provided within the migration source device 10 and the migration destination device 20, a configuration in which the buffering device 30 is provided as an external server, and a configuration in which the buffering device 30 is provided as a network device. For example, the following embodiments are possible when configuring the target system and the buffering device 30. - Embodiment 1: A configuration in which server switching is performed with application processes as the target. - Embodiment 2: A configuration in which server switching is performed in accordance with a virtualized environment. - Embodiment 3: A configuration in which server switching is performed when the buffering device 30 is provided as an external device of the target system.

[0038] FIG. 7 is a configuration diagram of a form in which server switching is performed for application processes in the first embodiment. In FIG. 7, the communication system 100 adds the software functions of the buffering device 30 to the target systems (the source device 10 and the destination device 20). The data duplication unit 31 in FIG. 6 is separated into an input data duplication unit 31A that duplicates input data and an output data duplication unit 31B that duplicates output data. Memory data 18 and 28 are memory data used by the source APL 11 and the destination APL 21. In FIG. 7, the flow of main signal data is indicated by solid arrows, and the flow of management data and control instructions is indicated by dashed arrows.

[0039] 7, the following modifications may be made: The buffering unit 32, the data duplicating unit 31, and the output comparing unit 35 may be provided in either the source device 10 or the destination device 20. When acquiring input data from a network interface card (NIC), the data may be directly exchanged from the NIC to an application in user space using a data plane development kit (DPDK) framework.

[0040] FIG. 8 is a hardware configuration diagram of each device in the communication system 100. Each device (source device 10, destination device 20, buffering device 30, and client 60) in the communication system 100 is configured as a computer 900 having a CPU 901, RAM 902, ROM 903, HDD 904, communication I / F 905, input / output I / F 906, and media I / F 907. The communication I / F 905 is connected to an external communication device 915. The input / output I / F 906 is connected to an input / output device 916. The media I / F 907 reads and writes data from a recording medium 917. Furthermore, the CPU 901 controls each unit by executing a program (server switching program) loaded into RAM 902. This program (also called an application, or an app for short) can be distributed via a communication line or recorded on a recording medium 917 such as a USB memory stick.

[0041] 9 is a flowchart showing a main process executed by the communication system 100 of FIG. 7. First, the source device 10 starts the data duplication unit 31 (S11). The started data duplication unit 31 duplicates input data to the source device 10 (S111) and transmits the input data to the buffering units 32 of the source device 10 and the destination device 20 (S112). The source device 10 starts the buffering unit 32 (S12) and executes the source processing unit 12 (S13).

[0042] 10 is a flowchart showing details of the live migration process performed by the source processing unit 12 and the destination processing unit 22. First, the process freeze, transfer, and resume process (S120A) performed by the source processing unit 12 will be described. The source processing unit 12 of the source device 10 freezes the process of the source APL 11 (S121) and acquires memory data 18 of the source APL 11 (S122). The source processing unit 12 then transfers the memory data 18 as memory data 28 of the destination device 20 (S123) and resumes the process of the source APL 11 in the source device 10 (S124).

[0043] Next, a process restoration / restart process (S120B) of the migration destination processing unit 22 will be described. When the migration destination processing unit 22 of the migration destination device 20 receives memory data 28 from the migration source device 10 (S125), it uses the memory data 28 to restore the process of the migration destination APL 21 in the migration destination device 20 (S126). Then, the migration destination processing unit 22 resumes the restored process of the migration destination APL 21 (S127).

[0044] 11 is a flowchart showing the operation of the buffering unit 32 in the source device 10. The buffering unit 32 determines whether input data to the source device 10 has been received (S131A). If input data has been received (Yes in S131A), the buffering unit 32 determines whether a process for the source APL 11 in the source device 10 is running (S132A). If the buffering unit 32 receives a notification from the source processing unit 12 that the process has been resumed (S124), the buffering unit 32 determines that the process for the source APL 11 is running (Yes in S132A) and proceeds to S134A. On the other hand, if the process is frozen (No in S132A), the buffering unit 32 stores the received input data in a buffer in the source device 10 (S133A) to prevent the input data from being discarded.

[0045] Here, the buffering unit 32 determines whether or not there is input data held in the buffer of the source device 10 (S134A). If there is no input data (Yes in S134A), the buffering unit 32 performs input processing of the input data and response processing of the output data in the source device 10 (S135A). On the other hand, if there is input data (No in S134A), all of the input data held in the buffer is input to the source device 10 ("re-input" in FIG. 5) (S136A), and then the process proceeds to S135A.

[0046] FIG. 12 is a flowchart showing the operation of the buffering unit 32 in the migration destination device 20. The operation of the buffering unit 32 in the migration source device 10 in FIG. 11 (indicated by the symbol "A" at the end of the code, such as S131A) and the operation of the buffering unit 32 in the migration destination device 20 in FIG. 12 (indicated by the symbol "B" at the end of the code, such as S131B) are basically the same operation; the only difference is the device on which they are executed. However, the following points are different in operation. In FIG. 11, when the buffering unit 32 receives a notification of process resumption (S124) from the migration source processing unit 12, it determines that the process of the migration source APL 11 is running (Yes in S132A). On the other hand, in FIG. 12, when the buffering unit 32 receives a notification of process resumption (S127) from the migration destination processing unit 22, it determines that the process of the migration destination APL 21 is running (Yes in S132B). 11, the buffering unit 32 performs input processing of input data and response processing of output data in the source device 10 (S135A). On the other hand, in Fig. 12, the buffering unit 32 performs input processing of input data but omits response processing of output data in the destination device 20. This makes it possible to avoid a problem in which two pieces of output data are duplicated and responded to the client 60 from one piece of input data.

[0047] 13 is a flowchart showing the operation of the output comparison unit 35. The data duplication unit 31 of the source device 10 duplicates the output data (S201) and transfers the duplicated output data to the output comparison unit 35 of the destination device 20 (S202). The source device 10 and the destination device 20 each store their own output data in a buffer (in-memory) (S203). The output comparison unit 35 determines whether the output data stored in the buffer in S203 completely matches each other (S204). If the output data completely matches (Yes in S204), the output comparison unit 35 notifies the IF switching unit 36 ​​that the output data completely matches (S205). If the output data partially does not match (No in S204), the output comparison unit 35 notifies the IF switching unit 36 ​​that the output data does not match (S206).

[0048] FIG. 14 is a flowchart showing the operation of the health check unit 33. When the health check unit 33 detects the restart of a process on the migration destination device 20 by itself or receives notification of the restart of the process (S127) (S211), it performs a pre-health check (e.g., whether or not there are any errors) after the process is restarted (S212) and determines whether all check items have been cleared (S213). The health check unit 33 also performs periodic health checks of performance, delay time, etc. (S214) and determines whether the status has been normal (no problems) for a certain period (S215). If the results of S213 are Yes (all cleared) and S215 are Yes (normal status), the health check unit 33 notifies the IF switching unit 36 ​​of the (normal) completion of the health check (S217). On the other hand, if the results of S213 are No (some items have not been cleared) or S215 are No (an abnormal status), the health check unit 33 notifies the IF switching unit 36 ​​of the error result (S216).

[0049] 15 is a flowchart showing the operation of the IF switching unit 36. This flowchart is executed, for example, each time input data is input to the target system (S136A, S136B) and output data is generated as a result. The IF switching unit 36 ​​executes IF switching processing for the source device 10 and the destination device 20 (S221). Here, the IF switching unit 36 ​​may permit the IF switching processing of S221 if it receives at least one of a notification of a complete match of the output data from the output comparison unit 35 (S205) and a notification of (normal) completion of the health check from the health check unit 33 (S217). In accordance with the IF switching processing of S221, the IF switching unit 36 ​​executes IF switching for the source device 10 (IF switching unit 13) and the destination device 20 (IF switching unit 23), and an instruction for IF switching for the client 60 (S222).

[0050] At the end of S222, the connection destination of the client 60 has been switched to the destination device 20, and the source device 10 may terminate the service (see the description of FIG. 5). On the other hand, even after the connection destination has been switched to the destination device 20, the service of the source device 10 and the service of the destination device 20 may be operated in parallel for a while, and the IF switching unit 36 ​​may switch back from the destination device 20 to the source device 10 if a problem occurs in the service of the destination device 20.

[0051] In this case, the IF switching unit 36 ​​determines whether or not it has been confirmed that the service of the migration destination device 20 after switching is operating normally (S223). If it is operating normally (Yes in S223), the IF switching unit 36 ​​terminates the process of the migration source device 10 (migration source APL 11) (S224). On the other hand, if it is operating abnormally (No in S223), the IF switching unit 36 ​​executes a switchback (rollback) from the migration destination device 20 (migration destination APL 21) to the migration source device 10 (migration source APL 11) (S225).

[0052] 15, the first embodiment has been described. Next, a form of server switching in accordance with a virtualized environment will be described as a second embodiment. Note that in the second embodiment, a VM (Virtual Machine) environment is exemplified as an example of the virtualized environment, but other virtualized environments such as a container environment may also be used.

[0053] 16 is a configuration diagram of a second embodiment of the present invention, in which server switching is performed in accordance with a virtualized environment. The source device 10 and the destination device 20 each have the functionality of a buffering device 30 (a buffering unit 32) in their virtualization layers, thereby performing system migration and switching in accordance with the virtualized environment. This virtualization layer provides network-related functions using, for example, Open vSwitch or a Linux bridge tap interface and a program that buffers data.

[0054] The APL layer of the source device 10 has one or more source VMs 11B that provide services similar to the source APL 11. The virtualization layer of the source device 10 has VM data 18B, which is the source VM 11B in the form of, for example, an image, similar to the memory data 18. The APL layer of the destination device 20 has one or more destination VMs 21B that provide services similar to the destination APL 21. The virtualization layer of the destination device 20 has VM data 28B, which is the destination VM 21B in the form of, for example, an image, similar to the memory data 28. The virtualization layer also has virtual NICs 19V and 29V implemented by VETH or the like to enable the source VM 11B and the destination VM 21B to communicate with the physical host. Furthermore, each function of the buffering device 30 may be configured to provide a function as the source VM 11B and the destination VM 21B.

[0055] Next, an example in which the communication system 100 is applied to a 5G RAN will be described as a third embodiment. In the first and second embodiments, server switching is performed for a target system that communicates with a client 60, but in the third embodiment, the target system communicates with another backend server as a client, and the backend server is not switched. That is, in the third embodiment, server switching is performed for a virtualized application of a distributed unit (DU) that constitutes a 5G RAN when a buffering device 30 is included in a network device that is an external device.

[0056] FIG. 17 is a configuration diagram showing a server switching mode in a case where a buffering device 30 is included in an external device of a target system as a third embodiment. The buffering device 30 in FIG. 17 is realized as 5G RAN hardware (network device). The RU (Radio Unit) 40 is a wireless unit of the 5G RAN and is a device that executes wireless section processing to connect a client 60 to a backend server. The RU 40 includes a client 41, an IF switching unit 42, and a primary NIC 49. The client 41 is a UE (User Equipment) connected (accommodated) to the RU 40 and has the same functions as the client 60 in FIG. 1. The primary NIC 49 is an IF (NIC) through which the RU 40 communicates primary signals (U-Plane, C-Plane). The IF switching unit 42 switches the connection destination of the primary NIC 49 included in the RU 40.

[0057] The CU 50 is a backend server that responds to request processing from the client 60. When performing server switching of the target system, switching on the backend server side is also required. The CU 50 has a primary NIC 59, a vCU 51, and an IF switching unit 52. The vCU 51 is a software-virtualized application of the CU 50, and is composed of virtual machines and containers, like the migration destination VM 21B. The primary NIC 59 is an IF (NIC) through which the CU 50 communicates primary signals (U-Plane, C-Plane). The IF switching unit 52 switches the connection destination of the primary NIC 59 possessed by the CU 50.

[0058] The following modifications may be used in the third embodiment. An application may receive input bidirectionally from not only the client 41 but also the backend server, and both sets of input data may be stored. A buffering device 30 may be provided as an external device to the target system, and the buffering device 30, which is an external device, may be linked and controlled via a management network or the like to switch the target system. A target device in the target system may be the client 60 (having the functions of the client 41), and the backend server may switch the client side (e.g., change the accommodating base station). In other words, the device that transmits input data to the target device and receives output data from the target device is not limited to the client 60, and may be any device.

[0059] [Effect] The present invention is a buffering device 30 used in a server switching system that switches from a source device 10 to a destination device 20 as a target device that creates output data by processing input data, and is characterized by having a buffering unit 32 that holds input data that arrives during a service interruption period associated with the transition of the service state from the source device 10 to the destination device 20, and inputs the input data to the source device 10 after the service interruption period on the source device 10 side has ended.

[0060] As a result, even if a service interruption period occurs, the buffering device 30 can shorten the service interruption period associated with server switching by quickly resuming service on the source device 10 (earlier than on the destination device 20). Furthermore, the buffering device 30 can prevent input data that arrives during the service interruption period from being discarded by holding the input data until the end of the service interruption period and re-inputting the data after the end of the service interruption period.

[0061] The present invention is characterized in that the buffering device 30 further includes a data duplication unit 31, and the data duplication unit 31 duplicates the input data held by the buffering unit 32 during the service interruption period, and inputs the duplicated input data from the buffering unit 32 to the destination device 20 after the service interruption period on the destination device 20 side has ended.

[0062] As a result, the buffering device 30 can make the service status of both the source device 10 and the destination device 20 the same by inputting the same input data to both devices.

[0063] The present invention is characterized in that the buffering device 30 further comprises a health check section 33, which checks whether the destination device 20 is operating normally after the end of the service interruption period on the destination device 20 side, and notifies the result.

[0064] This allows the buffering device 30 to detect an unstable state of the service on the transfer destination device 20 side.

[0065] The present invention is characterized in that the buffering device 30 further includes an output comparison unit 35, which, after the service interruption period ends, compares first output data created from input data on the source device 10 side with second output data created from input data on the destination device 20 side, and if both output data are identical, permits processing to switch the target device from the source device 10 to the destination device 20. As a result, even if a temporary status discrepancy occurs between the source device 10 and the destination device 20, the buffering device 30 does not permit server switching until the status discrepancy is resolved. Therefore, the buffering device 30 can guarantee that the source device 10 and the destination device 20 will provide the same service.

[0066] The present invention is characterized in that the buffering device 30 further includes an IF switching unit 36, and the IF switching unit 36 ​​controls the target device to switch from the NIC of the source device 10 to the NIC of the destination device 20 as the NIC for communicating input data and output data.

[0067] This allows the buffering device 30 to switch servers without the client 60 explicitly instructing the server switch.

[0068] The present invention is a server switching system having a buffering device 30, a source device 10, and a destination device 20, wherein the source device 10 has a source processing unit 12 that freezes the process that provides the service on the source device 10 to start a service interruption period, transfers memory data indicating the status of the service to the destination device 20, and then ends the service interruption period and resumes the service on the source device 10; and the destination device 20 has a destination processing unit 22 that, after starting the service interruption period, receives the memory data transferred from the source processing unit 12, restores the process that provides the service based on the memory data, and then ends the service interruption period and resumes the service on the destination device 20.

[0069] As a result, the source device 10 can resume services before the destination device 20, thereby shortening the period during which services are interrupted.

[0070] DESCRIPTION OF SYMBOLS 10 Source device 11 Source APL 11B Source VM 12 Source processing unit 13 IF switching unit 18 Memory data 18B VM data 19A Main NIC 19B Management NIC 19V Virtual NIC 20 Destination device 21 Destination APL 21B Destination VM 22 Destination processing unit 23 IF switching unit 28 Memory data 28B VM data 29A Main NIC 29B Management NIC 29V Virtual NIC 30 Buffering device (server switching device) 31 Data duplication unit 31A Input data duplication unit 31B Output data duplication unit 32 Buffering unit 33 Health check unit 34 Output duplication unit 35 Output comparison unit 36 ​​IF switching unit 60 Client 100 Communication system

Claims

1. A server switching device used in a server switching system that switches from a source device to a destination device as a target device that creates output data by processing input data, characterized in that the server switching device has a buffering unit that holds the input data that arrives during a service interruption period associated with the transition of the service state from the source device to the destination device, and inputs the input data into the source device after the service interruption period on the source device side has ended.

2. The server switching device according to claim 1, further comprising a data duplication unit, which copies the input data held by the buffering unit during the service interruption period and inputs the copied input data from the buffering unit to the destination device after the service interruption period on the destination device side has ended.

3. The server switching device according to claim 1, further comprising a health check unit, which checks whether the destination device is operating normally after the service interruption period on the destination device has ended, and notifies the result of the check.

4. The server switching device according to claim 1, further comprising an output comparison unit, which, after the service interruption period ends, compares the first output data created from the input data on the source device side with the second output data created from the input data on the destination device side, and if both sets of output data are identical, allows the process of switching the target device from the source device to the destination device.

5. The server switching device according to claim 1, further comprising an IF switching unit, which controls the target device to switch from the NIC of the source device to the NIC of the destination device as the NIC for communicating the input data and the output data.

6. A server switching system comprising a server switching device according to any one of claims 1 to 5, the source device, and the destination device, wherein the source device has a source processing unit that freezes a process that provides a service on the source device to start the service interruption period, transfers memory data indicating the status of the service to the destination device, and then ends the service interruption period and resumes the service on the source device, and the destination device has a destination processing unit that, after starting the service interruption period, receives memory data transferred from the source processing unit, restores the process that provides the service based on the memory data, and then ends the service interruption period and resumes the service on the destination device.

7. A server switching method using a server switching device used in a server switching system that switches from a source device to a destination device as a target device that creates output data by processing input data, wherein the server switching device has a buffering unit, and the buffering unit holds the input data that arrives during a service interruption period associated with the transition of the service state from the source device to the destination device, and executes a process to input the input data to the source device after the service interruption period on the source device side has ended.

Citation Information

Patent Citations

  • Management system, management method and management program

    JP2017130786A

  • Mirror packet control program, mirror packet control method, and mirror packet controller

    JP2017227998A

  • Reducing service downtime during service migration

    US20200073704A1