Information management devices, systems, methods, and programs

The system addresses communication failures in microservice-based information management by implementing error-handling and timed waiting strategies to ensure efficient and timely delivery of analysis results.

JP7881660B2Active Publication Date: 2026-06-29CANON KK

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
CANON KK
Filing Date
2024-08-23
Publication Date
2026-06-29

AI Technical Summary

Technical Problem

Existing information management systems face communication failures and increased load on services due to separation of functions as microservices, leading to issues with error handling and unnecessary analysis requests, which affect system availability and data transfer.

Method used

The system employs an information management device with analysis request, result request, and decision mechanisms to handle errors by re-analyzing data if responses indicate failures, and uses timed waiting strategies to manage load, ensuring timely delivery of analysis results.

Benefits of technology

This approach enhances system availability by reducing unnecessary analysis requests and minimizing load on the analysis service, thereby improving the delivery of analysis results to users.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007881660000001
    Figure 0007881660000001
  • Figure 0007881660000002
    Figure 0007881660000002
  • Figure 0007881660000003
    Figure 0007881660000003
Patent Text Reader

Abstract

An information management device, system, method, and program are provided that suppress the issuance of unnecessary analysis requests. [Solution] In the information management system, the information management device comprises an analysis request unit that requests the analysis device to analyze data, an analysis result request unit that requests the analysis results from the analysis device, a decision unit that decides to obtain the analysis results if the response to the request for the analysis results is successful, decides to request analysis again in the event of an error that includes at least information indicating that the analysis device failed to obtain data from the information management device, and decides to request the analysis results again if the analysis is before or during processing, and an analysis result acquisition unit that acquires the analysis results from the analysis device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information management apparatus, a system, a method, and a program.

Background Art

[0002] Conventionally, an image management cloud service that receives an image transmitted from a terminal such as a camera, a smartphone, or a personal computer (hereinafter referred to as a PC) by a user and manages the image has been used. Furthermore, in recent years, an image management cloud service having a function of analyzing a subject captured in an image and classifying the subject has also appeared.

[0003] In addition, in recent cloud service development, highly versatile functions are implemented as microservices and used from various services to reduce development costs and operation costs. Since the function of analyzing a subject captured in an image and classifying the subject is highly versatile, cost reduction as described above can be expected by implementing it as a microservice.

[0004] Patent Documents 1 to 3 disclose technologies that are composed of a plurality of devices and function by the cooperation of these devices.

[0005] The technology described in Patent Document 1 is a technology related to an analysis system composed of a client, an analysis server, a data server, and a communication device that communicates between the analysis server and the data server. When a user requests analysis from the client to the analysis server, the analysis server can execute the analysis and receive the analysis result via the client.

[0006] Next, the technology described in Patent Document 2 is a technology for automating the setup of multiple multifunction printers when they are installed in an office, in a system consisting of a client, a case management server, a data management server, and multiple multifunction printers. In Patent Document 2, when the execution of the automatic setup script is interrupted, the multifunction printer requests the case management server to generate a split script that can be resumed from the point where the setup was interrupted, and the setup can be continued by the multifunction printer receiving and executing the generated split script.

[0007] Next, the technology described in Patent Document 3 relates to a medical system composed of multiple medical information devices compliant with DICOM (Digital Imaging and Communications in Medicine). CT scanners, MRI scanners, diagnostic imaging devices, etc., operate in coordination via a network, enabling diagnosis by physicians. [Prior art documents] [Patent Documents]

[0008] [Patent Document 1] Patent No. 5895782 [Patent Document 2] Japanese Patent Publication No. 2018-120541 [Patent Document 3] Patent No. 5361750 [Overview of the project] [Problems that the invention aims to solve]

[0009] However, by separating functions as microservices, the calling service and the called service are separated on the network, which can lead to communication failures preventing requests and data transfer from each service. In systems composed of multiple devices, it is crucial for the calling service to properly handle errors received from the called service in order to improve system availability.

[0010] Patent Document 1 discloses the configuration of an analysis system, but does not disclose how errors are handled. Patent Document 2 discloses the processing that occurs when a multifunction printer requests the generation of a split script from a case management server, but fails to obtain the split script. However, in the event of failure to obtain the script, the multifunction printer simply waits, and does not disclose how errors are handled in such cases. Patent Document 3 describes a medical information communication connection management device that sends a request to a medical information device, analyzes the response information, and implements countermeasures according to the analysis results. However, these countermeasures only involve obtaining an error message corresponding to the error type from an error correspondence table that links error types and error messages stored in a countermeasure storage unit, and displaying the error message on the countermeasure display screen. In other words, no technology such as executing recovery processing in response to response information from the medical information device is disclosed.

