Delay estimation device, delay estimation method, and delay estimation system
The delay estimation apparatus simplifies the identification of delayed requests and microservices by analyzing response time patterns, facilitating precise location of delays within microservices.
Patent Information
- Application Number
- DE112022007649
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-10-14
- Publication Date
- 2025-06-18
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Traditional techniques for determining microservice delays focus on response time but fail to specify which request within microservices is delayed, making it difficult to pinpoint the exact location of delays during repairs.
A delay estimation apparatus that acquires and analyzes response times for each request using a pre-mapped data model, determines delays based on current and past response times, and estimates the occurrence of delays in specific microservices and associated requests.
Enables easy identification of delayed requests and microservices by analyzing response time patterns, allowing for targeted repairs and reducing the time and effort required to specify the source of delays.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical field
[0001] The present invention relates to a delay estimation apparatus, a delay estimation method and a delay estimation system. State of the art
[0002] Recently, various techniques have been proposed for an architecture that divides a plurality of functions into a plurality of microservices and combines the plurality of microservices to form a system such as a cloud. For example, Patent Document 1 proposes a technique for determining the delay of a microservice. State-of-the-art documentPatent document
[0003] Patent Document 1: Japanese Patent Application Laid-Open No. JP 2021-196970 A SummaryProblem to be solved with the invention
[0004] Since traditional techniques focus on response time between microservices, a delay can be determined for a microservice route where a delay occurs. However, traditional techniques do not determine which request used in microservices is delayed. Consequently, there is a problem that a user needs to confirm where the delay occurs in a relatively broad range of parts of the microservice, such as during repair, and such parts cannot be easily specified.
[0005] The present invention is therefore conceived to solve the problems as described above, and its object is to provide a technique so that a user can easily specify a part where a delay occurs in a microservice. Ways to solve the problem
[0006] A delay estimation apparatus according to the present invention includes: acquisition means that acquires, for each of a plurality of requests, a response time of one or more microservices using the request for a data model in which the plurality of requests are pre-mapped; and determination means that determines whether or not a delay occurs for each of the requests based on the response time currently acquired and the response time acquired in the past. Effects of the invention
[0007] According to the present invention, whether or not a delay occurs is determined for each request based on the current response time and the past response time. With such a configuration, a user can easily specify a part where the delay occurs in the microservice.
[0008] These and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description and the accompanying drawings. Short description of the drawings Fig. 1 is a block diagram showing a configuration of a delay estimation system according to Embodiment 1. Fig. 2 is a diagram showing an example of data stored in a monitoring data management database according to Embodiment 1. Fig. 3 is a diagram showing an example of a data model stored in a data model management database according to Embodiment 1. Fig. 4 is a diagram showing an example of a response time stored in a history manager according to Embodiment 1. Fig. 5 is a flowchart showing the operation of a delay estimation apparatus according to Embodiment 1. Fig. 6 is a flowchart showing the operation of the delay estimation apparatus according to Embodiment 1. Fig. 7 is a diagram showing an example of a response time stored in a history manager according to a modification example 3. Fig. 8 is a block diagram showing a hardware configuration of a delay estimation apparatus according to another modification example. Fig. 9 is a block diagram showing a hardware configuration of a delay estimation apparatus according to another modification example. Description of the embodimentsEmbodiment 1
[0009] Fig. 1 is a block diagram showing a configuration of a delay estimation system according to the present embodiment 1. The delay estimation system in Fig. 1 includes a microservice 1, a monitoring data management database 2, a delay estimator 3, a data model management database 4, a history manager 5, and a control device 6. "DB" in the monitoring data management database 2 and the data model management database 4 stands for "database."
[0010] The microservice 1 has a specific function, and the plurality of microservices 1 constitute a functional system, such as a cloud, which has a desired function in which specific functions are combined. The microservice 1 performs, for example, acquisition, search, and modification processing on the data stored in the monitoring data management database 2 using a request, so that a specific function is achieved. The microservice 1 can perform acquisition, search, and modification processing, for example, not only on the data stored in the monitoring data management database 2 but also on the data processed by the other microservice 1 using a request, so that a specific function is achieved.
[0011] Microservice 1 uses one or more requests. Metadata, such as a facility, a year, and a building, is assigned a name to identify the request. For example, Microservice 1 performs processing to capture, search, and modify data relating to a year, for example, using a request to which a year is assigned as a name. In a Microservice 1, the plurality of requests can be used in parallel, serially, or selectively.
[0012] The monitoring data management database 2 stores data that is collected, searched, or modified by the request of the microservice 1.
[0013] Fig. Fig. 2 is a diagram showing an example of data stored in the monitoring data management database 2 according to the present embodiment 1. In the example in Fig. 2, the name of a sensor and a value, such as a measured value of the sensor, are assigned to each other and stored. For example, if a plurality of tables in Fig. 2 are associated with each sensor and stored in the monitoring data management database 2, and the microservice 1 uses the request of a sensor A3, then the microservice 1 acquires data regarding the sensor A3 from the plurality of tables of the monitoring data management database 2. The monitoring data management database 2 is formed of, for example, a relational database.
[0014] The delay estimator 3 in Fig. 1 estimates the delay of the request used by the microservice 1 in cooperation with the data model management database 4 and the history management device 5, for example, when the microservice 1 executes a specific function. The delay estimator 3, the data model management database 4, and the history management device 5 are described in detail below.
[0015] The delay estimation device 3 comprises a detection device 3a, a determination device 3b and an estimation device 3c.
[0016] The acquisition unit 3a acquires, for each request, the response time of one or more microservices 1 using the request for a data model in which the plurality of requests are pre-mapped. In the present embodiment 1, "one or more microservices 1" includes the one microservice 1 and the other microservice 1. In the present embodiment 1, the data model management database 4 stores the data model.
[0017] Fig. 3 is a diagram showing an example of the data model stored in the data model management database 4 according to the present embodiment 1. In the example in Fig. 3, the plurality of requests are pre-assigned in a hierarchy structure in the data model, and include a facility request, a device request, and a sensor request, which are sequentially defined from a higher hierarchy of the hierarchy structure. Although the data model in the present Embodiment 1 is specified by a user, the configuration is not limited to this.
[0018] In the example in Fig. 3, a request from a system A1 is associated with a request from each of a device A2 and a device B2 lower than that of the system A1. The request from the device A2 is associated with a request from each of the sensors A3, B3 and C3 lower than that of the device A2, and the request from the device B2 is associated with a request from a sensor D3 lower than that of the device B2. The request from each of the sensors A3, B3, C3 and D3 is associated with a value corresponding to a value in Fig. 2, and the request of the sensor C3 is further associated with a value obtained in a processing result of a microservice E.
[0019] For example, if the data model is specified, as in Fig. As shown in Figure 3, microservice 1, which uses the request from device A1, essentially uses the request from each of device A2 and device B2. Similarly, microservice 1, which uses the request from device A2, essentially uses the request from each of sensors A3, B3, and C3.
[0020] The detection device 3a in Fig. 1 records the response time of the microservice 1 for each request using the request for the data model in which the majority of requests are pre-assigned. For example, if the microservice 1 uses the request of the sensor A3, then the detection device 3a records the response time from a request of the request of the sensor A3 to a response, according to the data model in Fig. 3. For example, if the microservice 1 uses the request of the device A2, then the detection device 3a detects the response time from a request of the request from each of the device A2 and the sensors A3, B3 and C3 to a response, according to the data model in Fig. 3. The history management device 5 stores the response time recorded in the recording device 3a.
[0021] Fig. 4 is a diagram showing an example of the response time stored in the history management device 5 according to the present embodiment 1. The history management device 5 stores the current response time acquired most recently and a previous response time as an example of a past response time acquired in the past.
[0022] The example in Fig. Figure 4 illustrates that a microservice A selectively uses the request from sensor A3 and the request from sensor B3, and the current response time is recorded for sensor B3. Similarly, the example in Fig. 4, microservices C and E use the request from sensor A3, and the current response time is recorded for sensor A3. The difference in response time between microservices C and E using the same sensor A3 is caused by a difference other than the request from sensor A3, such as the network difference.
[0023] The destination device 3b in Fig. 1 determines whether or not the delay occurs for each request based on the current response time and the past response time. In the present embodiment 1, the determination means 3b determines whether or not the delay occurs for each request based on the current response time and a threshold value.
[0024] Fig. 5 is a flowchart showing the operation of the determining device 3b according to the present embodiment 1. The operation in Fig. 5 is performed for each request when the microservice 1 uses the request and the capture device 3a captures the response time.
[0025] First, in step S1, the determining device 3b performs statistical processing on the plurality of past response times and thus calculates a statistical value of the past response times. The statistical value is, for example, an average value, a mean value, dispersion, or standard deviation.
[0026] In step S2, the determining device 3b calculates a weight for the request. For example, the determining device 3b calculates the importance of the request or the importance of the microservice 1 using the request as the weight of the request based on request information, such as the usage frequency of the request.
[0027] In step S3, the determining means 3b determines the threshold value based on the statistical value calculated in step S1 and the weight of the request calculated in step S2.
[0028] In step S4, the determination means 3b determines whether or not the delay occurs in the request in which the current response time is detected, based on the determination of whether or not the current response time is greater than the threshold value determined in step S3. In the present embodiment 1, the determination means 3b determines that the delay occurs in the request when the current response time is greater than the threshold value, and determines that the delay does not occur in the request when the current response time is equal to or less than the threshold value. Subsequently, the operation in Fig. 5 completed.
[0029] In the operation described above, if the statistical value is, for example, an average value, the determining means 3b determines the sum or product of the average value and a predetermined reserve value as the threshold value. If only a past response time is detected and the statistical value cannot be calculated in step S1, the determining means 3b determines the sum or product of a past response time value and a predetermined reserve value as the threshold value.
[0030] Then, the determination device 3b decreases the reserve value as the weight of the request, that is, the importance of the request or microservice increases. According to such a configuration, the determination of the request delay can be more streamlined as the importance of the request increases; thus, the delay of the request or microservice 1 with a high importance can be easily detected.
[0031] In the example in Fig. 4, the current response time is substantially the same as the previous response time in microservice A using the request from sensor B3; thus, the determiner 3b tends to determine that the delay does not occur in the request from sensor B3. Meanwhile, the current response time is significantly greater than the previous response time in microservices C and E using the request from sensor A3; thus, the determiner 3b tends to determine that the delay occurs in the request from sensor A3.
[0032] In the following description, the request in which the determining means 3b determines that the delay occurs is occasionally referred to as a “delay request” for convenience of description.
[0033] The estimation device 3c in Fig. 1 determines that the delay occurs in both the microservice 1 using the delay request and the request associated with the delay request in the data model, based on the data model and the delay request. The estimation of the estimator 3c is not limited to this, and the estimator 3c may estimate that the delay occurs not in both the microservice 1 using the delay request and the request associated with the delay request in the data model, but only in one of them.
[0034] In the present embodiment 1, the estimator 3c estimates that the delay occurs in the request associated with the delay request and positioned in a higher hierarchy than the delay request in the hierarchy structure, based on the data model and the delay request.
[0035] Fig. 6 is a flowchart showing the operation of the estimator 3c according to the present embodiment 1. The operation in Fig. 6 is performed when the determining device 3b determines the delay request.
[0036] First, in step S11, the estimator 3c specifies the position of the delay request in the data model.
[0037] In step S12, the estimator 3c specifies the request associated with the delay request and positioned in a higher hierarchy than the delay request in the hierarchy structure in the data model. For example, if the data model specifies the data model in Fig. 3 and it is determined that the request of the sensor A3 is the deceleration request, then the estimator 3c specifies the request of the device A2 and the facility A1 in step S12.
[0038] In step S13, the estimator 3c estimates that the delay occurs in the microservice 1 using the delay request and the request specified in step S12. For example, assume the case where the data model is the data model in Fig. 3, and the request of the sensor A3, which is sent by the microservice E in Fig. 4 is determined as a delay request. In this case, the estimator 3c estimates that the delay in the microservice E is Fig. 4 and the request of the device A2 and the system A1 occurs, namely in step S13. Subsequently, the operation in Fig. 6 completed.
[0039] The control device 6 in Fig. 1 performs control so that a display device, not shown in the diagrams, displays the determination result and the estimation result in the delay estimation device 3. The control device 6 stops the microservice 1 that uses the delay request and that has been determined in the delay estimation device 3. For example, in the example described above, if the request of the sensor A3 is processed using the microservice E in Fig. 4 is determined as the delay request, the control device 6 stops the microservice E in Fig. 4. The control device 6 may stop all the functional systems formed by the microservice 1 that uses the delay request, or it may stop only the microservice 1 that uses the delay request in the functional systems. Conclusion of Embodiment 1
[0040] According to the delay estimator 3 in the present Embodiment 1 described above, it is determined whether or not the delay occurs for each request based on the current response time and the past response time. According to such a configuration, the request in which the delay occurs in the microservice 1 can be determined; thus, a user can easily specify a part where the delay occurs in the microservice 1.
[0041] In the present embodiment 1, it is estimated that the delay occurs in at least one of the microservice using the delay request and the request associated with the delay request in the data model, based on the data model and the delay request.
[0042] As an example, it is estimated that the delay occurs in the request associated with the delay request, which is located at a higher hierarchy than the delay request in the hierarchy structure, based on the data model and the delay request. According to this configuration, the time and effort required for a user to review the data model and specify the microservice using the delay request and the request associated with the delay request can be reduced.
[0043] In the present embodiment 1, the threshold for determining whether or not a delay occurs for each request is determined based on the past response time and the weight of the request. According to such a configuration, the delay determination for the request or microservice 1 with a high degree of importance can be streamlined.
[0044] In the present embodiment 1, the microservice that uses the delay request is stopped; thus, the further occurrence of a defect caused by the delay request can be suppressed. Modification example 1
[0045] Although the majority of queries in the data model are in Fig. 3 According to Embodiment 1, the group includes the facility request, the device request, and the sensor request, which are sequentially defined from the higher hierarchy in the hierarchy structure, but the configuration is not limited to this. For example, the plurality of requests may include a group of a year request, a month request, and a day request, which are sequentially defined from the higher hierarchy in the hierarchy structure, or it may also include a group of a building request, a floor request, and a person request, which are sequentially defined from the higher hierarchy in the hierarchy structure. Modification example 2
[0046] In Embodiment 1, when the delay request in a microservice 1 is determined based on the data model and the delay request, the estimator 3c can estimate that the delay occurs in the other microservice 1 using the delay request. Then, the controller 6 can stop the other microservice 1 using the delay request.
[0047] For example, in Fig. 4 The following: If the request of sensor A3 is determined as a delay request in microservice E, it can be estimated that the delay occurs in microservices A and C using the request of sensor A3, and microservices A and C can be stopped. According to such a configuration, the further occurrence of a defect caused by the delay request can be suppressed. Modification example 3
[0048] Consider a case where Modification Example 2 is not applied in Embodiment 1, but the other microservice 1 uses the same request as the request used in the one microservice. In such a case, it is determined that the delay occurs in the request in the one microservice 1, and it is not determined that the delay occurs in the request in the other microservice. In this case, the estimator 3c can estimate that the delay occurs in a part of the microservice 1 that is different from the request.
[0049] Fig. Fig. 7 is a diagram showing an example of a response time stored in a history manager 5 according to the present embodiment 3. In Fig. 7, the current response time in Microservice C is changed to have a smaller value than that in Fig. 4.
[0050] For example, in Fig. 7 determines that the delay occurs in the request of sensor A3 in microservice E, and it is not determined that the delay occurs in the request of sensor A3 in microservice C. In this case, the estimator 3c can estimate that the delay does not occur in the request of sensor A3, but that the delay occurs in a part of microservice E that is different from the request of sensor A3, such as a network of microservice E. According to such a configuration, a part where the delay occurs is estimated in detail; thus, a user can easily specify a part where the delay occurs in the microservice. Modification example 4
[0051] Although the number of data models in Fig. 3 is one in embodiment 1, a plurality of data models may also be included.
[0052] For example, the control device 6 may have mechanical learning including at least one of supervised learning, unsupervised learning, and forced learning, wherein deep learning is performed on the names of the plurality of queries to generate the data model.
[0053] The control device 6 with such a configuration can assign a request to which the name “filter system with circular marking, area with contaminated or polluted sludge with triangular marking, sensor A3) is assigned and a request to which the name “filter system with circular marking, area with contaminated or polluted sludge with triangular marking, sensor B3” is assigned to a request to which the name “filter system with circular marking, area with contaminated or polluted sludge with triangular marking” is assigned.
[0054] For example, the control device 6 can assign a request assigned the name "Filter system with circular marking, Contaminated sludge area with triangular marking" to a request assigned the name "Filter system with circular marking." In this way, the control device 6 can automatically generate the data model; thus, the time and effort of the user specifying the data model can be reduced. Modification example 5
[0055] In the present Embodiment 1, the determination unit 3b determines whether or not the delay occurs for each request based on the current response time and the threshold; however, the configuration is not limited to this. For example, the determination unit 3b may determine whether or not the delay occurs for each request by generating a transition pattern of the response time from the current response time and the past response time, and performing mechanical learning on the transition pattern similar to the mechanical learning described above. Modification example 6
[0056] Although the delay estimation device 3 and the control device 6 are arranged separately in Embodiment 1, the configuration is not limited thereto. For example, although not shown in the diagrams, the delay estimation device 3 may include a controller having a function similar to the control device 6 in addition to the detection device 3a, the determination device 3b, and the estimation device 3c. The delay estimation system is not limited to the delay estimation system according to Embodiment 1, as long as it has a function similar to the detection device 3a and a function similar to the determination device 3b. Another modification example
[0057] The detection device 3a, the determination device 3b and the estimation device 3c in Fig. 1 described above are hereinafter referred to as “detecting means 3a, etc.” The detecting means 3a, etc. is formed by a processing circuit 81 which is Fig. 8. That is, the processing circuit 81 includes: the acquisition means 3a that acquires, for each request, the response time of one or more microservices using the request for the data model in which the plurality of requests are pre-allocated; the determination means 3b that determines whether or not the delay occurs for each request based on the current response time and the past response time; and the estimation means 3c that determines that the delay occurs in at least one of the microservice using the delay request and the request associated with the delay request in the data model.
[0058] Dedicated hardware may be applied to the processing circuit 81, or a processor that executes a program stored in a memory may also be used. For example, a central processing unit, a processing device, an arithmetic device, a microprocessor, a microcomputer, or a digital signal processor (DSP) fall under the processor, and they are associated with, for example, a personal computer or a server.
[0059] When the processing circuit 81 is the dedicated hardware, for example, a single circuit, a complex circuit, a programmed processor, a parallel-programmed processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination of these falls under the processing circuit 81. Each function of the detection device 3a, etc., can be achieved by circuits on which the processing circuit is distributed, or each function of them can also be achieved collectively by a single processing circuit.
[0060] When the processing circuit 81 is the processor, the functions of the detection device 3a, etc. are achieved by a combination with software, etc. Software, firmware, or software and firmware, for example, fall under the software, etc. The software, etc., is described as a program and stored in a memory. As shown in Fig.9, a processor 82 applied to the processing circuit 81 reads out and executes a program stored in a memory 83.
[0061] This achieves the function of each unit. That is, the delay estimator 3 includes the memory 83 for storing a program that, when executed by the processing circuit 81, performs the following steps: Acquiring, for each request, the response time of one or more microservices using the request for each of the requests for the data model in which the plurality of requests are pre-allocated; determining whether or not the delay occurs for each request based on the current response time and the past response time; and determining that the delay occurs in at least one of the microservice using the delay request and the request associated with the delay request in the data model. In other words, this program is also considered one that causes a computer to execute a procedure or method of the acquisition device 3a, etc. Here, the memory 83 may be: a non-volatile or volatile semiconductor memory such as a flash memory.a random access memory (RAM), a read-only memory (ROM), a flash memory, an electrically programmable read-only memory (EPROM) or an electrically erasable programmable read-only memory (EEPROM), a hard disk drive (HDD), a magnetic disk, a flexible disk, an optical disk, a compact disc, a minidisc, a digital versatile disc (DVD) or a drive device for any of these, or any storage medium that may be used in the future.
[0062] Above, a configuration is described in which each function of the detection device 3a, etc., is achieved by one of, for example, hardware and software. However, the configuration is not limited to this; for example, a configuration in which part of the detection device 3a, etc., is achieved by dedicated hardware and another part thereof by software is also usable. For example, the function of the detection device 3a can be achieved by the processing circuit 81 as dedicated hardware and, for example, a detection processing circuit, and the function of the remaining units can be achieved by the processing circuit 81 as a processor 82 that reads and executes the program stored in the memory 83.
[0063] As described above, the processing circuit 81 can achieve each function described above, for example, through the hardware, the software, or the combination thereof.
[0064] The contents of the embodiments may be appropriately modified and omitted.
[0065] The above description is illustrative in all aspects and is not limiting. It should be understood that numerous modifications may be used that are not specifically illustrated. List of reference symbols 1 Microservice 3 Delay estimator 3a Recording device 3b Determination device 3c Estimating device. QUOTES CONTAINED IN THE DESCRIPTION
[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature
[0000] JP 2021-196 970 A
[0003]
Claims
[1] Delay estimation device comprising: a capture device that captures, for each of a plurality of requests, a response time of one or more microservices using the request for a data model in which the plurality of requests are pre-mapped; and a determining means for determining whether or not a delay occurs for each of the requests based on the response time currently detected and the response time detected in the past. [2] The delay estimation apparatus according to claim 1, further comprising: an estimator that estimates that the delay occurs in at least one of the microservices using a delay request and one of the requests associated with the delay request in the data model, based on the data model and the delay request, where the delay request is one of the requests for which a delay is determined to occur. [3] The delay estimation apparatus according to claim 1 or 2, wherein the plurality of requests are pre-assigned in a hierarchy structure in the data model. [4] Delay estimation device according to claim 2, wherein the majority of requests are pre-assigned in a hierarchy structure in the data model, and the estimator estimates that a delay occurs in one of the requests associated with the delay request and located in a higher hierarchy than the delay request in the hierarchy structure, based on the data model and the delay request. [5] The delay estimation apparatus according to claim 3 or 4, wherein the plurality of requests comprises at least one of the following: a group of a plant request, a device request and a sensor request, sequentially defined by a higher hierarchy of the hierarchy structure; a group of a request of a year, a request of a month and a request of a day, sequentially defined by a higher hierarchy of the hierarchy structure; and a group of a building request, a floor request and a person request, sequentially defined by a higher hierarchy of the hierarchy structure. [6] A delay estimation apparatus according to any one of claims 1 to 5, wherein said determining means determines whether or not a delay occurs for each of the requests based on the response time currently detected and a threshold value, and the threshold value is determined based on the response time detected in the past time and a weight of the request. [7] The delay estimator according to claim 2, wherein the microservice using the delay request is stopped. [8] Delay estimation device according to claim 2, wherein the one or more microservices have a microservice and another microservice, and the estimator estimates that a delay occurs in the further microservice using the delay request when the delay request is determined in the one microservice, based on the data model and the delay request. [9] The delay estimator of claim 8, wherein the further microservice using the delay request is stopped. [10] Delay estimation apparatus according to claim 2, wherein the one or more microservices comprise a microservice and another microservice that uses one of the requests used for the one microservice, and the estimator estimates that a delay occurs in a part of the one microservice other than the one of the requests if it is determined that a delay occurs in the one of the requests in the one microservice and it is not determined that a delay occurs in the one of the requests in the other microservice. [11] The delay estimation apparatus according to any one of claims 1 to 10, wherein the data model is generated by performing mechanical learning on a name of each of the plurality of requests. [12] Delay estimation method comprising: Capturing, for each of a plurality of requests, a response time of one or more microservices using the request for a data model in which the plurality of requests are pre-mapped; and Determine whether or not a delay occurs for each of the requests based on the response time currently being recorded and the response time recorded in the past. [13] Delay estimation system comprising: a function for capturing, for each of a plurality of requests, a response time of one or more microservices using the request for a data model in which the plurality of requests are pre-mapped; and a function for determining whether or not a delay occurs, and for each of the requests, based on the response time currently recorded and the response time recorded in the past.
Citation Information
Patent Citations
Delay cause specifying method and delay cause specifying program
JP2021196970A