Client server system
The client-server system addresses data transfer delays by implementing polling with time slot allocation and cut-through buffers, enhancing real-time performance and efficiency for applications such as IoT and the metaverse.
Patent Information
- Application Number
- PCT/JP2024/027194
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-30
- Publication Date
- 2026-02-05
AI Technical Summary
Conventional client-server systems experience delays in data transfer from edge computers to servers, leading to impaired real-time performance and increased load on concentrator switches due to high concentration efficiency and fairness considerations.
A client-server system where edge computers poll data at predetermined intervals, transferring it in time slots determined by a reference time from the server, adjusted using round trip time negotiation, and utilizing cut-through buffers for high-speed data transfer.
This approach reduces latency and improves data acquisition and processing efficiency, ensuring real-time performance for applications like IoT and the metaverse by evenly distributing data transfer timing and reducing processing load on concentrator switches.
Smart Images

Figure JP2024027194_05022026_PF_FP_ABST
Abstract
Description
Client-Server System
[0001] The present invention relates to a client-server system that acquires low-latency data in real-time applications involving AI processing, such as IoT, metaverse, and surveillance cameras.
[0002] In recent years, there has been active research and development into technologies that utilize data by processing it in real time with AI processing, such as IoT (autonomous driving and drones), the metaverse, and surveillance cameras. In such systems, attention is being paid to client-server systems (information processing systems) that process data aggregated from multiple sensors on edge servers rather than on remote servers such as the cloud.
[0003] As shown in Figure 7, in a conventional information processing system, edge computers (clients) (10-1 to 10-12) store generated data in advance in storage, and periodically transfer the acquired data to a server via a network. In this method, in order to efficiently aggregate multiple edge computers when transferring data to a server 100, high concentration efficiency is achieved by adding switch interface circuits (40-1 to 40-4) as the number of connected edge computers increases and performing route control. Furthermore, for example, Patent Document 1 discloses a concentration method that enables fair data reading from each edge computer in systems of various scales, from small to large.
[0004] JP 2009-21918 A
[0005] However, the conventional method described above has the problem that it takes time for data to be transferred to the server after it is generated, impairing real-time performance. Furthermore, the conventional method of aggregating data from multiple clients concentrates data from the perspective of high efficiency and fairness in concentrating, which results in the problem of large concentrator switches, resulting in large delays in the concentrator switches.
[0006] The present invention has been made to solve the above-mentioned problems, and aims to provide a client-server system that can solve the problem of delays that occur in edge computers and line-concentrating switches, and improve the efficiency of data acquisition and processing.
[0007] In order to solve the above problem, the client-server system of the present invention is a client-server system in which a plurality of edge computers are accommodated in a concentrator switch and connected to a server via a network, and each of the plurality of edge computers is configured to acquire data by polling at a predetermined polling interval, and to transfer the data acquired by polling to the server via the network in a time slot assigned to the polling interval, and to determine the start time of the time slot based on a reference time distributed by the server and a time corrected using a round trip time measured by negotiation with the server.
[0008] According to the present invention, it is possible to provide a client-server system that can improve the efficiency of data acquisition and processing by acquiring data generated by an edge computer in real time and transmitting the acquired data to a network with low latency to ensure real-time performance.
[0009] This improves the real-time nature of data, making it possible to realize a client-server system that is compatible with applications that require real-time performance, such as applications involving IoT, metaverse, and AI processing.
[0010] FIG. 1 is a configuration example of a client-server system according to a first embodiment of the present invention. FIG. 2A is a configuration example of an edge computer according to the first embodiment of the present invention. FIG. 2B is a diagram for explaining the operation of the edge computer according to the first embodiment of the present invention. FIG. 3 is a calculation example of the timing to start polling according to the first embodiment of the present invention. FIG. 4 is a configuration example of a client-server system according to a second embodiment of the present invention. FIG. 5 is a configuration example of a client-server system according to a third embodiment of the present invention. FIG. 6 is a configuration example of a client-server system according to a fourth embodiment of the present invention. FIG. 7 is a configuration example of a conventional client-server system.
[0011] 1 shows an example of the configuration of a client-server system according to a first embodiment of the present invention. In the client-server system 1, edge computers (10-1 to 10-12) are connected to a line concentrator 20 via a network. The line concentrator 20 is aggregated into a single network and connected to a server 100.
[0012] 2A shows an example of the configuration of an edge computer according to the first embodiment of the present invention. The edge computer 10 comprises an optical system 11, a camera image sensor 12, a polling unit 13 that issues instructions (electronic shutter) to the image sensor 12 to acquire image data in real time, a high-speed transfer unit 14 that processes data from the image sensor 12, and a transceiver unit 15 that transmits and receives data to and from the network. The high-speed transfer unit 14 and the transceiver unit 15 each include cut-through buffers 16 and 17. The edge computer 10 can be configured, for example, using an FPGA or the like that can program any logic circuit.
[0013] Specific operations of the edge computer 10 for transmitting data from the image sensor 12 of the camera of the edge computer (client) to the network with low latency will be described with reference to FIG. 2B.
[0014] In this embodiment, the edge computer (client) 10 acquires real-time data at a predetermined polling timing and transmits the acquired data to the server. Specifically, the polling unit 13 instructs the camera's image sensor 12 to acquire image data by releasing the electronic shutter.
[0015] The camera's image sensor 12 is, for example, a CCD (Charge Coupled Device) sensor. CCD sensors are a type of solid-state imaging element widely used in video cameras and digital cameras. Photodiodes equal to the number of pixels are regularly and densely arranged on the surface of the CCD sensor 12.
[0016] Light from an optical system 11 such as a lens is incident on each photodiode of the CCD sensor 12, where photoelectric conversion is performed to generate electric charges. Since these electric charges are analog signals, they are converted from analog to digital signals in a subsequent high-speed transfer unit 14.
[0017] In a digital signal, a frame header including a start frame delimiter and a preamble is added to the beginning of each frame of data, and a frame check sequence (FCS) is added after each frame of data. The header contains metadata such as the shooting date and time, the sensor size, bit depth, etc.
[0018] The digital signal is sent to the next-stage transceiver 15 via a minimal buffer, for example, a cut-through buffer 16. The transceiver 15 packetizes the digital signal in accordance with the network protocol and transmits it to the network via a cut-through buffer 17. Data acquired by polling is stored in the cut-through buffer, and data extracted from the cut-through buffer is transferred to the server. With a cut-through buffer, transfer begins before the data is completely stored in the buffer, enabling high-speed data transfer with little delay.
[0019] In the following explanation, an embodiment of the present invention will be described under the assumption that there are 12 edge computers 10, the network IF is 1 Gbps to 2.5 Gbps, the polling interval is 10 msec, and the amount of data sent per polling is 100 KB or less.
[0020] Each edge computer (10-1 to 10-12) communicates with the server 100 in the following steps to determine the polling timing and transmission timing, i.e., the time slot.
[0021] [Step 1: Obtaining time information from the server] First, the edge computers (10-1 to 10-12) obtain time information from the server 100. This time information serves as a reference for adjusting the timing of data transfer between edge computers. This time information is provided by the server 100 in an appropriate format, such as the server's system time or a specific timestamp.
[0022] [Step 2: Sharing time information between edge computers] Next, the edge computers (10-1 to 10-12) share the acquired time information among themselves. Sharing of the time information can be performed using an appropriate means, such as direct communication between the edge computers or communication via the server 100.
[0023] The time information can be shared in an appropriate format, such as communication using a specific protocol, information exchange in a specific data format, etc. For example, when time information is shared between edge computers using the Precision Time Protocol (PTP), the time information is shared based on the time information (reference time) distributed from the server 100 and the time corrected using the propagation delay (RTT: Round Trip Time) measured by negotiation with the server 100.
[0024] First, the edge computers (10-1 to 10-12) acquire time information from the server 100. Next, to share this time information among the edge computers, the master clock (server) transmits a Sync message, and immediately thereafter transmits a Follow Up message.
[0025] These messages contain the current time of the master clock and the precise time of transmission (reference time). Slave clocks (edge computers) use the time information (reference time) in these messages to calculate the time offset from the master clock and the network propagation delay (RTT: Round Trip Time), and correct their own time information. This enables highly accurate time information to be shared among multiple edge computers, i.e., time synchronization.
[0026] [Step 3: Each edge computer adjusts the polling and transfer timing based on the shared time information] Finally, the edge computers (10-1 to 10-12) adjust the polling and transfer timing based on the shared time information. Specifically, each edge computer (10-1 to 10-12) calculates the polling and transfer timing using the shared time information and its own ID (or other unique identification information).
[0027] For example, the time information and ID can be input into a predetermined function, and the polling and transfer timing can be calculated using the output of the function. This function can be, for example, a hash function or a calculation using a specific algorithm.
[0028] Specifically, it is conceivable that the server 100 holds a client list, determines in advance the IDs that identify edge computers and the order in which time slots are allocated, and calculates the polling and transfer timing based on this information.
[0029] For example, if the polling interval is 10 msec, the polling interval is divided by the number of edge computers to determine the time slot per edge computer.
[0030] In this case, since 10 msec / 12=0.8333, the time slot per edge computer is determined to be 0.8 msec. slot It is written as follows.
[0031] After that, polling is started in a time slot calculated using the order of the edge computers (10-1 to 10-12) based on the reference time shared by the edge computers (10-1 to 10-12) and the determined polling interval. The calculation method for the polling and transfer timing in the edge computers (10-1 to 10-12) is shown below.
[0032] First, the IDs of the edge computers (10-1 to 10-12) are id , the time information obtained from the server is T server , the polling interval is P interval The timing T polling is calculated using the following formula (1), where m is an integer. polling =T server +E id ×T slot + m × P interval ...(1) Using this formula (1), each edge computer (10-1 to 10-12) can determine the timing of polling and transfer using its own ID and the time information obtained from the server 100.
[0033] FIG. 3 shows the timing of polling and transfer T polling In FIG. 3, the reference time T server = 00:00:00.0000000000 (yyyy:mm:dd), and E id The time slots are assigned to the 12 edge computers in the order of 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, and 11.
[0034] Here, the server 100 transmits the reference time T server was delivered and immediately, id If the edge computer with T = 0 starts polling, then Tpolling =00.000000000.
[0035] Next, E id If the edge computer with m = 1 starts polling at the 1000th round of the polling cycle (m = 1000), E id The timing for polling and transfer is 10 msec x 1000 = 10 seconds after the edge computer with Eid = 0 starts polling, plus 0.8 msec of time slots (time slots with Eid = 1). polling = 10.000800000.
[0036] After that, other edge computers also calculate the timing for polling and transfer and start polling and transfer in sequence. id When the timing of polling and transfer of the edge computer with E = 0 is used as the reference, id = 1 to E id = 11 edge computers, each E id The time slot (E id ×T slot This allows all edge computers (10-1 to 10-12) to perform polling and data transfer in different time slots at a polling interval of 10 msec.
[0037] The client-server system 1 of this embodiment performs time synchronization among the edge computers (10-1 to 10-12) and determines the time slot for polling and data transfer based on the time corrected using the round trip time measured through negotiation with the server 100. Because highly accurate time synchronization is performed among the multiple edge computers in this way, it becomes possible for all edge computers (10-1 to 10-12) to perform polling and data transfer without overlapping in time.
[0038] In the client-server system 1 of this embodiment, the timing of data transfer between the edge computers (10-1 to 10-12) is evenly distributed to the concentrator switch 20, improving the accommodation efficiency and reducing the processing load on the concentrator switch 20. This makes it possible to reduce delays in network communication and improve the efficiency of data acquisition and transfer in the client-server system 1.
[0039] Furthermore, according to this embodiment, the following advantages can be obtained.
[0040] (Buffer control is no longer necessary) Data transfer timing is evenly distributed among the edge computers (10-1 to 10-12), reducing congestion in the concentrator switch 20. This eliminates the need for buffer control, significantly reducing the processing load on the concentrator switch.
[0041] (Adoption of Cut-Through Buffer Method) When congestion is low, it is possible to adopt the cut-through buffer method in the line concentrator switch 20. In the cut-through buffer method, transfer begins before the data packet is completely stored in the buffer, thereby reducing delay and enabling high-speed data transfer. In addition, the cut-through buffer method can be implemented with a shallow buffer circuit, allowing the circuit scale to be kept small.
[0042] The present invention is not limited to the above embodiment, but can also be applied to other network environments such as those described below.
[0043] (Application to Different Network Environments) The present invention can be applied not only to the specific network environment described above, but also to different network environments. For example, even in environments with different network bandwidths, numbers of clients, polling intervals, etc., applying the procedure of this embodiment can provide effects such as improved data transfer efficiency, improved accommodation efficiency, and reduced processing load on the line concentrator switch.
[0044] (Application to Different Data Formats) The present invention can be applied not only to the specific data formats described above, but also to different data formats. For example, by applying the procedure of the present invention to data of various formats such as text data and audio data, it is possible to obtain effects such as improving the efficiency of data transfer, improving the storage efficiency, and reducing the processing load of the line concentrator switch.
[0045] (Application to Different Edge Devices) The present invention can be applied not only to the specific edge computers described above, but also to different edge devices. For example, by applying the procedures of the present invention to various types of edge devices such as smartphones, tablets, and personal computers, it is possible to obtain effects such as improving the efficiency of data transfer, improving accommodation efficiency, and reducing the processing load of line concentrator switches.
[0046] The embodiment of the present invention is an example of applying the above-described invention content to a specific situation, and similar effects can be obtained by applying similar procedures to other situations and conditions. Furthermore, the specific procedures and methods can be appropriately changed and adjusted depending on the details and requirements of the implementation. Various changes and modifications are possible within the scope of the invention.
[0047] <Second embodiment> Fig. 4 is a diagram showing a second embodiment of the present invention. Compared to Fig. 1, the second embodiment differs in that the line concentrator 20 and the server 100 are not connected via a network, but are connected via a backplane, and the line concentrator 20 and the server 100 are integrated. With this configuration, it is possible to mount the line concentrator 20 on a card in the server 100, thereby enabling the device to be made smaller.
[0048] <Third embodiment> Fig. 5 is a diagram showing a third embodiment of the present invention, which differs from Fig. 1 in that an optical circuit switch (OCS) 30 is used instead of the line concentrator switch 20, and in that data is transmitted and received using burst signals that emit optical signals.
[0049] 5, the OCS 30 operates in the same manner as the line concentrator switch 20. The OCS 30 is an optical circuit switch that has the function of quickly switching an input optical signal to a set route. Consider a case in which, for example, a burst optical signal from an edge computer (10-6) arrives at the OCS 30, and then a burst optical signal from an edge computer (10-5) arrives at the OCS 30.
[0050] First, just before the signal from the edge computer (10-6) reaches the input of the OCS 30, the port of the OCS 30 connected to the edge computer (10-6) and its output destination route setting (route a in FIG. 4) are performed in about several tens of microseconds in the OCS 30. Then, when the burst optical signal from the edge computer (10-6) is input to the OCS 30, the burst optical signal from the edge computer (10-6) is output from the output side of the OCS 30 via route a.
[0051] Thereafter, the burst optical signal from the edge computer (10-5) arrives at the OCS 30, but just before that, a route (route b in FIG. 4) is set at a port of the OCS 30 connected to the edge computer (10-5) in the same manner. Then, when the burst optical signal from the edge computer (10-5) is input to the OCS 30, the burst optical signal of the edge computer (10-5) is output from the output side of the OCS via route b.
[0052] For data from other edge computers, route setting is similarly performed for each time slot assigned to each edge computer. As a result, real-time data acquired by polling from all edge computers is collected by OCS 30 and sent to the server.
[0053] The OCS 30 must hold time slot information in order to switch routes in the time slots assigned to each edge computer (10-1 to 10-12). The OCS 30 can switch routes according to the time slots by sharing time and time slot information via the management server 200, which has the master time.
[0054] <Fourth embodiment> Fig. 6 shows a fourth embodiment of the present invention. Compared to Fig. 5, the difference is that the OCS 30 is replaced by an optical power coupler 40. This network configuration is the configuration adopted in PON (Passive Optical Network).
[0055] The PON can accommodate multiple edge computers (10-1 to 10-12) in a single server 100 by aggregating client data from each edge computer (10-1 to 10-12) emitted in a time-division time slot using an optical power coupler 40.
[0056] Even in such a network configuration, it is possible to aggregate real-time data acquired by each edge computer and transfer it to a server. Here, dynamic bandwidth allocation (DBA), which is used in PON, may be used as a method for allocating time slots to each edge computer.
[0057] Some or all of the above-described embodiments can be described as, but are not limited to, the following supplementary notes.
[0058] [Supplementary Note 1] A client-server system in which a plurality of edge computers are accommodated in a line concentrator switch and connected to a server via a network, wherein each edge computer of the plurality of edge computers is configured to acquire data by polling at a predetermined polling interval, and transfer the data acquired by the polling to the server via the network in a time slot assigned to the polling interval, and the client-server system determines the start time of the time slot based on a reference time distributed by the server and a time corrected using a round trip time measured by negotiation with the server. [Supplementary Note 2] The client-server system according to Supplementary Note 1, in which the data acquired by polling is stored in a cut-through buffer, and data extracted from the cut-through buffer is transferred to the server. [Supplementary Note 3] The client-server system according to Supplementary Note 1 or Supplementary Note 2, in which the line concentrator is configured integrally with the server. [Supplementary Note 4] The client-server system according to Supplementary Note 1 or Supplementary Note 2, in which the line concentrator is an optical circuit switch or an optical power coupler.
[0059] The present invention can be applied to a client-server system.
[0060] 1...client server system, 10-1 to 10-12...edge computers (clients), 20...line concentrator switch, 30...optical circuit switch (OCS), 40...optical power coupler, 100...server.
Claims
1. A client-server system in which a plurality of edge computers are accommodated by a line concentrator switch and connected to a server via a network, wherein each of the plurality of edge computers is configured to acquire data by polling at a predetermined polling interval, and to transfer the data acquired by polling to the server via the network in a time slot assigned to the polling interval, and the client-server system determines the start time of the time slot based on a reference time distributed by the server and a time corrected using a round trip time measured by negotiation with the server.
2. A client-server system according to claim 1, wherein the data obtained by said polling is stored in a cut-through buffer, and the data retrieved from said cut-through buffer is transferred to said server.
3. A client-server system according to claim 1, wherein the line concentrator switch is configured integrally with the server.
4. The client-server system according to claim 1, wherein the concentrator switch is an optical circuit switch or an optical power coupler.
Citation Information
Patent Citations
Method, system and computer program for extracting information from networked devices in multi-protocol remote monitoring system
JP2005110242A
Measurement device and method
JP2015039131A
Method for operating a user equipment in a cellular network
US20200396588A1