[0011] In other words, Patent Documents 1 to 3 do not disclose any technology for requesting processing, how to recover processing based on the response information after the request, or how to continue providing data to the user as much as possible. Furthermore, if too many requests are made to the same party that has already received a processing request, the load on the receiving service increases. Avoiding overload is also important in cooperative systems. Prior art documents 1 to 3 do not disclose any technology to avoid this.

[0012] This invention was made to solve the above-mentioned problems, The objective is to provide information management devices, systems, methods, and programs that can continue to provide data to users as much as possible while suppressing the issuance of unnecessary analysis requests. [Means for solving the problem]

[0013] As one means of achieving the above objective, the information management device of the present invention has the following configuration. That is, Solution Analysis request means for requesting the analysis device to analyze the data, If the response from the analysis device to the request for the aforementioned analysis does not indicate an error, An analysis result request means for requesting analysis results from the analysis device, and a response to the request for the analysis results. From the aforementioned analysis device When the response is successful This indicates it is determined to obtain the analysis result in this case The first decision means and the response from the analysis device to the request for the analysis result are, At least the fact that the analysis device failed to obtain the data from the information management device of Error including This indicates In this case The aforementioned analysis device it is determined to request re - analysis A second decision means, and the response from the analysis device to the request for the analysis result, by the analysis device When the analysis is before or during processing This indicates In this case The aforementioned analysis device it is determined to request the re - analysis result Third It includes a determination means and an analysis result acquisition means for acquiring the analysis result from the analysis device

Effect of the Invention

[0014] According to the present invention having the above - described configuration, the possibility of providing the analysis result to the user can be increased, and the issuance of unnecessary analysis requests can be suppressed

Brief Description of the Drawings

[0015] [[ID=3,2]] [Figure 1] It is a diagram showing an example of an image of an information management system [Figure 2] It is a diagram showing an example of a system configuration of an information management system [Figure 3] It is a diagram showing an example of a hardware configuration of an information processing device [Figure 4] It is a diagram showing an example of a hardware configuration of a terminal [Figure 5] It is a diagram showing an example of a logical configuration of an information management system [Figure 6] It is a diagram showing an example of a processing flow in an information management system [Figure 7] It is a diagram showing an example of a processing flow in S201 of an information management device [Figure 8] It is a diagram showing an example of a detailed processing flow in S201 of an information management device [Figure 9] It is a diagram showing an example of a processing flow in a waiting section [Figure 10] It is a diagram showing an example of an image of a waiting time [Modes for carrying out the invention]

[0016] The present invention will now be described in detail based on its preferred embodiments with reference to the attached drawings. Note that the configurations shown in the following embodiments are merely examples, and the present invention is not limited to the illustrated configurations.

[0017] <Embodiment 1> The first embodiment of the present invention will be described below.

[0018] <Image of Information Management System 100> Figure 1 is an illustrative diagram of an information management system 100 according to an embodiment of the present invention.

[0019] As shown in Figure 1, the information management system 100 consists of a camera 101, a storage service 102, and an analysis service 103.

[0020] User 104 is a user who operates camera 101 and uses the information management system 100. User 104 has an account for storage service 102.

[0021] 101 is a PC that has communication capabilities and can send images to the storage service 102.

[0022] 102 is a storage service with communication capabilities that can communicate with external devices such as camera 101 and analysis service 103. It manages images uploaded by users from camera 101.

[0023] 103 is an analysis service that has communication capabilities and can communicate with storage service 102.

[0024] The flow of the information management system 100 in this embodiment is described below.

[0025] User 104 sends the image stored in camera 101 to storage service 102.

[0026] The storage service 102 requests the analysis service 103 to analyze the received images.

[0027] The analysis service 103 retrieves images from the storage service 102 and analyzes the retrieved images.

[0028] The storage service 102 requests the analysis results from the analysis service 103, and if the analysis is complete, it retrieves the analysis results from the analysis service 103.

[0029] User 104 obtains the analysis results via camera 101.

[0030] <System configuration of Information Management System 100> Figure 2 shows the system configuration of the information management system 100 according to an embodiment of the present invention.

[0031] As shown in Figure 2, the information management system 100 consists of a terminal 101, a management device 102, an analysis device 103, and a network 201. The terminal 101, management device 102, and analysis device 103 correspond to the PC 101, storage service 102, and analysis service 103 in Figure 1, respectively.

[0032] Terminal 101, management device 102, and analysis device 103 are connected via network 201. Network 201 is implemented as, for example, a LAN (Local Area Network) or the Internet, enabling mutual communication between connected devices. Terminal 101 is described as a digital camera with interchangeable lenses, a compact digital camera, a smartphone, a tablet, etc., that has communication capabilities. However, it is not limited to these; any terminal capable of transmitting images to the information management device 102, such as a PC with communication capabilities, may be used.

