Communication system, central office packet redundancy device, method and program
The central office packet redundancy device addresses inefficiencies and high costs in large-scale networks by using load balancing and static IP address-based allocation to manage packet processing loads, enhancing efficiency and reducing costs.
Patent Information
- Application Number
- JP2021157687
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-09-28
- Publication Date
- 2025-09-02
- Estimated Expiration
- 2041-09-28
AI Technical Summary
Existing IP network redundancy methods are inefficient and costly when applied to large-scale networks with numerous mobile stations, such as train radio systems, due to high packet processing loads and duplication processing in central stations.
A communication system with a central office packet redundancy device that uses load balancing and packet processing devices to equalize loads by determining transfer destinations based on the first part of the IP address, employing a static allocation method to improve efficiency and reduce costs.
The system efficiently processes redundant packets by equalizing loads on packet processing devices, reducing implementation costs and improving processing efficiency in large-scale networks.
Smart Images

Figure 0007732663000001 
Figure 0007732663000002 
Figure 0007732663000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a communication system that improves communication reliability by duplicating packets and communicating via multiple routes, and to a configuration of a packet redundancy device and a method for implementing the same. [Background technology]
[0002] In recent years, with the widespread use and falling prices of IP (Internet Protocol) network equipment, the application of IP networks to various communication networks such as voice communication systems and train radio systems has been promoted. As a method to ensure the reliability of such IP networks, various redundancy methods for IP networks have been proposed.
[0003] Typical redundancy techniques for such IP networks include (1) retransmission control techniques, such as those used in TCP (Transmission Control Protocol) / IP; (2) techniques that use dynamic routing protocols, such as RIP (Routing Information Protocol), OSPF (Open Shortest Path First), and BGP (Border Gateway Protocol), to detect disconnected routes and automatically switch routes; and (3) techniques that detect failures in network equipment, such as STP (Spanning Tree Protocol), VRRP (Virtual Router Redundancy Protocol), ring protocols, and stacks, and switch to redundantly placed network equipment.
[0004] Such general redundancy methods have the advantages of low implementation costs due to the widespread availability of compatible devices, and the ability to be implemented between network devices from different manufacturers due to standardization. However, they are not fast enough to track dynamic line disconnections and packet loss caused by fading fluctuations that frequently occur in wireless communication networks, resulting in degradation of communication quality in applications that require high real-time performance, such as voice communications.
[0005] One method proposed to solve the above problems is to reduce the impact of route disconnections and packet loss by duplicating packets and forwarding them over multiple routes.For example, Patent Document 1 proposes a system that reduces the impact of packet loss by duplicating and forwarding IPSec packets and discarding duplicate packets on the receiving side.
[0006] Similarly, Patent Document 2 also proposes a method for transferring packets without interruption by transferring packets over a plurality of routes and transmitting the packets while adjusting the delay difference between the packets. [Prior art documents] [Patent documents]
[0007] [Patent Document 1] Japanese Patent Application Laid-Open No. 2012-70077 [Patent Document 2] Japanese Patent Application Laid-Open No. 2012-178665 Summary of the Invention [Problem to be solved by the invention]
[0008] By using the IP packet redundancy technique described above, it is possible to improve the reliability of IP networks while ensuring real-time performance, which is the objective of the present invention. However, when using the above technique in a large-scale network system that requires highly reliable communications with a large number of vehicles, such as a train radio system, there are many packet redundancy devices in the opposing mobile stations, and the amount of packet processing, such as duplication processing and discarding of duplicate packets, in the packet redundancy device in the central station becomes enormous. Therefore, the general technique has problems such as low implementation efficiency and very high implementation costs.
[0009] In view of the above-mentioned problems, an object of the present invention is to provide a communication system, a packet redundancy device, a method, and a program that can efficiently process redundant packets. [Means for solving the problem]
[0010] A communication system according to an exemplary embodiment of the present invention includes: a plurality of mobile station packet redundancy devices for transmitting and receiving packets; a central station packet redundancy device that processes packets transmitted by the server or the plurality of mobile station packet redundancy devices; The central office packet redundancy device a load balancing device that transfers packets received from a server or a mobile station packet redundancy device to a plurality of packet processing devices so as to equalize the loads on the plurality of packet processing devices; a plurality of packet processing devices that process packets transferred by the load balancer; A switch that forwards packets received from a plurality of packet processing devices; Equipped with The load balancer determines a transfer destination of the packet based on a first part of the IP address of the information processing device of the mobile station, and transfers the packet to the determined packet processing device as the transfer destination.
[0011] A packet redundancy device according to an exemplary embodiment of the present invention comprises: a load balancer that transfers received packets to a plurality of packet processing devices so as to equalize the loads on the plurality of packet processing devices; a plurality of packet processing devices that process packets transferred by the load balancer; A switch that forwards packets received from a plurality of packet processing devices; Equipped with The load distribution device determines a transfer destination of the packet based on a first part of the IP address of the information processing device of the mobile station, and transfers the packet to the determined packet processing device as the transfer destination.
[0012] Furthermore, a method according to an exemplary embodiment of the present invention includes: determining a transfer destination of the packet from among the plurality of packet processing devices based on a first part of an IP address of the information processing device of the mobile station included in the received packet so that the loads on the plurality of packet processing devices are equalized; The packet is transferred to the determined destination packet processing device.
[0013] Furthermore, the program according to an exemplary embodiment of the present invention causes a computer to: determining a transfer destination of a packet from among the plurality of packet processing devices based on a first part of an IP address of an information processing device of a mobile station included in a received packet so that loads on the plurality of packet processing devices are equalized; and a step of transferring the packet to the determined packet processing device as the transfer destination. [Effects of the Invention]
[0014] According to the present invention, it is possible to provide a communication system, a packet redundancy device, a method, and a program that can efficiently process redundant packets. [Brief explanation of the drawings]
[0015] [Figure 1]1 is a schematic diagram illustrating an example of a communication system according to an exemplary embodiment of the present invention; [Figure 2] 1 is a block diagram illustrating a central office packet redundancy device in accordance with an exemplary embodiment of the present invention. [Figure 3] 1 is a diagram illustrating an example of a network configuration of a communication system according to an exemplary embodiment of the present invention. [Figure 4] FIG. 10 illustrates an example of a mobile station subnet mask and wildcards for filtering according to an exemplary embodiment of the present invention. [Figure 5] 2 is a block diagram illustrating a packet processing unit of a central office packet redundancy device according to an exemplary embodiment of the present invention; [Figure 6] FIG. 4 illustrates processing features of a selection processor according to an exemplary embodiment of the present invention. [Figure 7] FIG. 10 is a diagram illustrating an example of information registered in a database according to an exemplary embodiment of the present invention. [Figure 8] FIG. 10 is a diagram showing an example of a check bit string according to an exemplary embodiment of the present invention. [Figure 9] FIG. 10 is a diagram illustrating an example of an IP address of a mobile station packet redundancy device. [Figure 10] 10 is a flowchart illustrating an example of a process performed by a central office packet redundancy device according to an exemplary embodiment of the present invention. [Figure 11] 10 is a flowchart illustrating an example of a process performed by a central office packet redundancy device according to an exemplary embodiment of the present invention. [Figure 12] 10 is a flowchart illustrating an example of a process performed by a central office packet redundancy device according to an exemplary embodiment of the present invention. [Figure 13] FIG. 10 is a diagram illustrating a method for implementing a general packet selection process. [Figure 14] FIG. 10 is a diagram illustrating another general implementation method of packet selection processing. DETAILED DESCRIPTION OF THE INVENTION
[0016] Hereinafter, exemplary embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a schematic diagram showing an example of a communication system 1 according to an exemplary embodiment of the present invention. The communication system 1 includes a central station that performs overall control of the communication system 1, a plurality of base stations, and a plurality of mobile stations. A specific example of the communication system 1 is a train wireless communication system. A specific example of the mobile station is a train.
[0017] The central office includes a server 10 and a central office packet redundancy device 11. The server 10 processes various data used in the communication system 1. The central office packet redundancy device 11 transfers data between the central office and the base stations via networks 40 and 50. The networks 40 and 50 may include wired networks and wireless networks. The configuration of the central office packet redundancy device 11 will be described later with reference to FIG. 2.
[0018] Each of the base stations includes a wireless communication device 21, 22. The wireless communication devices 21, 22 transfer data between the base station and a central station via networks 40, 50. The wireless communication devices 21, 22 also transfer data between the base station and a mobile station by wireless communication. Note that a base station may include any number of wireless communication devices.
[0019] Each of the multiple mobile stations includes wireless communication devices 31 and 32, mobile station packet redundancy devices 33-1 to 33-N, and clients 34A to 34C. The wireless communication devices 31 and 32 are devices that transfer data between the mobile stations and the base station via wireless communication. The mobile station packet redundancy devices 33-1 to 33-N are devices that transfer data between the wireless communication devices 31 and 32 and the clients 34A to 34C. The clients 34A to 34C are devices that process various types of data used in the communication system 1. Note that the mobile station may include any number of wireless communication devices and clients.
[0020] FIG. 2 is a diagram showing the configuration of the central office packet redundancy device 11. The central office packet redundancy device 11 has both the function of forwarding packets received from the server 10 to the mobile station and the function of forwarding packets received from the mobile station to the server 10. To distribute the load of packets received from the server 10, the central office packet redundancy device 11 uses the IP address of the mobile station client 34, which is the destination address of the packets. On the other hand, to distribute the load of packets received from the mobile station, the central office packet redundancy device 11 uses the IP address of the mobile station packet redundancy device 33, which is the source address of the packets. The central office packet redundancy device 11 includes a load distribution device 12, packet processing devices 13 to 16, and a switch 17. The central office packet redundancy device 11 may include any number of packet processing devices.
[0021] The load distribution device 12 is a device that selectively transfers packets received from the outside to the packet processing devices 13 to 16 so that the amount of processing by the packet processing devices 13 to 16 is equalized.
[0022] A typical implementation method for a conventional load balancer 12 is to measure the data volume of packets received by the load balancer 12 for each destination packet processing device, and each time a session establishment request is made, estimate which packet processing device has the available processing volume based on the data volume measurement results up to that point, and assign the session to the estimated packet processing device. However, this method requires the load balancer to perform load estimation processing and dynamic session allocation processing, which increases the processing volume of the load balancer and increases processing costs.
[0023] In this embodiment, in order to improve the efficiency of the processing of the load distribution device 12, a network configuration such as that shown in Fig. 3 is adopted. That is, the network configurations of all mobile stations A to C are made symmetrical, and the average transmission capacities of all mobile stations A to C are made approximately the same. In addition, the subnet masks of all mobile stations A to C are made the same. By adopting such a configuration and using the following method, the processing of the load distribution device 12 can be made more efficient.
[0024] Here, the symmetrical network configurations of mobile stations A to C means that the network configurations of each mobile station are almost the same. Specifically, this means that the subnet masks of the information processing devices of each mobile station match. More specifically, this means that the network address section and host address section of the IP address of the information processing device of each mobile station match. This makes it possible to identify a mobile station using the lower bits of the network address section. The information processing devices of the mobile stations include mobile station packet redundancy devices 33-1 to 33-N and clients 34A to 34C. Furthermore, the symmetrical network configurations of mobile stations A to C also mean that, from the perspective of load distribution, there is no significant difference in traffic between the mobile stations.
[0025] The load distribution device 12 determines a packet processing device to process a received packet based on a first part of the IP address of the information processing device of the mobile station included in the IP header of the packet. Specifically, the load distribution device 12 determines a packet processing device to which the packet is to be transferred based on a first part of the IP address of the client 34A to 34C of the mobile station or a first part of the IP address of the mobile station packet redundancy devices 33-1 to 33-N.
[0026] More specifically, the load balancing device 12 uses a filtering wildcard as shown in FIG. 4 to extract a first part of the IP address of the mobile station packet redundancy devices 33-1 to 33-N or a first part of the IP address of the mobile station clients 34A to 34C, and determines the forwarding destination of the packet.
[0027] In the example shown in Fig. 4, the two least significant bits of the network address section correspond to the first part of the IP address used to determine the forwarding destination of the packet. The number of bits in the first part is determined depending on the number of packet processing devices implemented in the central station packet redundancy device 11. In the example shown in Fig. 4, "00", "01", "10", and "11" correspond to the packet processing devices 13, 14, 15, and 16, respectively. For example, when the load distribution device 12 receives a packet including the IP address of the mobile station packet redundancy device shown in Fig. 9, it determines the packet processing device 13 as the forwarding destination of the packet and forwards the packet to the packet processing device 13. Note that the most significant bits of the network address section may be used as the first part of the IP address used to determine the forwarding destination of the packet.
[0028] The IP addresses of the mobile station packet redundancy devices 33-1 to 33-N and the IP addresses of the mobile station clients 34A to 34C are assigned so as to average the load on the packet processing devices 13 to 16 to which packets are transferred. Specifically, IP addresses with a first part of "00", IP addresses with a first part of "01", IP addresses with a first part of "10", and IP addresses with a first part of "11" are assigned substantially equally to the multiple clients 34A to 34C. This makes it possible to average the load on the packet processing devices 13 to 16 to which packets are transferred.
[0029] As described above, by making the network configurations of all mobile stations A to C symmetrical and using the same subnet mask to determine the packet processing devices 13 to 16 to which packets are forwarded, it becomes possible to statically allocate packets to the packet processing devices 13 to 16. This makes it possible to improve the efficiency of the forwarding process of the load balancer 12 compared to a configuration in which packets are dynamically allocated. Here, "statically" means that the allocation of packets to the packet processing devices 13 to 16 does not change dynamically, for example, so that the above-mentioned "00", "01", "10", and "11" correspond to the packet processing devices 13, 14, 15, and 16, respectively.
[0030] The packet processing devices 13 to 16 are devices that perform redundancy processing on packets transferred from the load balancer 12. The redundancy processing includes selection processing and distribution processing. The selection processing is processing that determines whether packets arriving from multiple routes are duplicated and discards the duplicated packets. The distribution processing is processing that copies one packet and transfers the multiple copies to multiple routes via the switch 17. The packet processing devices 13 to 16 will be described in detail later with reference to FIG. 5.
[0031] The switch 17 transfers packets received from the packet processing devices 13 to 16 via multiple routes. A specific example of the switch 17 is an L3 (Layer 3) switch. For example, the switch 17 transfers the packets via two networks 40 and 50.
[0032] 5 is a diagram showing the configuration of the packet processing device 13. The packet processing devices 13 to 16 each include a selection processing unit 100-1, a distribution processing unit 200, a communication interface (I / F) 110, and a storage device 120. The packet processing devices 14 to 16 each have the same configuration as the packet processing device 13.
[0033] The selection processing unit 100-1 is a block that receives packets duplicated by the mobile station packet redundancy unit 33-1 and executes processing to discard the duplicated packets. The packet processing unit 13 can generate multiple selection processing units according to the number of mobile station packet redundancy units 33.
[0034] The distribution processing unit 200 is a block that executes a process of duplicating packets received from the server 10 of the central office and distributing the multiple packets thus copied to multiple routes.
[0035] The functions of the selection processing unit 100-1 and the distribution processing unit 200 can be realized by a processor 130, such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit), reading and executing a program according to an exemplary embodiment of the present invention from the storage device 120. Note that the functions of the selection processing unit 100-1 and the distribution processing unit 200 may also be realized by an integrated circuit, such as an FPGA (Field-Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit).
[0036] 6 shows characteristics of the processing of the selection processing units 100-1 to 100-N according to an exemplary embodiment of the present invention. The central station packet redundancy device 11 in the target system needs to execute selection processing in parallel for a large number of mobile station packet redundancy devices 33-1 to 33-N. The selection processing uses a sequence number (packet # in FIG. 6) which is packet identification information. The sequence number is generated individually by the mobile station packet redundancy device 33-1 to 33-N that transmits the packet. Each mobile station packet redundancy device 33-1 to 33-N generates the sequence number based on the transmission order of the packet. The sequence number corresponds to identification information based on the transmission order in the mobile station packet redundancy device that transmits the packet. Since the sequence number differs for each mobile station, the packet processing devices 13 to 16 of the central station packet redundancy device 11 generate individual selection processing devices 100-1-1 to 100-N for the corresponding mobile station packet redundancy devices 33-1 to 33-N, respectively, and manage the databases for each mobile station packet redundancy device 33-1 to 33-N individually.
[0037] 5, the selection processing unit 100-1 according to an exemplary embodiment of the present invention includes a time difference determination unit 101, a packet determination unit 102, a packet forwarding unit 103, a forwarding management unit 104, a data update unit 105, and a counter determination unit 106. The processes executed by these programs will be described later with reference to FIGS.
[0038] The communication I / F 110 is an interface for communicating with the server 10 and the mobile station packet redundancy devices 33-1 to 33-N via the load balancer 12, the switch 17, and the like.
[0039] The storage device 120 is a storage device that stores a program according to an exemplary embodiment of the present invention, various data and databases processed by the load distribution device 12. In the storage device 120, a database (hereinafter referred to as a "packet management database") is constructed for each of the mobile station packet redundancy devices 33-1 to 33-N in order to manage packets transmitted by the mobile station packet redundancy devices 33-1 to 33-N.
[0040] 7 is a diagram showing an example of information registered in the packet management database. The information registered in the database includes a transferred sequence number, a check bit string, a packet number counter, and a last received time. This information is registered in the packet management database in association with an identification value (hereinafter referred to as an "index value") for identifying data used by the packet processing devices 13 to 16. In this embodiment, a single transferred sequence number, a single check bit string, a single packet number counter, and a single last received time are registered in the packet management database.
[0041] The transferred sequence number is the sequence number of the packet last transferred from the packet processing devices 13 to 16 (hereinafter referred to as the "finally transferred packet") for each source mobile station packet redundancy device.
[0042] The check bit string is a bit string for managing packets received from a mobile station, and is used, for example, by the packet processing devices 13 to 16 to determine whether or not a packet is to be transferred.
[0043] Fig. 8 is a diagram showing an example of a check bit string. A value indicating whether a packet has been forwarded or not is recorded in the check bit string in the order in which the packets were transmitted in the source mobile station packet redundancy device. In the example shown in Fig. 8, a value indicating that the last forwarded packet has been forwarded is recorded in the least significant bit. In the example shown in Fig. 8, "1" is a value indicating that the packet has been forwarded, and "0" is a value indicating that the packet has not been forwarded. From the least significant bit (b0) to the most significant bit, values indicating whether a packet has been forwarded or not are recorded in the order in which the packets were transmitted in the source mobile station packet redundancy device. For example, a value indicating whether a packet transmitted immediately before the last forwarded packet in the source mobile station packet redundancy device has been forwarded or not is recorded in the most significant bit (b1) of the least significant bit.
[0044] The packet counter is a counter that counts the number of times a packet is received that does not have a value in the check bit string indicating whether it has been forwarded or not. In other words, the packet counter counts the number of times a packet that is outside the range of the check bit string is received.
[0045] The packet processing devices 13 to 16 calculate the difference between the sequence number of the received target packet and the sequence number of the last forwarded packet, and determine whether a value indicating whether the target packet will be forwarded is recorded in the check bit string based on a comparison between the calculated difference and the number of bits in the check bit string. For example, if the check bit string is 64 bits, and the difference between the sequence number of the target packet and the sequence number of the last forwarded packet is 64 or more, the packet processing devices 13 to 16 determine that a value indicating whether the target packet will be forwarded is not recorded in the check bit string. On the other hand, if this difference is less than 64, the packet processing devices 13 to 16 determine that a value indicating whether the target packet will be forwarded is recorded in the check bit string. The length of the check bit string can be set arbitrarily.
[0046] The final reception time is the final time when the packet processing devices 13 to 16 received the final forwarded packet. The final reception time is updated every time a packet is forwarded in the packet processing devices 13 to 16. Note that the forwarding time of the final forwarded packet may be used instead of the final reception time.
[0047] The packet processing devices 13 to 16 generate an index value for identifying data to be used by the packet processing devices 13 to 16, based on the second part of the IP address of the mobile station packet redundancy device 33-1 to 33-N included in the IP address of the received packet. The packet processing devices 13 to 16 use the index value to select data to be used by the packet processing device. Specifically, the packet processing devices 13 to 16 select the packet management database of the mobile station redundancy device identified by the index value included in the IP address of the received packet.
[0048] When processing a packet made redundant by the mobile station packet redundancy devices 33-1 to 33-N, the selection processing unit 100-1 of the packet processing devices 13 to 16 uses, as an index value, the second part of the IP address of the mobile station packet redundancy devices 33-1 to 33-N contained in the IP header of the packet. In the example shown in FIG. 9, the second part corresponds to the most significant m bits of the first part, which are the least significant two bits of the network address part of the IP address of the mobile station packet redundancy devices 33-1 to 33-N. m can be determined according to the number of mobile station networks to which packets are transferred in the redundancy processing of a single packet processing device 13 to 16. The mobile station network refers to all network devices including the mobile station packet redundancy device 33 and the mobile station client 34. For example, in the packet processing device 13, 32 (=2 5 ) mobile station network, m is 5.
[0049] 10 to 12 are flowcharts showing an example of processing executed by the packet processing devices 13 to 16 of the central office packet redundancy device 11. The following describes the case where the packet processing device 13 executes this processing.
[0050] In step S101, time difference determination unit 101 of selection processing unit 100-1 uses an index value included in the IP address of a newly received target packet to select a packet management database for managing the target packet (hereinafter referred to as the "target packet management database"). Next, time difference determination unit 101 determines whether the time difference between the reception time of the target packet and the last reception time registered in the target packet management database is equal to or greater than a predetermined value. If the time difference is less than the predetermined value (NO), processing branches to step S102.
[0051] In step S102, the packet determination unit 102 determines whether the sequence number added to the target packet is a past sequence number or a future sequence number. A past sequence number is the sequence number of a packet transmitted before the final forwarding packet in the source mobile station packet redundancy device. In other words, a past sequence number is the sequence number of a packet that was scheduled to arrive before the final forwarding packet. A future sequence number is the sequence number of a packet transmitted after the final forwarding packet in the source mobile station packet redundancy device. In other words, a future sequence number is the sequence number of a packet that is scheduled to arrive after the final forwarding packet.
[0052] The packet determination unit 102 can determine whether the target packet has a past sequence number or a future sequence number based on the magnitude relationship between the sequence number of the target packet and the sequence number of the last forwarded packet registered in the target packet management database. For example, if sequence numbers are assigned in the order in which packets are sent, and the sequence number of the target packet is greater than the sequence number of the last forwarded packet, the packet determination unit 102 determines that the target packet has a future sequence number. On the other hand, if the sequence number of the target packet is smaller than the sequence number of the last forwarded packet, the packet determination unit 102 determines that the target packet has a past sequence number.
[0053] If the sequence number of the target packet is a past sequence number, the process branches to step S103. In step S103, the packet determination unit 102 determines whether the target packet is a packet within the range of the check bit string registered in the target packet management database.
[0054] Specifically, the packet determination unit 102 determines whether the difference between the sequence number of the last forwarded packet registered in the target packet management database and the sequence number of the target packet is less than the number of bits in the check bit string. If the difference between these sequence numbers is less than the number of bits in the check bit string, the target packet is determined to be a packet within the range of the check bit string. In this case, a value indicating whether the target packet will be forwarded is recorded in the check bit string. On the other hand, if the difference between these sequence numbers is equal to or greater than the number of bits in the check bit string, the target packet is determined to be a packet outside the range of the check bit string. In this case, a value indicating whether the target packet will be forwarded is not recorded in the check bit string.
[0055] If the target packet is within the range of the checking bit string (YES), that is, if a value indicating whether or not the target packet is to be transferred is recorded in the checking bit string, the process branches to step S104.
[0056] In step S104, the packet determination unit 102 determines whether the target packet is a packet that has already been forwarded. Specifically, the packet determination unit 102 references a bit (hereinafter referred to as the "target bit") included in the check bit string of the target packet management database, which stores a value indicating whether the target packet has been forwarded, and determines whether a value indicating that the packet has been forwarded (for example, "1") is stored in the target bit. The target bit is identified based on the difference between the sequence number of the last forwarded packet and the sequence number of the target packet. For example, if the difference between these sequence numbers is 1, bit 1 (b1) shown in FIG. 7 corresponds to the target bit.
[0057] If it is determined that the target packet is a forwarded packet (YES), the packet determination unit 102 discards the target packet in step S107. On the other hand, if the target packet is not a forwarded packet (NO), the packet forwarding unit 103 forwards the target packet to the packet processing device to which the packet is to be forwarded in step S105.
[0058] In step S106, the transfer management unit 104 sets a value (for example, "1") indicating that the packet has been transferred to the target bit, and the processing of FIG. 10 ends.
[0059] In step S103, if it is determined that the target packet is outside the range of the check bit string (NO), that is, if the target bit does not exist in the check bit string, the process branches to step S108.
[0060] In step S108, the packet determination unit 102 discards the target packet. The mobile station packet redundancy devices 33-1 to 33-N transmit packets in the order of sequence numbers, but the order may be changed during the process of packet communication in the communication system 1. In such a case, if the target packet is determined to be a packet outside the range of the check bit string, the target packet is discarded. As a result, a significantly delayed packet is discarded.
[0061] In step S109, the data update unit 105 adds 1 to the packet number counter. This counts the number of significantly delayed packets. In step S110, the counter determination unit 106 determines whether the value of the packet number counter exceeds a predetermined value. The predetermined value can be any value. If the value of the packet number counter is equal to or less than the predetermined value (NO), the processing of FIG. 10 ends.
[0062] On the other hand, if the value of the packet number counter exceeds the predetermined value (YES), in step S112, the forwarding management unit 104 clears the check bit string registered in the target packet management database. In step S113, the forwarding management unit 104 sets a value (for example, "1") indicating that the packet has been forwarded to the least significant bit of the check bit string in the target packet management database. In step S114, the data update unit 105 clears the sequence number, packet number counter, and last received time registered in the target packet management database, and the processing in Figure 11 ends. This initializes the information in the target packet management database.
[0063] If it is determined in step S101 that the time difference is equal to or greater than the predetermined value (YES), in step S111 the packet forwarding unit 103 forwards the target packet to the packet processing device to which the packet is to be forwarded. Then, the processes of steps S112 to S114 are executed. As a result, when the difference between the reception time of the last forwarded packet and the reception time of the target packet becomes equal to or greater than the predetermined value, the information in the target packet management database is initialized.
[0064] If it is determined in step S102 that the sequence number of the target packet is a future sequence number, the process branches to step S115. In step S115, the packet determination unit 102 determines whether the target packet is a packet within the range of the check bit string registered in the target packet management database. If the target packet is a packet within the range of the check bit string (YES), in step S116 the packet forwarding unit 103 forwards the target packet to the packet processing device to which the packet is to be forwarded.
[0065] In step S117, the forwarding management unit 104 shifts the checking bit string in the target packet management database according to the difference between the sequence number of the last forwarded packet registered in the target packet management database and the sequence number of the target packet. For example, if the difference between these sequence numbers is 2, the forwarding management unit 104 shifts the checking bit string by 2 bits. In this embodiment, the checking bit string is shifted to the left.
[0066] In step S118, the transfer management unit 104 sets a value (for example, "1") indicating that the packet has been transferred to the least significant bit of the shifted checking bit string. In another example, the checking bit string may be shifted to the right, and a value indicating that the packet has been transferred may be set to the most significant bit of the shifted checking bit string.
[0067] In step S119, the data update unit 105 updates the sequence number and last received time registered in the target packet management database. Specifically, the data update unit 105 registers the received time of the target packet as the last received time. The data update unit 105 also rewrites the sequence number in the target packet management database to the sequence number of the target packet. In step S120, the data update unit 105 clears the packet number counter of the target packet management database, and the processing of FIG. 12 ends.
[0068] If it is determined in step S115 that the target packet is outside the range of the check bit string (NO), the packet determination unit 102 discards the target packet in step S121. As a result, packets that have arrived significantly early are discarded. In step S122, the data update unit 105 adds 1 to the packet number counter in the target packet management database. As a result, the number of packets that have arrived significantly early is counted.
[0069] In step S123, counter determination unit 106 determines whether the value of the packet number counter exceeds a predetermined value. If the value of the packet number counter is equal to or less than the predetermined value (NO), the processing in Fig. 12 ends. On the other hand, if the value of the packet number counter exceeds the predetermined value (YES), the processing in steps S112 to S114 is executed. This initializes the information in the target packet management database.
[0070] FIG. 13 shows a typical implementation method for packet selection processing. In a typical implementation method for packet selection processing, a comparison is made between an arriving packet database and a currently arriving packet. The arriving packet database is a database that stores the sequence numbers of packets that arrived at the central office packet redundancy unit in the past. Packets having a sequence number that matches a sequence number stored in the arriving packet database are discarded. On the other hand, packets having a sequence number that does not match a sequence number stored in the arriving packet database are passed through. The sequence numbers of the passed packets are then registered in the arriving packet database. On the other hand, sequence numbers of old arriving packets are discarded. The sequence number of an old arriving packet is, for example, a sequence number that has been registered for a certain amount of time, or a sequence number of a packet whose sequence number differs by a certain amount from the latest sequence number. Such sequence numbers are discarded.
[0071] Figure 14 shows another general implementation method for packet selection processing. Multithread processing is a general method for executing multiple processes in parallel in a processor. A general implementation method for selection processing is to assign a thread to each selection process corresponding to each mobile station packet redundancy device and switch the threads in a time-division manner, thereby supporting a large number of mobile station packet redundancy devices.
[0072] In the typical selection process implementation methods shown in Figures 13 and 14, the database-based sequence number match confirmation process and the discarding of old sequence numbers require a large average number of processing cycles, resulting in low processing efficiency. Furthermore, the overhead of thread switching is large, resulting in low processing efficiency. This requires a large number of processors, which increases the cost of the selection and distribution device.
[0073] As described above, the central office packet redundancy device 11 according to an exemplary embodiment of the present invention includes a load balancer 12 that transfers packets received from mobile stations to packet processing devices 13-16 so as to balance the loads on the plurality of packet processing devices, a plurality of packet processing devices 13-16 that process the packets transferred by the load balancer 12, and a switch 17 that transfers packets received from the plurality of packet processing devices 13-16. The load balancer 12 determines a transfer destination of the packet based on a first part of the IP address of the information processing device of the mobile station, and transfers the packet to the determined transfer destination packet processing device.
[0074] By adopting the above configuration, the central office packet redundancy device 11 does not need to switch threads as in the general method shown in Fig. 14, and there is no processing overhead caused by switching threads. As a result, the processing efficiency of the central office packet redundancy device 11 can be improved.
[0075] Furthermore, based on the second part of the IP address of the mobile station packet redundancy devices 33-1 to 33-N, the packet processing devices 13 to 16 generate an index value that is an identification value for identifying data to be used by the packet processing devices 13 to 16. Using the index value, the packet processing devices 13 to 16 can select a database in which information to be used is registered from among a plurality of databases.
[0076] This database stores a single forwarded sequence number, a single check bit string, a single packet counter, and a single last received time, which simplifies the database structure and improves the processing efficiency of the central office packet redundancy unit 11.
[0077] Furthermore, the data selected based on the index value includes a check bit string used to determine whether or not to forward a packet by the packet processing devices 13 to 16. The packet processing devices 13 to 16 can manage whether or not to forward a packet by bit manipulation processing on the check bit string, thereby achieving higher processing efficiency than general methods.
[0078] Furthermore, the packet processing devices 13 to 16 calculate the difference between the identification information based on the transmission order in the mobile station packet redundancy device 33 that is the source of the received packet and the identification information based on the transmission order in the mobile station packet redundancy device 33 that is the source of the packet last forwarded by the packet processing devices 13 to 16. Then, the packet processing devices 13 to 16 compare the calculated difference with the number of bits in the check bit string to determine whether a value indicating whether the received packet has been forwarded is recorded in the check bit string. This makes it possible to detect packets that are significantly delayed and packets that have arrived significantly early.
[0079] Furthermore, the packet processing devices 13 to 16 can immediately detect such packet out-of-sync states by registering the number of significantly delayed packets and significantly early arriving packets in a packet counter. Therefore, by immediately resynchronizing packets, there are advantages such as shortening the time until resynchronization and reducing packet loss. From the above, it can be seen that the use of the method of the present invention can improve the efficiency of processing.
[0080] In the above examples, the program includes instructions (or software code) that, when loaded into a computer, cause the computer to perform one or more functions described in the embodiments. The program may be stored on a non-transitory computer-readable medium or a tangible storage medium. By way of example and not limitation, computer-readable medium or tangible storage medium includes random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drive (SSD) or other memory technology, CD-ROM, digital versatile disk (DVD), Blu-ray® disk or other optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device. The program may also be transmitted on a transitory computer-readable medium or communication medium. By way of example and not limitation, transitory computer-readable medium or communication medium includes electrical, optical, acoustic, or other forms of propagated signals.
[0081] The present invention is not limited to the above-described embodiment, and can be modified as appropriate within the scope of the invention. [Explanation of symbols]
[0082] 1. Communication Systems 10 Servers 11 Central office packet redundancy equipment 12 Load balancer 13~16 Packet processing device 17 Switch 21~23 Wireless communication equipment 31A~31C Wireless communication equipment 32A Wireless communication device 33-1~33-N Mobile station packet redundancy device 34A~34C Clients 40,50 Network 100 Selection processing section 101 Time difference determination section 102 Packet determination unit 103 Packet forwarding unit 104 Transfer Management Department 105 Data Update Section 106 Counter judgment unit 110 Communication I / F 120 Storage device 130 processors 200 Distribution processing section
Claims
1. a plurality of mobile station packet redundancy devices for transmitting and receiving packets; a central station packet redundancy device that processes packets transmitted by the plurality of mobile station packet redundancy devices or the server, the central office packet redundancy device, a load balancing device that transfers packets received from the mobile station packet redundancy device or the server to the plurality of packet processing devices so as to equalize the loads on the plurality of packet processing devices; the plurality of packet processing devices that process packets transferred by the load balancing device; a switch that forwards packets received from the plurality of packet processing devices; Equipped with the load balancing device determines a transfer destination of the packet based on a first part of an IP address of an information processing device of the mobile station, and transfers the packet to the determined packet processing device of the transfer destination; Communication system.
2. the packet processing device generates an identification value for identifying data used by the packet processing device based on a second part of the IP address of the mobile station packet redundancy device; the packet processing device selects data to be used by the packet processing device based on the identification value; 2. The communication system according to claim 1, wherein the data selected based on the identification value includes a bit string used to determine whether or not the packet processing device should transfer the packet.
3. the bit string is configured with a value indicating whether or not a packet is to be transferred for each packet transferred by the packet processing device, 3. The communication system according to claim 2, wherein the value indicating whether or not the packet is to be forwarded is recorded in the bit string in the order in which the packet was transmitted in the mobile station packet redundancy device that is the source of the packet.
4. The packet processing device calculating a difference between identification information based on a transmission order in the mobile station packet redundancy device of the source of the received packet and identification information based on a transmission order in the mobile station packet redundancy device of the source of the packet last transferred by the packet processing device; 4. The communication system according to claim 3, wherein the system determines whether a value indicating whether the received packet is to be forwarded is recorded in the bit string based on a comparison between the calculated difference and the number of bits in the bit string.
5. A communication system according to any one of claims 2 to 4, wherein the data selected based on the identification value includes a counter that counts the number of times a packet is received in which a value indicating whether or not it has been forwarded is not recorded in the bit string, identification information of the packet last forwarded by the packet processing device, and the reception time of the packet last forwarded by the packet processing device.
6. 6. The communication system according to claim 1, wherein the plurality of mobile station packet redundancy devices use the same subnet mask.
7. 7. The communication system according to claim 1, wherein the information processing device of the mobile station includes the mobile station packet redundancy device and a client of the mobile station.
8. a load balancing device that transfers received packets to a plurality of packet processing devices so as to equalize the loads on the plurality of packet processing devices; the plurality of packet processing devices that process packets transferred by the load balancing device; a switch that forwards packets received from the plurality of packet processing devices; Equipped with the load distribution device determines a transfer destination of the packet based on a first part of an IP address of an information processing device of the mobile station, and transfers the packet to the determined packet processing device of the transfer destination; the packet processing device generates an identification value for identifying data used by the packet processing device based on second portions of IP addresses of a plurality of mobile station packet redundancy devices that transmit and receive packets; the packet processing device selects data to be used by the packet processing device based on the identification value; the data selected based on the identification value includes a bit string used to determine whether or not the packet is to be forwarded by the packet processing device; Central office packet redundancy equipment.
9. The computer determining a transfer destination of the packet from among the plurality of packet processing devices based on a first part of an IP address of an information processing device of a mobile station included in the received packet so that loads on the plurality of packet processing devices are equalized; forwarding the packet to the determined packet processing device as the forwarding destination; generating an identification value for identifying data used by the packet processing device based on second portions of IP addresses of a plurality of mobile station packet redundancy devices that transmit and receive packets; selecting data to be used by the packet processing device based on the identification value; the data selected based on the identification value includes a bit string used to determine whether or not the packet is to be forwarded by the packet processing device; method.
10. For computers, determining a transfer destination of the packet from among the plurality of packet processing devices based on a first part of an IP address of an information processing device of a mobile station included in the received packet so that loads on the plurality of packet processing devices are equalized; forwarding the packet to the determined packet processing device; generating an identification value for identifying data used by the packet processing device based on second portions of IP addresses of a plurality of mobile station packet redundancy devices that transmit and receive packets; selecting data to be used by the packet processing device based on the identification value; Execute the data selected based on the identification value includes a bit string used to determine whether or not the packet is to be forwarded by the packet processing device; program.
Citation Information
Patent Citations
Packet transmission method and packet transmission device
JP2006174406A
Communication system, information processing device, and information processing method
JP2012070077A
Gateway system, gateway device, and load distribution method
JP2012134780A
Uninterruptible packet transmission device and uninterruptible packet transmission method
JP2012178665A
Server load balancing
US20180176294A1