Calculation network system
Patent Information
- Application Number
- PCT/JP2024/008576
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-06
- Publication Date
- 2025-10-02
AI Technical Summary
Existing computing networks experience significant delays and inefficiencies due to bit errors in wide-area optical transmission, particularly when using error correction codes, which either cause large delays through retransmission or unnecessary processing delays when no errors occur.
A computing network system that converts data formats to reduce the impact of bit errors, using data conversion units to transform data into formats that minimize error effects, combined with header error correction and optical transmission devices to facilitate high-speed data transmission without complex error correction codes.
Enables high-speed application execution by minimizing the impact of bit errors on data transmission, allowing for efficient and rapid processing of data across wide-area networks.
Smart Images

Figure JP2024008576_02102025_PF_FP_ABST
Abstract
Description
Computing Network System
[0001] The present invention relates to a computing network system, and more particularly to a computing network system that is configured with a plurality of servers each equipped with a different numerical calculation program, and optical transmission devices and transmission lines that connect the servers.
[0002] The explosive spread of AI (Artificial Intelligence) and other technologies has led to an increased demand for computing networks that exchange data and perform calculations over wide-area networks. For example, one of the simplest algorithms for algorithmic trading is one that determines whether to buy or sell by comparing long-term and short-term price averages (see Non-Patent Document 1). Non-Patent Document 1 describes how anomaly detection using an autoencoder can be used to select currency pairs suspected of being mispriced, and a foreign exchange portfolio can be constructed with buying and selling positions that assume the corrective power of those currency pairs.
[0003] In the past, when a bit error occurred in a wide area network consisting of optical transmission equipment and transmission paths, the reliability of calculations was ensured by either retransmitting the frame at layer 3 or higher, or by performing bit error correction using error correction codes at layer 0 to protect the frame containing the data.
[0004] When a bit error occurs on a wide area network and a retransmission process is used to address it, a large delay occurs, including a delay due to the transmission distance, and the calculation speed decreases each time a retransmission process is performed. A technology for suppressing an increase in transmission delay when a frame signal transmitted between an optical transmitter and an optical receiver via an optical transmission line is disclosed (see Patent Document 1). On the other hand, when an error correction code is used, complex signal processing is performed, and therefore a certain delay always occurs even when no bit error occurs, although it is not as large as the delay associated with the retransmission process.
[0005] International Publication No. 2022 / 239054
[0006] Tokiki Amatani and three others, "Portfolio Management Using Autoencoder Anomaly Detection in the FX Market," Japanese Society for Artificial Intelligence Type 2 Research Group, Financial Informatics Research Group, March 12, 2022, SIG-FIN-028-14, pp. 73-77
[0007] Generally, when error correction codes are applied, it is possible to keep the bit error rate (BER) after error correction very low, at 1E-12 or less. However, depending on the application running on the receiving server, a BER that is too low may result in excessive quality, and it can be said that signal processing using error correction codes unnecessarily increases delays.
[0008] Therefore, an object of the present invention is to solve the above problems and enable faster application execution than when signal processing using error correcting codes is used.
[0009] a first optical transmission device that accommodates the data of the second data format received from the first optical transmission device via the transmission path and transmits the data of the second data format to a transmission path; a header error correction unit that performs error correction on the header of the frame received from the first optical transmission device via the transmission path; a second optical transmission device that extracts data of the second data format from the frame after the header error correction; a second data conversion unit that converts data of the second data format received from the second optical transmission device into data of a third data format different from the second data format; and a second server that is equipped with a program for calculating the data of the third data format received from the second data conversion unit, wherein the first data conversion unit converts data of the first data format into data of a second data format that reduces the influence of bit errors that occur on the transmission path, and the second data conversion unit converts data of the second data format into data of a third data format that can be calculated by the second server.
[0010] According to the present invention, it is possible to execute applications at high speed on a network.
[0011] FIG. 1 is a schematic configuration diagram of a computation network system according to a first embodiment. FIG. 2 is a flowchart showing the processing flow of the computation network system according to the first embodiment. FIG. 3 is a schematic configuration diagram of a computation network system according to a third embodiment. FIG. 4 is an explanatory diagram of an example of a computation network system according to a second embodiment. FIG. 5 is a graph showing an example in which the closing price of a transaction is used as the transmitted and received data. FIG. 6 is a graph showing a comparative example in which the closing price of a transaction is used as the transmitted and received data. FIG. 7 is a graph showing trading performance. FIG. 8 is a hardware configuration diagram showing an example of a computer that realizes the functions of each part of the computation network system according to an embodiment. FIG. 9 is a schematic configuration diagram of a computation network system according to a modified example.
[0012] The computation network system according to this embodiment will be described in detail below with reference to the drawings.
[0013] 1, a computing network system 1 includes, on the transmitting side, a server (first server) 110, a data conversion unit (first data conversion unit) 120, and an optical transmission device (first optical transmission device) 130. Also, on the receiving side, the computing network system 1 includes a header error correction unit 240, an optical transmission device (second optical transmission device) 230, a data conversion unit (second data conversion unit) 220, and a server (second server) 210.
[0014] In FIG. 1, the reference numerals of the components on the transmitting side are indicated by numbers in the 100s, and the reference numerals of the components on the receiving side are indicated by numbers in the 200s. The tens digit of the reference numeral of the component on the receiving side corresponding to the component on the transmitting side corresponds to the tens digit of the reference numeral of the component on the transmitting side. The servers 110 and 210, the data conversion units 120 and 220, and the optical transmission devices 130 and 230 can each be configured in the same way. The differences in the functions of each component are described below.
[0015] The server 110 holds the data. The data conversion unit 120 converts data D1 in a first data format received from the server 110 into data D2 in a second data format that is different from the first data format. The data conversion unit 120 converts the data D1 in the first data format into data D2 in a second data format that reduces the effects of bit errors that occur in the transmission path 300. The optical transmission device 130 accommodates the data D2 in the second data format received from the data conversion unit 120 in a frame F1 and transmits the frame F1 to the transmission path 300.
[0016] The header error correction unit 240 performs error correction on the header of frame F2 received from the optical transmission device 130 via the transmission path 300. Frame F2 is similar to frame F1, but indicates that it is a frame that has passed through the transmission path 300. The optical transmission device 230 extracts data D2 in the second data format from frame F2 after the header error correction. The data conversion unit 220 converts the data D2 in the second data format received from the optical transmission device 230 into data D3 in a third data format that is different from the second data format. That is, the data conversion unit 220 converts the data D2 in the second data format into data D3 in a third data format that can be calculated by the server 210. The server 210 is equipped with a program. This program calculates the data D3 in the third data format received from the data conversion unit 220.
[0017] [Operation of Computing Network System] Next, the operation of the computing network system 1 according to the first embodiment will be described with reference to Fig. 2 (and Fig. 1 as needed). The data converter 120 acquires data D1 in a first data format to be sent from the transmitting server 110 to the receiving server 210 (step S1). The data converter 120 then converts the data D1 in the first data format into data D2 in a second data format that reduces the effects of bit errors that occur on the transmission path 300 (step S2). The optical transmission device 130 then accommodates the data D2 in the second data format in a frame F1 and transmits it to the transmission path 300 (step S3).
[0018] The optical transmission device 230 then receives frame F2 from the transmission path 300 (step S4). The header error correction unit 240 then performs error correction on the header of the received frame F2 (step S5). The optical transmission device 230 then extracts data D2 in the second data format from frame F2 after the header error correction (step S6). The data conversion unit 220 then converts the data D2 in the second data format into data D3 in a third data format that can be calculated by the receiving server 210 (step S7). The server 210 then calculates the data D3 in the third data format (step S8).
[0019] (Specific example of data format) Next, a specific example of the data format will be described. In this embodiment, for example, data D1 of the first data format is represented as numeric data y, data D2 of the second data format is represented as byte data z, and data D3 of the third data format is represented as numeric data y'. The data conversion unit 120 converts the maximum value y of the numeric data y into max and the minimum value y min The number of bytes N of the byte data z and a positive integer n are used to approximate the numerical data y using the following formula (1): max , minimum value y min , the number of bytes N, and the positive integer n are predetermined.
[0020] y≒(y max -y min ) n / (8N) + y min … (1)
[0021] The data conversion unit 120 converts the numerical data y approximated by equation (1) into byte data z. This byte data z consists of Q consecutive bytes of hexadecimal 0xFF and one byte of hexadecimal 0xZ. 1 Z 2 However, Q satisfies the following formula (2). In addition, when R defined in the following formula (3) is used, 0xZ 1 Z 2 satisfies the following formula (4), where n is a positive integer as defined in formula (1).
[0022] Q=n div 8... (2) R=n mod 8... (3) 0xZ 1 Z2 =2 R -1 … (4)
[0023] The data conversion unit 220 counts the number n' of "1" in the byte data z received from the optical transmission device 230. The data conversion unit 220 uses the counted positive integer n' to calculate the numeric data y' according to the following equation (5). In equation (5), y max , y min , and N is the maximum value y max , minimum value y min , and the number of bytes N.
[0024] y′=(y max -y min ) n' / (8N)+y min … (5)
[0025] (Effects of the First Embodiment) For example, 4-byte floating-point data is represented by a sign part (1 bit), an exponent part (8 bits), and a mantissa part (23 bits). However, even a single-bit error in the sign part or exponent part causes a significant change in the data value. In contrast, in the computation network system 1 of this embodiment, the data conversion unit 120 on the transmitting side converts floating-point data (numeric data y) into bit-count data (byte data z). As a result, even if a bit error occurs anywhere in the bit-count data (byte data z) on the transmission path 300, the impact will not be extremely large.
[0026] Furthermore, the data conversion unit 220 on the receiving side converts the bit count data (byte data z) into real value data (numeric data y) that can be used by the application installed in the server 210. At this time, the data conversion unit 220 converts the bit count data (byte data z) into real value data (numeric data y) that can be used by the application installed in the server 210. At this time, the data conversion unit 220 converts the bit count data (byte data z) into real value data (numeric data y) that can be used by the application installed in the server 210. 1 Y 2 ", "0xY 1 Y 2 / 0x00" (where 0<0xY 1 Y 2< 0xFF) is utilized. If the number of "1" bits in both of two consecutive bytes of data is sufficiently large, even if a bit error occurs in the previous byte of data, the previous byte of data can be considered to be 0xFF. Therefore, if there is at most one bit error in one byte (BER ≦ 1 / 8), the difference in the number of bits in one piece of data due to the influence of the bit error will be at most two, regardless of the data length.
[0027] Therefore, according to the computing network system 1, by converting the data into byte data z that reduces the effect of bit errors that occur on the transmission path 300 and sending it to the transmission path 300, even if a bit error occurs anywhere in the byte data z, large changes in the data value on the receiving side can be suppressed, and high-speed application execution can be enabled on the server 210.
[0028] Second Embodiment A calculation network system 1 according to a second embodiment differs from the first embodiment in the formulas used by the data conversion unit 120 and the data conversion unit 220. The configuration and operation of the calculation network system 1 according to the second embodiment are the same as those of the first embodiment, and therefore drawings and explanations thereof will be omitted.
[0029] Next, a specific example of the data format will be described. In this embodiment, for example, data D1 in the first data format is represented as numeric data y, data D2 in the second data format is represented as byte data z, and data D3 in the third data format is represented as numeric data y'. The data conversion unit 120 converts the maximum value y of the numeric data y into max and the minimum value y min , the number of bytes N of byte data z 1 +N 2 , and positive integers n, m, b, and c are used to approximate the numerical data y using the following equations (6) and (7). max , minimum value y min , number of bytes N 1 +N 2 , and the positive integers n, m, b, and c are predetermined.
[0030] y≒(y max -y min )n / (8bN 1 +8N2 ) + y min … (6) n=mb+c(b=8N 2 , b>c) … (7)
[0031] The data conversion unit 120 converts the numerical data y approximated by equations (6) and (7) into byte data z. This byte data z is N 1 Consecutive Qubytes of hexadecimal 0xFF and one byte of hexadecimal 0xZ in a byte u1 Z u2 And, N 2 Consecutive Q1-byte hexadecimal 0xFF and 1-byte hexadecimal 0xZ in a byte l1 Z l2 Here, Qu satisfies the following formula (8). In addition, when Ru defined by the following formula (9) is used, 0xZ u1 Z u2 satisfies the following formula (10). Ql satisfies the following formula (11). Furthermore, when Rl defined in the following formula (12) is used, 0xZ l1 Z l2 satisfies the following formula (13): where m and c are positive integers as defined in formula (7).
[0032] Qu=m div 8... (8) Ru=m mod 8... (9) 0xZ u1 Z u2 =2 Ru -1... (10) Ql=c div 8... (11) Rl=c mod 8... (12) 0xZ l1 Z l2 =2 Rl -1 … (13)
[0033] The data conversion unit 220 counts the number of "1"s in the first half m' and the number of "1"s in the second half c' of the byte data z received from the optical transmission device 230. The data conversion unit 220 calculates the numerical data y' using the counted positive integers m' and c' according to the following equations (14) and (15). In equations (14) and (15), y max , y min , N 1 , N 2 , b is the maximum value ymax , minimum value y min , number of bytes N 1 +N 2 , and a positive integer b.
[0034] y′=(y max -y min ) n' / (8bN 1 +8N 2 ) + y min ... (14) n'=m'b+c'... (15)
[0035] (Effects of the Second Embodiment) Equation (7), which approximates the numerical data y in the data conversion unit 120 on the transmitting side, means that the number of bits is expressed as the number of b-bit chunks and a fraction less than b bits. Meanwhile, the data conversion unit 220 on the receiving side performs a conversion similar to equation (7) using equation (15) when calculating the numerical data y'. Therefore, the difference in the number of bits due to bit errors in a single piece of data is at most 2b + 2, regardless of the data length. Therefore, the computation network system 1 according to the second embodiment can suppress an increase in the data size of the data D2 in the second data format. In fact, even when error-correcting codes are used, the BER is two or more orders of magnitude smaller (less than 0.01). Therefore, assuming that the probability of a bit error occurring in consecutive bytes is sufficiently small, the difference in the number of bits due to bit errors in a single piece of data is half (at most b + 1).
[0036] 3, a computing network system 1B according to the third embodiment differs from the first embodiment in the functions of the optical transmission device 130 and the optical transmission device 230. In the computing network system 1B according to the third embodiment, the same components as those in the first embodiment are denoted by the same reference numerals, and the description thereof will be omitted.
[0037] In this embodiment, for example, the optical transmission device 130 on the transmitting side bit-interleaves and divides input data into multiple lanes (communication paths) before transmitting. The number of lanes is predetermined. The optical transmission device 230 on the receiving side restores the original signal from the signals of the multiple lanes. When the optical transmission device 230 on the receiving side receives multiple lanes, the header error correction unit 240B performs a CRC check on each lane, and notifies the data conversion unit 220 of one lane number that has no bit errors as CRC information DC.
[0038] Here, the method using CRC information can be the same as that described in Patent Document 1, and therefore further explanation will be omitted. Patent Document 1 discloses a technology in which a CRC check is performed on each lane of a signal from multiple lanes, and the CRC information is used when correcting header errors by copying the frame header of a lane with no bit errors to the headers of other lanes.
[0039] The data conversion unit 220 of this embodiment counts the number of "1"s only in the bit positions corresponding to the notified lane number data. The data conversion unit 220 multiplies this count by the number of lanes and uses the result as a substitute for n' in equation (5) used to calculate the numerical data y'.
[0040] (Fourth embodiment) A calculation network system 1B according to a fourth embodiment is similar to the second embodiment, but differs from the third embodiment in the formulas used by the data conversion unit 120 and the data conversion unit 220. Furthermore, the configuration and operation of the calculation network system 1B according to the fourth embodiment are similar to those of the third embodiment, and therefore drawings and explanations thereof will be omitted.
[0041] However, the data conversion unit 220 of this embodiment differs from the third embodiment in that the number obtained by multiplying the count number by the number of lanes is used as a replacement for n' in equation (14) used to calculate the numerical data y'.
[0042] Example In order to confirm the effect of the computational network system 1 according to the second embodiment, a numerical simulation for verification was carried out using the configuration shown in FIG.
[0043] The sending server 110 holds EUR / USD transaction data and distributes it as data D1 in a first data format. The receiving server 210 calculates a buy / sell decision by comparing the long-term moving average with the short-term moving average based on the transaction data received from the server 110 via the transmission path 300. Note that the calculation by the server 210 can use a known technique, for example, as described in Non-Patent Document 1.
[0044] In this simulation, the data converter 120 on the transmitting side acquires 4-byte floating-point data (numeric data y) as data D1 in the first data format from the server 110. The data converter 120 approximates the acquired floating-point data using the above-mentioned formulas (6) and (7). In formula (6), b = 128 bits, N 1 = 16 bytes, N 2 = 16 bytes, y max = 2.0, y min = 0.5.
[0045] The data conversion unit 120 converts the approximated numeric data y into 32-byte byte data z as data D2 in the second data format. Then, in this simulation, the transmission path 300 is simulated, and bit errors are randomly generated with a probability of BER=5E-3. In other words, bit errors are included in the 32-byte byte data z. The data conversion unit 220 on the receiving side converts the 32-byte byte data z containing the bit errors into data D3 in the third data format. The data D3 in the third data format is 4-byte floating-point data (numeric data y'). The server 210 performs calculations using the closing price converted into 4-byte floating-point data as trading data.
[0046] 5 and 6 are graphs showing the transmitted closing prices and the received closing prices in the simulation. In each graph, the horizontal axis represents the period in arbitrary units (au). The vertical axis represents the closing price of the EUR / USD. Closing price data for 2,500 days was acquired in advance, and during the simulation, 2,500 closing prices were transmitted sequentially at predetermined time intervals. As a comparative example, FIG. 6 shows the results of calculations performed when simulating the transmission path 300 without converting 4-byte floating-point data (closing prices), randomly generating bit errors with a probability of BER = 5E-3, and the server 210 receives floating-point data (closing prices) containing bit errors.
[0047] In Figures 5 and 6, the transmitted closing price is indicated by a dashed line. In Figure 6, the received closing price in the comparative example is indicated by a dotted line. In Figure 5, the received closing price in the example is indicated by a solid line. In the graph of Figure 5, the transmitted closing price (dashed line) almost overlaps with the received closing price (solid line) in the example.
[0048] As shown in Figure 6, the end value after reception (dotted line) in the comparative example varies greatly depending on the location of the bit error. On the other hand, when 4-byte floating-point data (numeric data y) is converted to 32-byte byte data z, even if a bit error occurs on the transmission path 300, the effect is kept below a certain value. Therefore, as shown in Figure 5, the end value after reception (solid line) in the embodiment is almost the same as the end value after transmission (dashed line).
[0049] 7 is a graph showing a typical trading performance in a numerical simulation. The horizontal axis indicates the period in arbitrary units (au). The vertical axis indicates the cumulative value of the logarithmic rate of return. The calculation results 72 of the comparative example are shown by a dotted line. The calculation results 73 of the working example are shown by a solid line. The calculation results 74 without bit errors are shown by a dashed line. The calculation results 74 without bit errors (dashed line) almost overlap with the calculation results 73 of the working example (solid line).
[0050] The trading strategies of the example and comparative example are to take a buy position when the short-term moving average exceeds the long-term moving average, and to take a sell position when the short-term moving average falls below the long-term moving average. As shown in Figure 7, the calculation result 73 of the example shows performance equivalent to that of the calculation result 74 without bit errors. On the other hand, the calculation result 72 of the comparative example shows a significant drop in performance compared to the calculation result 73 of the example.
[0051] In an OTN (Optical Transport Network) frame used in standard optical transmission equipment, the payload size for accommodating data is 4 x 3808 (= 15,232) bytes. When the calculation time for an OTN frame using Reed-Solomon (255,239) error correction code is set to 1, the relative calculation time for the embodiment is compared with the software execution time, resulting in a calculation time of 0.0004. It can be seen that the calculation time was reduced by the embodiment.
[0052] [Hardware Configuration] Each unit of the computing network system 1 according to the embodiment is realized by a computer 900 having a configuration such as that shown in Fig. 8. Fig. 8 is a hardware configuration diagram showing an example of the computer 900 that realizes the functions of each unit of the computing network system 1 according to the embodiment. The computer 900 has a CPU (Central Processing Unit) 901, a ROM (Read Only Memory) 902, a RAM (Random Access Memory) 903, an HDD (Hard Disk Drive) 904, an input / output I / F (Interface) 905, a communication I / F 906, and a media I / F 907.
[0053] The CPU 901 operates based on programs stored in the ROM 902 or the HDD 904. The ROM 902 stores a boot program executed by the CPU 901 when the computer 900 is started up, programs related to the hardware of the computer 900, and the like.
[0054] The CPU 901 controls an input device 910 such as a mouse or keyboard, and an output device 911 such as a display or printer, via an input / output I / F 905. The CPU 901 acquires data from the input device 910 via the input / output I / F 905, and outputs generated data to the output device 911. Note that a GPU (Graphics Processing Unit) or the like may be used as a processor together with the CPU 901.
[0055] The HDD 904 stores programs executed by the CPU 901 and data used by the programs. The communication I / F 906 receives data from other devices via the communication network 920 and outputs the data to the CPU 901, and also transmits data generated by the CPU 901 to other devices via the communication network 920.
[0056] The media I / F 907 reads a program or data stored in the recording medium 912 and outputs it to the CPU 901 via the RAM 903. The CPU 901 loads a program related to a target process from the recording medium 912 onto the RAM 903 via the media I / F 907, and executes the loaded program. The recording medium 912 is an optical recording medium such as a DVD (Digital Versatile Disc) or a PD (Phase Change Rewritable Disc), a magneto-optical recording medium such as an MO (Magneto Optical Disk), a magnetic recording medium, or a semiconductor memory.
[0057] For example, when the computer 900 functions as the data conversion unit 120 in the computing network system 1 according to the embodiment, the CPU 901 executes a program (data conversion unit program) loaded onto the RAM 903 to realize the functions of the data conversion unit 120. The HDD 904 also stores data in the RAM 903. The CPU 901 reads and executes a program related to a target process from a recording medium 912. In addition, the CPU 901 can also read a program related to a target process from another device via a communication network 920.
[0058] [Effects] As described above, the computing network system 1 includes the first server 110 that stores data, the first data conversion unit 120 that converts data D1 in a first data format received from the first server 110 into data D2 in a second data format different from the first data format, the first optical transmission device 130 that accommodates the data D2 in the second data format received from the first data conversion unit 120 in a frame F1 and sends the frame F1 to the transmission path 300, the header error correction unit 240 that corrects an error in the header of the frame F2 received from the first optical transmission device 130 via the transmission path 300, the second optical transmission device 230 that extracts the data D2 in the second data format from the frame whose header has been error-corrected, and the second optical transmission device 240. A computing network system (1) includes a second data conversion unit (220) that converts data (D2) of a second data format received from an optical transmission device (230) into data (D3) of a third data format different from the second data format, and a second server (210) that is equipped with a program that calculates the data (D3) of the third data format received from the second data conversion unit (220), wherein the first data conversion unit (120) converts data (D1) of the first data format into data (D2) of a second data format that reduces the effects of bit errors that occur in the transmission path (300), and the second data conversion unit (220) converts data (D2) of the second data format into data (D3) of the third data format that can be calculated by the second server (210).
[0059] By doing this, the computing network system 1 accommodates data D2 to be sent from the first server 110 on the sending side to the second server 210 on the receiving side in a frame F1 and sends it to the transmission path 300. At the receiving side, bit errors in the header of frame F2 are corrected and data D2 is extracted from the frame F2 after the header error correction. By correcting bit errors in the frame header without using error correction code signal processing, the computing network system 1 can protect frames with lower delay than with error correction codes, eliminating the need for frame retransmission. Furthermore, the first data conversion unit 120 converts data to be sent from the first server 110 on the sending side to the second server 210 on the receiving side into data D2 in a second data format that reduces the impact of bit errors occurring on the transmission path 300. The first optical transmission device 130 accommodates data D2 in the second data format in a frame F1 and sends it to the transmission path 300. On the receiving side, the second data converter 220 converts the data extracted from the frame F2 into data D3 in a third data format that can be calculated by a program installed on the receiving side's second server 210. Therefore, the computing network system 1 can enable high-speed application execution on the network.
[0060] In the calculation network system 1, data D1 of the first data format is set as numeric data y, data D2 of the second data format is set as byte data z, and data D3 of the third data format is set as numeric data y'. The first data conversion unit 120 converts the predetermined maximum value y of the numeric data y into max and the minimum value y min The number of bytes N of the byte data z and a positive integer n are used to approximate the numerical data y using the following formula (1): y ≈ (y max -y min ) n / (8N) + y min ... (1) The first data conversion unit 120 converts the numerical data y approximated by the formula (1) into a sequence of Q bytes of hexadecimal 0xFF and one byte of hexadecimal 0xZ. 1 Z 2 (where, Q = n div 8 ... (2), R = n mod 8 ... (3), 0xZ 1 Z 2=2 R −1 … (4)), the second data conversion unit 220 counts the number n′ of “1” in the byte data z received from the second optical transmission device 230, and calculates the maximum value y of the numeric data y predetermined on the transmitting side. max and the minimum value y min The number of bytes N of the byte data z and the counted positive integer n' are used to calculate the numerical data y' using the following formula (5): y'=(y max -y min ) n' / (8N)+y min … (5)
[0061] By doing this, in the computing network system 1, the first data conversion unit 120 on the transmitting side converts the numeric data y into byte data z. As a result, even if a bit error occurs anywhere in the byte data z on the transmission path, the impact of the error is not extremely large. Furthermore, the second data conversion unit 220 on the receiving side converts the byte data z into numeric data y' usable by an application. The second data conversion unit 220 on the receiving side also converts the byte data z into numeric data y' usable by an application installed on the second server 210. In this case, if at most one bit error occurs per byte (BER≦1 / 8), the difference in the number of bits due to the influence of the bit error in one piece of data is at most two, regardless of the data length. Therefore, according to the computing network system 1, by converting the byte data z into byte data z that reduces the impact of bit errors occurring on the transmission path 300 and sending it to the transmission path 300, even if a bit error occurs anywhere in the byte data z, large changes in the data value on the receiving side can be suppressed, enabling high-speed application execution on the second server 210.
[0062] In the calculation network system 1, data D1 of the first data format is set as numeric data y, data D2 of the second data format is set as byte data z, and data D3 of the third data format is set as numeric data y'. The first data conversion unit 120 converts the predetermined maximum value y of the numeric data y into max and the minimum value y min , the number of bytes N of byte data z 1 +N 2, and positive integers n, m, b, and c are used to approximate the numerical data y using the following equations (6) and (7): y ≒ (y max -y min )n / (8bN 1 +8N 2 ) + y min ... (6), n=mb+c(b=8N 2 , b>c) ... (7), the first data conversion unit 120 converts the numerical data y approximated by the formulas (6) and (7) into N 1 Consecutive Qubytes of hexadecimal 0xFF and one byte of hexadecimal 0xZ in a byte u1 Z u2 And, N 2 Consecutive Q1-byte hexadecimal 0xFF and 1-byte hexadecimal 0xZ in a byte l1 Z l2 and convert it into byte data z consisting of (where Qu = m div 8 ... (8), Ru = m mod 8 ... (9), 0xZ u1 Z u2 =2 Ru -1... (10), Ql=c div 8... (11), Rl=c mod 8... (12), 0xZ l1 Z l2 =2 Rl −1 … (13)), the second data conversion unit 220 counts the number m′ of “1” in the first half of the byte data z received from the second optical transmission device 230 and the number c′ of “1” in the second half of the byte data z, and calculates the maximum value y of the numeric data y, which is predetermined on the transmitting side. max and the minimum value y min , the number of bytes N of byte data z 1 +N 2 , and a positive integer b, the counted numbers m' and c', and a positive integer n' are used to calculate the numerical data y' using the following formulas (14) and (15): y'=(y max -y min ) n' / (8bN 1 +8N 2 ) + y min ... (14), n'=m'b+c'... (15)
[0063] By doing this, in the computation network system 1, the first data conversion unit 120 on the transmitting side uses equation (7) to approximate the numerical data y, which expresses the number of bits as the number of b-bit chunks and the fraction less than b bits. Meanwhile, the second data conversion unit 220 on the receiving side performs a conversion similar to equation (7) using equation (15) when calculating the numerical data y'. Therefore, the difference in the number of bits due to the influence of bit errors within a single piece of data is at most 2b + 2, regardless of the data length. Therefore, the computation network system 1 can suppress an increase in the data size of the second data format data D2.
[0064] The computing network system 1B is characterized in that the first optical transmission device 130 bit-interleaves input data across multiple lanes, divides the data, and transmits it; the second optical transmission device 230 restores the original signal from the signals of the multiple lanes; the second optical transmission device 230 performs a CRC check on each lane when receiving the multiple lanes at the header error correction unit 240, and notifies the second data conversion unit 220 of one lane number that has no bit errors; the second data conversion unit 220 counts the number of "1"s only in the bit positions corresponding to the data of the notified lane number; and the number obtained by multiplying this count by the number of lanes is used as a replacement for n' in the formula used to calculate the numerical data y'.
[0065] By doing this, in the computation network system 1B, the second data conversion unit 220 on the receiving side counts only the signals of lanes that have no bit errors when counting the number of "1s." Meanwhile, the first optical transmission device 130 on the transmitting side divides and transmits the input data by bit interleaving it across multiple lanes, so the number of "1s" is divided almost equally among the lanes. Therefore, the second data conversion unit 220 on the receiving side can more easily count the number of "1s" in all lanes by multiplying the counted number by the number of lanes and replacing this number with n' in the formula. This allows the computation network system 1B to perform calculations quickly.
[0066] The present invention is not limited to the above-described embodiment, and many modifications within the technical spirit of the present invention are possible by those skilled in the art. For example, the data conversion unit 120 shown in Figures 1 and 3 can be implemented in the server 110. Similarly, the data conversion unit 220 can be implemented in the server 210.
[0067] 9 includes a server 110C and an optical transmission device 130 on the transmitting side, and a header error correction unit 240B, an optical transmission device 230, and a server 210C on the receiving side. The server 110C includes an arithmetic function unit 111 and a data conversion unit 120, and the server 210C includes an arithmetic function unit 211 and a data conversion unit 220. The arithmetic function unit 111 is equivalent to the server 110 shown in FIGS. 1 and 3, and the arithmetic function unit 211 is equivalent to the server 210 shown in FIGS. 1 and 3.
[0068] Here, as an example, data D1 in a first data format is input from an input device 150 such as a mouse or keyboard to the data conversion unit 120 via the arithmetic function unit 111. Also, data D3 in a third data format is input from the data conversion unit 220 to an output device 250 such as a liquid crystal display via the arithmetic function unit 211. However, the data conversion unit 120 may be installed in the output unit of the input device 150 outside the server 110C. Alternatively, the data conversion unit 120 may be installed between the input device 150 and the server 110C. Note that, for example, in the computing network system 1C, the header error correction unit 240B may be implemented within the optical transmission device 230.
[0069] 1, 1B, 1C Computing network system 110, 110C Server (first server) 111 Calculation function unit 120 Data conversion unit (first data conversion unit) 130 Optical transmission device (first optical transmission device) 150 Input device 210, 210C Server (second server) 211 Calculation function unit 220 Data conversion unit (second data conversion unit) 230 Optical transmission device (second optical transmission device) 240, 240B Header error correction unit 250 Output device 300 Transmission path D1 Data in first data format D2 Data in second data format D3 Data in third data format F1, F2 Frame
Claims
1. A computing network system comprising: a first server that stores data; a first data conversion unit that converts data in a first data format received from the first server into data in a second data format different from the first data format; a first optical transmission device that accommodates the data in the second data format received from the first data conversion unit in a frame and sends the frame to a transmission path; a header error correction unit that corrects errors in the headers of frames received from the first optical transmission device via the transmission path; a second optical transmission device that extracts data in the second data format from the frames after the header error correction; a second data conversion unit that converts data in the second data format received from the second optical transmission device into data in a third data format different from the second data format; and a second server that has a program installed to calculate the data in the third data format received from the second data conversion unit, wherein the first data conversion unit converts data in the first data format into data in a second data format that reduces the effects of bit errors that occur on the transmission path, and the second data conversion unit converts data in the second data format into data in a third data format that can be calculated by the second server.
2. The data in the first data format is defined as numeric data y, the data in the second data format is defined as byte data z, and the data in the third data format is defined as numeric data y', and the first data conversion unit converts the data in the third data format into a predetermined maximum value y of the numeric data y. max and the minimum value y min The number of bytes N of the byte data z and a positive integer n are used to approximate the numerical data y using the following formula (1): y ≈ (y max -y min ) n / (8N) + y min ... (1) The first data conversion unit converts the numerical data y approximated by equation (1) into a sequence of Q bytes of hexadecimal 0xFF and one byte of hexadecimal 0xZ. 1 Z 2 (where Q = n div 8 ... (2), R = n mod 8 ... (3), 0xZ) 1 Z 2 =2 R −1 (4)), the second data conversion unit counts the number n′ of “1” in the byte data z received from the second optical transmission device, and calculates a maximum value y of the numeric data y predetermined on the transmitting side. max and the minimum value y min 2. The computation network system according to claim 1, wherein the number of bytes N of the byte data z and the counted positive integer n' are used to calculate the numerical data y' using the following formula (5): y'=(y max -y min ) n' / (8N)+y min … (5) 3. The data in the first data format is defined as numeric data y, the data in the second data format is defined as byte data z, and the data in the third data format is defined as numeric data y', and the first data conversion unit converts the data in the third data format into a predetermined maximum value y of the numeric data y. max and the minimum value y min , the number of bytes N of the byte data z 1 +N 2 , and positive integers n, m, b, and c are used to approximate the numerical data y using the following formulas (6) and (7): y ≒ (y max -y min )n / (8bN 1 +8N 2 ) + y min ... (6), n=mb+c(b=8N 2 , b>c) ... (7), the first data conversion unit converts the numerical data y approximated by the formulas (6) and (7) into N 1 Consecutive Qubytes of hexadecimal 0xFF and one byte of hexadecimal 0xZ in a byte u1 Z u2 And, N 2 Consecutive Q1-byte hexadecimal 0xFF and 1-byte hexadecimal 0xZ in a byte l1 Z l2 and convert it into byte data z consisting of (where Qu = m div 8 ... (8), Ru = m mod 8 ... (9), 0xZ u1 Z u2 =2 Ru -1... (10), Ql=c div 8... (11), Rl=c mod 8... (12), 0xZ l1 Z l2 =2 Rl −1 … (13)), the second data conversion unit counts the number m′ of “1” in the first half of the byte data z received from the second optical transmission device and the number c′ of “1” in the second half of the byte data z, and calculates a maximum value y of the numeric data y that is predetermined on the transmitting side. max and the minimum value y min , the number of bytes N of the byte data z 1 +N 2 , and a positive integer b, the counted numbers m' and c', and a positive integer n' are used to calculate the numerical data y' using the following formulas (14) and (15). max -y min ) n' / (8bN 1 +8N 2 ) + y min ... (14), n'=m'b+c'... (15) 4. The computational network system according to claim 2 or 3, characterized in that the first optical transmission device bit-interleaves and divides input data into multiple lanes for transmission, the second optical transmission device restores the original signal from the signals of the multiple lanes, the second optical transmission device performs a CRC check on each lane when receiving the multiple lanes in the header error correction unit, and notifies the second data conversion unit of one lane number that has no bit errors, and the second data conversion unit counts the number of "1"s only in bit positions corresponding to the data of the notified lane number, and multiplies this count by the number of lanes to use the result as a substitute for n' in the formula used to calculate the numerical data y'.