[0033] <Hardware configuration of the information processing device 300> Figure 3 shows an example of the hardware configuration of an information processing device 300 that functions as an information management device 102 and an analysis device 103. The information processing device 300 has a CPU 301, ROM 302, RAM 303, display 304, keyboard 305, secondary storage device 306, network I / F 307, and pointing device 308, and each of these parts is interconnected via a bus 309.

[0034] The CPU 301 is an arithmetic processing unit that executes programs stored in the ROM 302 and secondary storage device 306, and controls various parts connected via the bus 309. The ROM 302 is a read-only memory that stores the OS and other data. The RAM 303 is a memory that temporarily stores data when the CPU 301 performs arithmetic processing. The display 304 is a display device that displays UI screens and the like. The keyboard 305 and pointing device 308 are input devices for the user to perform various input operations. The secondary storage device 306 stores various programs, setting value data, databases (DB), and captured image data. The network interface 307 is an interface for connecting to networks such as local area networks (LANs), intranets, and the Internet.

[0035] <Hardware configuration of terminal 101> Figure 4 shows an example of the hardware configuration of terminal 101. Terminal 101 has a CPU 401, ROM 402, RAM 403, display 404, input unit 405, secondary storage device 406, network interface 407, and imaging unit 408, and these units are interconnected via a bus 409. Although terminal 101 is envisioned as an interchangeable-lens digital camera or a compact digital camera, it is not limited to these, and could also be a smartphone or tablet terminal with camera functionality. Furthermore, it could even be a PC. Some PCs do not have an imaging unit 408.

[0036] The CPU 401 is an arithmetic processing unit that executes programs stored in the ROM 402 and secondary storage device 406 to control various parts connected via the bus 409. The ROM 402 is a read-only memory that stores the OS and other data. The RAM 403 is a memory that temporarily stores data when the CPU 401 performs arithmetic processing. The display 404 is a display device that shows information necessary to the user, such as captured images and various UI screens. The input unit 405 consists of buttons, a touch panel, a microphone, etc., and is an input device that accepts various user operations such as shooting instructions and various setting instructions. The secondary storage device 406 stores various programs, captured image data, and shooting setting values ​​included in the accompanying information. Shooting settings include ISO sensitivity, shutter speed, exposure compensation, and F-number.

[0037] The network interface 407 is an interface for connecting to networks such as local area networks (LANs), intranets, and the internet. The imaging unit 408 is a module that converts light received by an image sensor such as a CCD or CMOS into electrical signals and records them as images.

[0038] <Logical structure of information management system 100> Next, the logical configuration of the information management system 100 according to this embodiment will be explained using Figure 5. The terminals are typical PCs, smartphones, tablets, etc.

[0039] ≪Logical configuration of terminal 101≫ In terminal 101, the CPU 301 loads the program stored in ROM 302 into RAM 303 and executes the processing according to the sequence diagram and flowchart described later. The results of each process are then stored in RAM 303.

[0040] Terminal 101 includes a control unit 501, an input unit 502, a storage unit 503, an output unit 504, and a communication unit 505. Each functional unit will be described below.

[0041] 501 is a control unit that controls each component of terminal 101.

[0042] 502 is an input unit that receives input from the user.

[0043] 503 is a storage unit for storing a program for sending images to the information management device 102, images to be sent to the information management device 102, user input, etc.

[0044] 504 is a display unit for displaying the input screen for the program to transmit images to the information management device 102, the transmission results, summary information of the images on the information management device 102, etc.

[0045] 505 is a communication unit that communicates with the information management device 102 via a program for transmitting images to the information management device 102. It performs tasks such as transmitting images specified by the user, receiving a list of images managed by the information management device 102, transmitting operations on images managed by the information management device 102, and receiving the results of those operations.

[0046] ≪Logical Configuration of Information Management Device 102≫ In the information management device 102, the CPU 301 loads the program stored in the ROM 302 into the RAM 303 and executes processing according to the sequence diagram and flowchart described later. The results of each process are then stored in the RAM 303.

[0047] The information management device 102 includes a control unit 511, an input unit 512, a storage unit 513, an output unit 514, a communication unit 515, a holding unit 516, an analysis request unit 517, a request determination unit 518, an analysis result request unit 519, a determination unit 520, a waiting unit 521, and an analysis result acquisition unit 522. Each functional unit will be described below.

[0048] 511 is a control unit that controls each component of the information management device 102.

[0049] 512 is an input unit that receives input from the user.

[0050] 513 is a storage unit that stores programs that run on the information management device 102, inputs from the terminal 101 and the analysis device 103, etc.

[0051] 514 is an output unit that outputs the processing results from the information management device 102, images held by the holding unit 516, etc.

[0052] 515 is a communication unit that communicates with terminal 101 and analysis device 103.

[0053] 516 is a storage unit that holds images received from terminal 101, analysis results acquired from analysis device 103, etc. When storage is performed, storage unit 516 issues an event triggered by the execution of storage. Processing blocks configured to receive event issuance can receive event notifications when an event is issued.

[0054] 517 is an analysis request unit that requests the analysis device 103 to analyze the image.

[0055] 518 is a request determination unit that determines the subsequent processing in the information management device 102 based on the response to the analysis request from the analysis device 103.

[0056] 519 is an analysis result request unit that requests analysis results from the analysis device 103.

[0057] 520 is a decision unit that determines the subsequent processing in the information management device 102 based on the response to the request for analysis results.

[0058] 521 is a waiting unit that controls the time until the analysis results are requested based on the elapsed time since the analysis request was sent to the analysis device 103.

[0059] 522 is an analysis result acquisition unit that acquires analysis results from the analysis device 103.

[0060] ≪Logical Configuration of Analysis Device 103≫ In the analysis device 103, the CPU 301 loads the program stored in the ROM 302 into the RAM 303 and executes processing according to the sequence diagram and flowchart described later. The results of each process are then stored in the RAM 303.

[0061] The analysis device 103 includes a control unit 531, an input unit 532, a storage unit 533, an output unit 534, a communication unit 535, an analysis unit 536, and a holding unit 537. Each functional unit will be described below.

[0062] 531 is a control unit that controls each component of terminal 101.

[0063] 532 is an input unit that receives input from the user.

[0064] 533 is a storage unit for storing a program for transmitting images to the information management device 102, images to be transmitted to the information management device 102, user input, etc.

[0065] 534 is a display unit for displaying the input screen for the program to transmit images to the information management device 102, the transmission results, summary information of the images on the information management device 102, etc.

[0066] 535 is a communication unit that communicates with the information management device 102 via a program for transmitting images to the information management device 102. It performs tasks such as transmitting images specified by the user, receiving a list of images managed by the information management device 102, transmitting operations on images managed by the information management device 102, and receiving the results of those operations.

[0067] 536 is an analysis unit that analyzes images based on requests from the information management device 102.

[0068] 537 is a storage unit that stores the image analysis results.

[0069] Furthermore, the functional units of terminal 101, information management device 102, and analysis device 103 may be implemented in a distributed manner across multiple terminals and information processing devices. When functions are distributed across multiple information processing devices, they are connected via a LAN or similar means to enable communication with each other, and they cooperate to perform a series of processes described later.

[0070] <Sequence of Information Management System 100> Next, we will explain the processing flow in the information management system 100 using the sequence diagram shown in Figure 6.

[0071] In step S101, terminal 101 receives an image transmission instruction from user 104 via input unit 502.

[0072] In step S102, terminal 101 transmits the specified image to information management device 102 based on the image transmission instruction from user 104.

[0073] In step S103, the information management device 102 saves the image received from the terminal 101 to the storage unit 516. A save event is issued when the save process is completed.

[0074] In step S104, the information management device 102 generates a time-limited reference destination for the saved image upon the save event. This is to securely transmit the reference destination of the image to be analyzed to the analysis device 103. Access rights to the time-limited reference destination expire after the set deadline.

[0075] In step S105, the information management device 102 requests the analysis device 103 to analyze the image along with the generated time-limited reference destination.

[0076] In step S106, the analysis device 103 refers to the received time-limited reference and acquires the image to be analyzed.

[0077] In step S107, the analysis device 103 sends a response to the analysis request to the information management device 102.

[0078] In step S108, the analysis device 103 analyzes the image based on the analysis request from the information management device 102.

[0079] In step S109, the analysis device 103 stores the analysis results in the holding unit 537.

[0080] In step S110, the analysis device 103 generates a time-limited reference destination for the saved analysis results.

[0081] In step S111, the information management device 102 requests the analysis results from the analysis device 103.

[0082] In step S112, the analysis device 103 transmits a time-limited reference destination for the analysis results based on a request from the information management device 102.

[0083] In step S113, the information management device 102 refers to a time-limited reference destination for the analysis results and obtains the analysis results.

[0084] In step S114, the information management device 102 stores the acquired analysis results in the holding unit 516.

[0085] In step S115, terminal 101 receives a display instruction from user 104 via input unit 502 for the analysis results.

[0086] In step S116, terminal 101 obtains the analysis results from information management device 102.

[0087] In step S117, terminal 101 displays the acquired analysis results on output unit 504.

[0088] Through the above process, user 104 can view the image analysis results.

[0089] Next, steps S105 to S113 will be referred to as step S201 and will be explained in detail using Figure 7.

[0090] <Processing flow in S201 of information management device 102> Next, Figure 7 will be used to explain the processing flow in S201 of the information management device 102.

[0091] In step S211, the analysis request unit 517 requests the analysis device 103 to analyze the image.

[0092] In step S212, the analysis result request unit 519 requests the analysis results from the analysis device 103.

[0093] In step S213, the decision unit 520 determines the subsequent processing in the information management device 102 in response to the request for analysis results. If the response to the request for analysis results is successful, it decides to obtain the analysis results. If there is an error, it decides to request the analysis again. If the response indicates that the analysis is not yet processed or is in the process of being processed, it decides to request the analysis results again.

[0094] Examples of error causes are listed below. If the analysis device 103 fails to acquire an image from the information management device 102 - If the analysis device 103 fails to transmit the analysis results to the information management device 102 If the analysis device 103 fails to issue a time-limited reference for transmitting the analysis results to the information management device 102. If an error occurs during the internal processing of the analysis device 103 If no response is returned from the analysis device 103 within the specified time: • If the parameters used when the information management device 102 called the analysis device 103 were incorrect. • If essential parameters are missing when the information management device 102 calls the analysis device 103 • If the request header was missing when the information management device 102 called the analysis device 103 If the parameter type was invalid when the information management device 102 called the analysis device 103 • If the image format of the image is not supported by the analysis device 103 If the execution of the library called internally by the analysis device 103 fails - If the call to the job management API that issues the job ID for the job that manages the internal calls of the analysis device 103 fails. If authentication fails when the analysis device 103 accesses a time-limited reference: - If the communication path between the information management device 102 and the analysis device 103 is not encrypted. • If the information management device 102 does not make a request using a specified method when calling the analysis device 103. If the information management device 102 is unable to obtain the job ID and image ID:

[0095] In step S214, the analysis result acquisition unit 522 acquires analysis results from the analysis device 103 and obtains analysis information from the analysis results. The analysis information includes at least the name of the classification to which the subject in the image belongs and the confidence level of the classification. Note that it is not limited to the name of the classification, but may also be an identifier corresponding to the name of the classification.

[0096] In this embodiment, step S213 is defined as deciding to request analysis again in the event of an error, but this is not the only option. The analysis results may be saved to the storage unit 516 if the error is a system error, a timeout error, or a data non-existence error. This makes it easier for the administrator to analyze the cause of the error after it occurs.

[0097] <Detailed processing flow in S201 of information management device 102> Next, using Figure 8, the detailed processing flow in S201 of the information management device 102 will be explained. Furthermore, processing steps that are the same as those already explained are denoted by the same reference numerals and their explanations are omitted.

[0098] In step S221, the control unit 511 initializes a timer that measures the elapsed time since the analysis request was made to the analysis device 103.

[0099] In step S222, the request determination unit 518 decides whether or not to request analysis results from the analysis device 103 based on the request result of the analysis request obtained after requesting analysis from the analysis device 103. If the request result is successful, it decides to request analysis results from the analysis device 103. If the request result is an error caused by the analysis device, it decides to request analysis from the analysis device 103 again. If the request result is an error caused by the caller, it decides to terminate the processing of the information management device 102. Note that when terminating the processing of the information management device 102 in the case of an error caused by the caller, the processing is returned to the caller and terminated normally. This is due to the constraints of the virtual PC on which the processing program of the request determination unit 518 operates. If the processing program operating internally in the virtual PC terminates abnormally, the processing is retried. If the processing in the information management device 102 is retried, multiple analysis requests will be issued to the analysis device 103. If the first analysis request is successful and the second analysis request is also successful, multiple analysis results will be generated. On the other hand, if the processing program running inside the virtual PC completes successfully, it will not retry the process. In other words, multiple analysis results will not be generated. Therefore, in this embodiment, the generation of multiple analysis results is prevented by ensuring that the process completes successfully.

[0100] Examples of errors caused by the analysis equipment are listed below. If the analysis device 103 fails to acquire an image from the information management device 102 - If the analysis device 103 fails to transmit the analysis results to the information management device 102 If the analysis device 103 fails to issue a time-limited reference for transmitting the analysis results to the information management device 102. If an error occurs during the internal processing of the analysis device 103 If no response is returned from the analysis device 103 within the specified time:

[0101] Next, here are some examples of errors caused by the caller. • If the parameters used when the information management device 102 called the analysis device 103 were incorrect. • If essential parameters are missing when the information management device 102 calls the analysis device 103 • If the request header was missing when the information management device 102 called the analysis device 103 If the parameter type was invalid when the information management device 102 called the analysis device 103 • If the image format of the image is not supported by the analysis device 103 If the execution of the library called internally by the analysis device 103 fails - If the call to the job management API that issues the job ID for the job that manages the internal calls of the analysis device 103 fails. If authentication fails when the analysis device 103 accesses a time-limited reference: - If the communication path between the information management device 102 and the analysis device 103 is not encrypted. • If the information management device 102 does not make a request using a specified method when calling the analysis device 103. If the information management device 102 is unable to obtain the job ID and image ID:

[0102] In step S223, the control unit 511 determines whether the elapsed time since the analysis request has exceeded a predetermined time, for example, 130 seconds, i.e., whether a timeout has occurred. If a timeout has not occurred, the process proceeds to step S224; if a timeout has occurred, the processing in the information management device 102 is terminated.

[0103] In step S224, the waiting unit 521 controls the time until the analysis results are requested based on the elapsed time since the analysis request. Details of the processing in the waiting unit 521 will be described later with reference to Figure 9.

[0104] <Processing flow in the waiting section 521> Next, we will explain the processing flow in the waiting section 521 using Figure 9.

[0105] In step S301, the waiting unit 521 determines whether the timer has exceeded 5 seconds. If it has exceeded 5 seconds, the unit proceeds to step S302. If it has been 5 seconds or less, the unit proceeds to step S303.

[0106] In step S302, the waiting unit 521 waits for 5 seconds before processing.

[0107] In step S303, the standby unit 521 determines whether the timer is less than 2 seconds. If it is less than 2 seconds, the unit proceeds to step S304; if it is 2 seconds or more, the unit proceeds to step S305.

[0108] In step S304, the waiting unit 521 waits for 2 seconds before processing.

[0109] In step S305, the waiting unit 521 waits for 1 second before processing.

[0110] Note that while the comparison time with the timer was set to 5 seconds and 2 seconds, the comparison time, i.e., the threshold, is not limited to these and may be 6 seconds and 3 seconds. Also, while the processing waiting time was set to 5 seconds, 2 seconds and 1 second, it is not limited to these and may be 7 seconds, 3 seconds and 0.5 seconds. Furthermore, the waiting unit 521 responds to the request for the analysis result when the analysis is before or during processing. If the elapsed time since the analysis request falls within the first time interval, the processing will be delayed for a longer period than the waiting time in the second time interval. If the elapsed time since the analysis request falls within the second time interval, the processing will wait for a shorter time than the waiting time in the first and third time intervals. If the elapsed time since the analysis request falls within the third time interval, the processing should be delayed for a longer period than the waiting times in the first and second time intervals.

[0111] In cloud services, exponential backoff is commonly used for waiting times. Figure 10(a) shows an example of waiting times in exponential backoff. In Figure 10(a), the horizontal axis represents elapsed time in seconds. Re-requests are made every second from 0 to 1 second. Re-requests are made every two seconds from 1 to 3 seconds. Re-requests are made every four seconds from 3 to 7 seconds. Re-requests are made every eight seconds from 7 to 15 seconds. In other words, the waiting time is set exponentially with respect to the elapsed time. This is expected to reduce the load on the called service. On the other hand, for example, in the case of an analysis service that tends to complete analysis after more than 3 seconds of elapsed time, if the analysis is completed at 3.1 seconds of elapsed time, the waiting time will be until 7 seconds of elapsed time. In contrast, in this embodiment, the waiting time is shortened in the range of elapsed time in which the analysis tends to be completed, and the waiting time is lengthened in the range of elapsed time earlier than that. Figure 10(b) shows an example of waiting times in this embodiment. By designing the waiting time in this way, the load on the analysis server is reduced during the elapsed time range where the probability of analysis completion is low. Furthermore, by shortening the waiting time during the elapsed time range where the probability of analysis completion is high, analysis results can be provided to the user more quickly. In the previous example, analysis results can be provided after 4 seconds. After 5 seconds, there is a high probability of errors or processing delays on the analysis service side, so the waiting time is set longer. This allows for faster delivery of analysis results to the user while reducing the load on the analysis service. This waiting time design method is based on experimental results. Immediately after an analysis request, it takes several seconds for the virtual PC executing the analysis process to start up, and the analysis process begins after startup, so the analysis does not complete for the first 2 seconds or so. After that, there is a high probability that the analysis is completed between 2 and 5 seconds. On the other hand, after 5 seconds, phenomena such as errors occurring during the analysis process or the analysis process taking a long time were observed. These experimental results were obtained when analyzing and classifying subjects in a JPEG image with a width of 2048 pixels using a predetermined virtual PC.Even when performing analysis processing under different conditions, the optimal waiting time for the system can be designed by investigating the processing status at each elapsed time. The image file size is preferably less than 4MB, and the vertical and horizontal dimensions are preferably between 50 pixels and 16,000 pixels.

[0112] Note that in Figure 10(b), the waiting time after 5 seconds of elapsed time is set to 5 seconds, but this is not the only option. The waiting time after 5 seconds may be designed to be longer relative to the elapsed time, such as with Exponential Backoff. Each time interval and waiting time are as follows: The first time interval is 0 seconds or more and less than 2 seconds. The second time interval must be between 2 seconds and less than 5 seconds. The third time interval must be between 5 seconds and 130 seconds. The waiting time for processing in the first time interval is 2 seconds. The waiting time for processing in the second time interval is 1 second. In the third time interval, the waiting time for processing is preferably 5 seconds.

[0113] According to the technology described above, if the response to a request for analysis results is an error, the system requests analysis again, and if the analysis is before or during analysis, it requests analysis results again. This suppresses the issuance of unnecessary analysis requests to the analysis device 103.

[0114] <Other embodiments> Although examples of embodiments have been described in detail above, the present invention can take the form of, for example, a system, apparatus, method, program, or recording medium (storage medium). Specifically, it may be applied to a system consisting of multiple devices (for example, a host computer, interface devices, imaging devices, web applications, etc.), or to an apparatus consisting of a single device.

[0115] Furthermore, it goes without saying that the object of the present invention is achieved as follows: a recording medium (or storage medium) containing program code (computer program) of software that realizes the functions of the embodiments described above is supplied to a system or device. Such storage medium is, needless to say, a computer-readable storage medium. The computer (or CPU or MPU) of the system or device then reads and executes the program code stored on the recording medium. In this case, the program code read from the recording medium itself realizes the functions of the embodiments described above, and the recording medium containing that program code constitutes the present invention.

[0116] In this embodiment, the information received by the information management device 102 from the terminal 101 is assumed to be an image, but it is not limited to this. Any electronically representable data is acceptable, such as video, audio, text, three-dimensional data, or multi-dimensional data. In that case, it is necessary to appropriately replace the image format with the data format, the image ID with the data ID, and so on. [Explanation of symbols]

[0117] 100 Information Management Systems 101 terminals 102 Storage Services 103 Analysis Service 104 users

Claims

1. In an information management device that communicates with an analysis device that analyzes data and generates analysis results, and acquires and manages analysis information from the analysis results, The analysis request means for requesting the analysis device to analyze the data, If the response from the analysis device to the request for the aforementioned analysis does not indicate an error, The analysis device includes an analysis result request means for requesting analysis results, The response from the analysis device to the request for the analysis results is, A first decision means that decides to obtain the aforementioned analysis result if it indicates success, The response from the analysis device to the request for the analysis results is, A second decision means that determines to request the analysis device to perform the analysis again if the analysis device indicates an error, including a failure to acquire the data from the information management device, The response from the analysis device to the request for the analysis results is, A third decision means that determines to request the analysis results from the analysis device again when the analysis by the analysis device indicates that processing has not yet begun or is in progress. Analysis result acquisition means for acquiring the analysis results from the analysis device An information management device characterized by being equipped with the following features.

2. The aforementioned error is, If the analysis device fails to acquire the data from the information management device, If the analysis device fails to transmit the analysis results to the information management device, If the analysis device fails to issue a time-limited reference for transmitting the analysis results to the information management device, If an error occurs in the internal processing of the aforementioned analysis device, If no response is returned from the aforementioned analysis device within a predetermined time, If the parameters used when the information management device called the analysis device were incorrect, If essential parameters are missing when the information management device calls the analysis device 、 If the request header was missing when the information management device called the analysis device If, If the parameter type was invalid when the information management device called the analysis device, If the data format of the aforementioned data is not supported by the analysis device, If the execution of the library called internally by the aforementioned analysis device fails, Job management A issues a job ID for a job that manages internal calls of the analysis device. If the PI call fails, If the aforementioned analysis device fails to authenticate when accessing a time-limited reference, If the communication path between the information management device and the analysis device was not encrypted If, When the information management device calls the analysis device, it makes a request using a specified method. If it was not a request, If the aforementioned information management device is unable to obtain the job ID and data ID, The information management device according to claim 1, characterized in that it is at least one of the following.

3. The information management device according to claim 1, characterized in that the determination means saves the analysis result if the response to the request for the analysis result is any of the following: a system error, a timeout error, or a data non-existence error.

4. Furthermore, the system includes a request determination means that determines whether or not to request analysis results from the analysis device based on the request result of the analysis request obtained after requesting analysis from the analysis device, The aforementioned request determination means is If the above request is successful, it is decided to request the analysis results from the analysis device. If the aforementioned request result is an error caused by the analysis device, it is decided to request the analysis device to perform the analysis again. The information management device according to claim 1, characterized in that it decides to terminate the processing of the information management device if the request result is an error caused by the caller.

5. The error caused by the aforementioned analysis device is, If the analysis device fails to acquire the data from the information management device, If the analysis device fails to transmit the analysis results to the information management device, If the analysis device fails to issue a time-limited reference for transmitting the analysis results to the information management device, If an error occurs in the internal processing of the aforementioned analysis device, If no response is returned from the aforementioned analysis device within a predetermined time, The information management device according to claim 4, characterized in that it is at least one of the following.

6. The aforementioned caller-caused error is, If the parameters used when the information management device called the analysis device were incorrect, If essential parameters are missing when the information management device calls the analysis device, If the request header was missing when the information management device called the analysis device If, If the parameter type was invalid when the information management device called the analysis device, If the data format of the aforementioned data is not supported by the analysis device, If the execution of the library called internally by the aforementioned analysis device fails, If the call to the job management API that issues the job ID for the job that manages the internal calls of the analysis device fails, If the aforementioned analysis device fails to authenticate when accessing a time-limited reference, If the communication path between the information management device and the analysis device is not encrypted, If the information management device does not make a request using a method specified when calling the analysis device, If the aforementioned information management device is unable to obtain the job ID and data ID, The information management device according to claim 4, characterized in that it is at least one of the following.

7. The information management device according to claim 4, characterized in that, when the request determination means terminates processing of the information management device due to an error caused by the caller, it returns the processing to the caller and terminates it normally.

8. Furthermore, it includes a waiting means that controls the time until the analysis results are requested based on the elapsed time since the analysis request. The waiting means, when the response to the request for analysis results is before or during processing of the analysis, If the elapsed time since the analysis request falls within the first time interval, the processing will be delayed for a longer period than the waiting time in the second time interval. If the elapsed time since the analysis request falls within the second time interval, the processing will wait for a shorter time than the waiting time in the first and third time intervals. The information management device according to claim 1, characterized in that, if the elapsed time from the analysis request falls within a third time interval, the device waits for processing for a longer period than the waiting time in the first and second time intervals.

9. The aforementioned data is an image. The information management device according to claim 8, characterized in that the analysis outputs the name of the classification to which the subject in the image belongs, or an identifier corresponding to the name of the classification, and the confidence level of the classification.

10. The aforementioned image must have a file size of less than 4MB, and its vertical and horizontal dimensions must be between 50 pixels and less than 16,000 pixels. The aforementioned first time interval is 0 seconds or more and less than 2 seconds. The second time interval is 2 seconds or more and less than 5 seconds. The third time interval is 5 seconds or more and 130 seconds or less. The waiting time for processing in the first time interval is 2 seconds. The waiting time for processing in the second time interval is 1 second. The information management device according to claim 9, characterized in that the waiting time for processing in the third time interval is 5 seconds.

11. An information management method for an information management device that communicates with an analysis device that analyzes data and generates analysis results, and acquires and manages analysis information from the analysis results, An analysis request step that requests the analysis device to analyze the data, If the response from the analysis device to the request for the aforementioned analysis does not indicate an error, The analysis result request step involves requesting analysis results from the aforementioned analysis device, The response from the analysis device to the request for the analysis results is, A first decision step in which it is decided to obtain the aforementioned analysis results if success is indicated, The response from the analysis device to the request for the analysis results is, A second decision step of deciding to request the analysis device to perform the analysis again if the analysis device indicates an error, including failure to acquire the data from the information management device, The response from the analysis device to the request for the analysis results is, A third decision step in which, if the analysis by the aforementioned analysis device indicates that processing has not yet begun or is in progress, it is decided to request the analysis results from the aforementioned analysis device again. An analysis result acquisition step in which the analysis results are acquired from the analysis device. An information management method characterized by comprising the following features.

12. A program for causing a computer to function as an information management device according to any one of claims 1 to 10.

13. An information management system including an information management device that communicates with an analysis device that analyzes data and generates analysis results, and acquires and manages analysis information from the analysis results, If the response from the analysis device to the request for the aforementioned analysis does not indicate an error, An analysis request step that requests the analysis device to analyze the data, The analysis result request step involves requesting analysis results from the analysis device, The response from the analysis device to the request for analysis results is, A first decision step in which it is decided to obtain the aforementioned analysis results if they indicate success, The response from the analysis device to the request for the analysis results is, A second decision step of deciding to request the analysis device to perform the analysis again if the analysis device indicates an error, including failure to acquire the data from the information management device, The response from the analysis device to the request for the analysis results is, A decision step in which, if the analysis by the aforementioned analysis device indicates that processing has not yet begun or is in progress, it is decided to request the analysis results from the aforementioned analysis device again. An analysis result acquisition step of acquiring the analysis results from the analysis device; An information management system characterized by having the following features.