This application claims priority to and benefit of Japanese Patent application No. 2022-205571 filed on Dec. 22, 2022. The entire specification, claims, and drawings of Japanese Patent application No. 2022-205571 are incorporated herein by reference.
The disclosure of the present specification relates to an information processing apparatus, an information processing system, and a method.
In the related art, known is a technology of, when a user uses a device, performing billing processing on the basis of use information (for example, JP2017-60778A).
One illustrative aspect of the present disclosure provides a method for causing a computer to perform: executing predetermined image processing on data in response to a request from a client; in response to the predetermined image processing being completed, transmitting a response to the client, the response including information indicating that the predetermined image processing is completed; and in response to transmitting the response to the client, billing a fee incurred as a result of executing the predetermined image processing based on a billing setting associated with the client.
Referring to the drawings, an information processing apparatus, an information processing system, a method that is executed by the information processing apparatus, which is an example of a computer, and a program according to an illustrative embodiment of the present disclosure will be described in detail. Note that in the following description, detailed description of the well-known configuration of the information processing apparatus and the like included in the illustrative system and the well-known processing performed by the information processing apparatus and the like will be omitted.
The system 1 is an example of the information processing system according to the present illustrative embodiment. As shown in
Internet, but is not limited to the Internet, and the apparatuses may be connected through a dedicated line or the like.
The server apparatus 20 is an example of the information processing apparatus according to the present illustrative embodiment, and is also an example of the computer that executes the method and program according to the present illustrative embodiment.
As shown in
The Web application 21 provides an image analysis function to only a user who has successfully completed authentication processing. In the Web application 21, processing of analyzing image data of an image file uploaded from the client apparatus 10, processing of causing an analysis result to be displayed on a Web browser 13 of the client apparatus 10, processing of outputting the analysis result to the client apparatus 10 as an image file, and the like are performed. The image analysis function provided by the Web application 21 according to the present illustrative embodiment is paid. When a user uses the image analysis function, the Web application 21 performs billing processing for the user in order to collect a fee for using the image analysis function. The Web application 21 according to the present illustrative embodiment performs the billing processing when processing of displaying an analysis result on the Web browser 13 of the client apparatus 10 is completed, as described below. The billing processing that is performed by the Web application 21 is, for example, processing of causing a settlement system 50, which is communicatively connected to the server apparatus 20 via the network 30, to perform settlement processing of an amount of money equivalent to the usage fee. The settlement system 50 is an example of a system that performs online settlement (cashless settlement) using, for example, credit card information or debit card information. Although one settlement system 50 is shown in
The client apparatus 10 is a terminal that is operated directly by a user, and, as shown in
The Web browser 13 is an example of the client, and communicates with the Web application 21, which is an example of the Web server software, using a predetermined protocol to display a Web content on a screen.
The image management application 11 is an application that manages image files, and also operates as a viewer application for browsing an image file to be managed. In the client apparatus 10, as one of a plurality of functions provided by the image management application 11, a function for supporting access to the Web application 21, which will be described below, is provided. In the image management application 11, authentication information for logging in to the Web application 21 may be registered. The authentication information is, for example, a user ID and a password.
The image management application 11 classifies image files to be managed on the basis of metadata of the image files. For example, the image management application 11 may classify the image files on the basis of shooting date and time included in metadata of the image files, or classify the image files on the basis of identifiers for identifying photographic subjects included in the metadata of the image files. For example, the image management application 11 may cause image data of image files classified into a same group to be displayed as a list on a display unit of the client apparatus 10.
The resident application 12 is an application that provides a function for supporting access to the Web application 21, which will be described below. In the resident application 12 as well, similar to the image management application 11, authentication information for logging in to the Web application 21 may be registered.
By activating and controlling the Web browser 13 via any one of the image management application 11 and the resident application 12, the client apparatus 10 can notify an image file F saved in the client apparatus 10 and selected by the user to the Web application 21 as a target of image analysis, in response to a user's predetermined operation (for example, several click operations, and the like). This makes it possible to display an image confirmation page P5 (refer to
Hereinafter, an example will be described in which the Web application 21 is an application for supporting a doctor's diagnosis of the presence or absence of skin diseases, and a doctor who is a user uploads an image file including data of a dermoscopy image obtainable from a dermoscope to the Web application 21.
Note that the dermoscope is a magnifying glass that can magnify and non-invasively observe a location suspected to be a lesion on the skin while reducing reflected light from the skin surface. For this reason, a dermoscopy image obtained by the dermoscope is suitable for identifying skin diseases. However, the image data to be input is not limited to image data of the dermoscopy image. In addition, the use of the Web application 21 is not limited to diagnostic support for a doctor.
A top page P1 includes an input form for inputting authentication information. When a user inputs authentication information into the input form and presses a “Login” button, authentication processing is performed in the Web application 21. In the present specification, “press” may be an operation of selecting an object such as a button in the display screen. This operation is not limited to a specific operation. The pressing operation may be, for example, an operation of moving a pointer in the display screen to a predetermined position and clicking a mouse. In addition, when the client apparatus 10 has a touch panel display, the pressing operation may be an operation of tapping the display screen. If authentication is successful, the screen transitions to a member page P3.
In addition, the top page P1 includes a link to a member registration page P2. When the user presses the link, the screen transitions to the member registration page P2.
On the member registration page P2, member registration and a billing setting associated with image analysis are performed. The billing setting includes information for specifying a settlement method (payment method) for the fee for using the image analysis function, such as credit card information. By performing the member registration and the billing setting on the member registration page P2, the screen transitions to the member page P3. A user who visits a site of the Web application 21 for the first time performs member registration and billing setting on the member registration page P2. Thereby, from the next time, by inputting the authentication information on the top page P1, the user can access the member page P3 without passing through the member registration page P2.
The member page P3 has various links (a link to the top page P1, a link to an inquiry page, a link to a member information change page, a link to a billing setting change page, and the like), as well as a link written as “AI image analysis.” When the user presses the link “AI image analysis”, the screen transitions to an image selection page P4.
On the image selection page P4, any image file on the client apparatus 10 can be selected. By selecting an image file including image data to be analyzed and pressing an “Open” button, the screen transitions to an image confirmation page P5. On the other hand, by pressing a “Cancel” button, the screen transitions to the member page P3 again. Note that the image selection page P4 may be replaced with a standard file selection dialogue.
The image confirmation page P5 includes a region for displaying information (image, patient ID, shooting date and time) of an image file selected on the image selection page P4, and a region for displaying various precautions for image analysis (image confirmation item, charge generation confirmation). Note that the patient ID and the shooting date and time are metadata included in the image file.
The image confirmation item is to urge a user to confirm, for example, whether an image is a dermoscopy image, whether a region suspected to be a lesion in the image occupies a certain proportion or more of an image region, and the like. The charge generation confirmation is to notify a user in advance that a use charge will be generated as a result of performing image analysis and the charge will be charged to the user.
When the user who has carefully confirmed the information on the image file and the precautions on the image confirmation page P5 presses an “Analysis Start” button, image analysis is started, and the screen transitions to an image analysis page P6. Note that when a “Return” button is pressed, the screen transitions to the member page P3.
On the image analysis page P6, a progress status of the image analysis is displayed along with the information on the image file to be analyzed, and when the image analysis ends, the screen transitions to an analysis result page P7. When a predetermined operation (for example, an operation of updating the display of the Web browser 13 by the user, and the like) is performed on the Web application 21 before transitioning from the image analysis page P6 to the analysis result page P7, the screen transitions to a page different from the analysis result page P7, such as the image confirmation page P5.
The analysis result page P7 includes a region for displaying the information on the image file (an image, a patient ID, a shooting date and time), and a region for displaying an analysis result, recommendation information, and the like.
The analysis result is, for example, information indicating a degree of certainty regarding the presence or absence of a disease determined by the analysis. The degree of certainty may be expressed quantitatively using a numerical value, a graph, or the like, or may be expressed qualitatively using a sentence, a picture, or the like. The recommendation information is information indicating whether it is required to recommend a medical institution that can make a more advanced or specialized diagnosis.
The information displayed on the analysis result page P7 can be output to a printing apparatus and printed by pressing a “Print” button provided on the analysis result page P7. In addition, the information displayed on the analysis result page P7 can be output to the client apparatus 10 and saved as an image file (also referred to as an analysis result file) by pressing a “Save” button provided on the analysis result page P7. Note that the information displayed on the analysis result page P7 may also be saved as a file of another format (for example, a PDF file) including image data, instead of the image file.
Additionally, when the screen transitions to the analysis result page P7, for example, a billing notice R75 is displayed. The billing notice R75 includes information indicating that processing for billing the user for a usage fee incurred as a result of the image analysis has been performed. The billing notice R75 may be included in the analysis result page P7, or may be displayed on a page different from the analysis result page P7 or a dialogue.
As described above, the Web application 21 described above can analyze the image data of the image file selected by the user, and provide a user with the analysis result in various formats such as a Web page (analysis result page P7), a printed product, and an electronic file represented by an image file. Therefore, by using the Web application 21, a doctor who is the user can obtain an objective advice on the presence or absence of a disease and make a final diagnosis by referring to the obtained information.
The former structure is implemented by providing the client apparatus 10 with a Web browser control unit (a Web browser control unit 111, a Web browser control unit 121). In addition, the former structure is implemented by providing the server apparatus 20 with an authentication unit 211 and an output unit 212.
Note that the latter structure is implemented by providing the client apparatus 10 with a classification unit 113 and a display control unit 114. Additionally, the latter structure is implemented by providing the server apparatus 20 with an analysis unit 213 and a file creation unit 214.
The server apparatus 20 further includes a time management unit 215 and a billing unit 215. The time management unit 215 and the billing unit 215 will be described below.
The Web browser control unit (a Web browser control unit 111, a Web browser control unit 121) is configured to implement a function of controlling the Web browser 13, and is implemented in the image management application 11 and the resident application 12 in the client apparatus 10. Specifically, as shown in
The Web browser control unit (the Web browser control unit 111, the Web browser control unit 121) activates the Web browser 13, in response to a user's predetermined operation performed in a state in which the image file F is selected, and causes the Web browser 13 to transmit a request for a URL (which is an abbreviation for Uniform Resource Locator) of the Web application 21 toward the server apparatus 20. The request includes authentication information saved in advance in the client apparatus 10 and information on the image file F.
The authentication information included in the request is, for example, information registered in advance in the image management application 11 or the resident application 12. In addition, the authentication information included in the request may be information registered in the Web browser 13 in association with the URL of the Web application 21. The authentication information registered in the Web browser 13 is, for example, authentication information that is used for an autocompletion function of the Web browser 13. The authentication information may be permanently stored or may be stored in a cookie for a limited period of time.
The authentication unit 211 and the output unit 212 are configured to implement a function of directly accessing the image confirmation page P5 by shortcutting the top page P1, the member page P3, and the image selection page P4, and are implemented in the Web application 21 in the server apparatus 20.
The authentication unit 211 processes the request transmitted to the server apparatus 20 by the Web browser control unit activating the Web browser 13. Specifically, the authentication unit 211 performs authentication processing by using the authentication information, in response to the request for the URL of the Web application 21 transmitted from the client apparatus 10 and including the authentication information and the information on the image file.
The URL of the request may be, for example, a URL of the top page P1 or a URL of the image confirmation page P5. In addition, if the URL of the request is a URL of the Web application 21, the URL may be a URL different from URLs from the top page P1 to the analysis result page P7.
When the authentication unit 211 receives a request for a predetermined URL including the authentication information and the information on the image file, the authentication unit performs authentication processing by using the authentication information included in the request.
The output unit 212 outputs a response, in response to an authentication result in the authentication unit 211, and causes the image data of the image file F to be displayed on the display unit of the client apparatus 10 as image data that is to be analyzed by the image analysis function of the Web application 21.
Specifically, when the authentication result is successful, the output unit 212 transmits a response including the image confirmation page P5 to the client apparatus 10. Note that if the URL of the request is different from that of the image confirmation page P5, the output unit 212 may redirect to the image confirmation page P5 and output a response. Thereby, the image confirmation page P5 displaying the information on the image file F is displayed on the Web browser 13.
In this way, in the system 1, when the user simply performs a predetermined operation in a state in which the image file F is selected on the client apparatus 10, the Web browser 13 is activated via the Web browser control unit and accesses the Web application 21. In addition, in the server apparatus 20, the login processing (authentication processing) is automatically performed, in response to the request from the Web browser 13, and a response including the image confirmation page P5 on which the image data of the image file F selected by the user is set as an analysis target is output. As a result, the image confirmation page P5 is displayed on the Web browser 13. Therefore, the user can use the image analysis function of the Web application 21 simply by confirming the image confirmation page P5 and inputting an analysis instruction.
The analysis unit 213 is configured to implement a function of analyzing image data in accordance with an analysis instruction from the user, and is implemented in the Web application 21 in the server apparatus 20.
The analysis unit 213 analyzes image data of an image file (hereinafter, referred to as a first image file) uploaded from the client apparatus 10 to the server apparatus 20. Specifically, the analysis unit 213 analyzes image data of an image displayed as an image analysis target on the image confirmation page P5, in response to an analysis instruction that is a user's predetermined operation (for example, pressing on the “Analysis Start” button on the image confirmation page P5 described above).
Note that a timing at which an image file including image data is uploaded from the client apparatus 10 to the server apparatus 20 is not particularly limited. The image file may be uploaded immediately before the analysis instruction is input and the image data is analyzed, or may be uploaded to the server apparatus 20 before the analysis instruction.
The analysis result page P7, which includes the analysis result analyzed by the analysis unit 213, is output to the client apparatus 10 by the output unit 212. For example, when the analysis processing ends, the output unit 212 transmits a response including the analysis result page P7 to the client apparatus 10.
The file creation unit 214 is configured to implement a function of creating a file suitable for management including the analysis result analyzed by the analysis unit 213, and is implemented in the Web application 21 in the server apparatus 20.
The file creation unit 214 creates a new image file (hereinafter, referred to as a second image file), which includes image data representing the analysis result analyzed by the analysis unit 213 and metadata including an identifier of a photographic subject included in metadata of the first image file.
Note that a timing at which the second image file is created is not particularly limited. The second image file may be created by the file creation unit 214 after the analysis processing is performed by the analysis unit 213, or the second image file may be created by the file creation unit 214, in response to a user's predetermined operation (for example, pressing on the “Save” button on the analysis result page P7 described above).
The output unit 212 not only outputs a response including the various pages described above, but also outputs the second image file to the client apparatus 10, in response to a request for download of the analysis result from the client apparatus 10. Specifically, the output unit 212 may output the second image file, for example, in response to a user's predetermined operation (for example, pressing on the “Save” button on the analysis result page P7 described above).
The classification unit 113 and the display control unit 114 are configured to implement a function of classifying and managing image files, and are implemented in the image management application 11 in the client apparatus 10.
The classification unit 113 classifies one or more first image files uploaded to the server apparatus 20 and one or more second image files downloaded from the server apparatus 20 by the identifier of the photographic subject included in the metadata of each image file.
The display control unit 114 causes image data of the one or more first image files and image data of the one or more second image files classified by the classification unit 113 to be displayed on the display unit of the client apparatus 10 for each identifier. Specifically, the display control unit 114 displays image data for each identifier in the display region of the image management application 11, which is a viewer application.
Note that the classification unit 113 may further classify image files that have not been uploaded to the server apparatus 20. In addition, the classification unit 113 may classify image files based on at least the identifier of the photographic subject, or may classify image files by using other metadata, in addition to or instead of the identifier of the photographic subject. Additionally, the display control unit 114 may cause image data to be displayed for each identifier, or may cause image data to be displayed for each other metadata.
In this way, in the system 1, the server apparatus 20 creates the second image file including the analysis result as image data so that the identifier of the photographic subject is included as metadata, and when the user requests download of the analysis result, outputs the second image file from the server apparatus 20 to the client apparatus 10. In the client apparatus 10, the image management application 11 manages the second image file downloaded from the server apparatus 20 by integrating the second image file with the first image file uploaded to the server apparatus 20. In particular, since the image files (image data) are classified by the image management application 11 on the basis of the identifier of the photographic subject taken over between image files before and after image analysis, the uploaded image file and the downloaded image file are automatically associated and managed. Therefore, by using the image management application 11, the user can associate and easily manage the downloaded image analysis result with the image data of the analysis source.
First, as shown in
Note that in the image management application 11 shown in
Next, the image management application 11 obtains the authentication information saved in the client apparatus 10 (step S2). Here, the image management application 11 obtains, for example, authentication information registered at the time of installation of the image management application 11 by reading the authentication information from a configuration file of the image management application 11.
Thereafter, the image management application 11 transmits a URL of the Web application 21, a path to the image file F1, and the authentication information to the Web browser 13 (step S3). The URL of the Web application 21 is a predetermined URL and is registered in the image management application 11. In addition, the path to the image file F1 is the information obtained at the time when the operation is detected in step S1. Additionally, the authentication information is the authentication information obtained in step S2.
Note that steps S1 to S3 may be performed in the resident application 12. In step S1, the resident application 12 may detect that a menu button 41 of “Send to Web application” is pressed from a context menu 40 displayed in the state in which the image file F1 is selected, as shown in
Then, when the resident application 12 detects pressing on the menu button 41, in step S2, the resident application may obtain the authentication information registered in the resident application 12, and in step S3, transmit the URL of the Web application 21, the path to the selected image file F1 and the authentication information obtained in step S2 to the Web browser 13.
The Web browser 13 is activated when data is transmitted from the image management application 11 or the resident application 12 (step S4). In addition, the Web browser 13 transmits, to the Web application 21, a request for the URL of the Web application 21, including the path to the image file F1 and authentication information received from the image management application 11 or the resident application 12 (step S5).
Note that a method for transmitting the request parameter (in this case, the path to the image file and the authentication information) in step S5 is not particularly limited. For example, the path to the image file and the authentication information may be sent to the Web application 21 as a query character string in the URL by using a GET method of HTTP (which is an abbreviation for Hypertext Transfer Protocol). In addition, by using a POST method of the HTTP, the path to the image file path and the authentication information may be embedded in a body of the request and sent to the Web application 21.
However, in general, when security is considered important, the data is preferably sent using the POST method. In particular, by using encrypted communication such as HTTPS (which is an abbreviation for Hypertext Transfer Protocol Secure) in the POST method, the risk of the path to the image file path and the authentication information being stolen or misused can be sufficiently suppressed.
The Web application 21 that has received the request performs authentication processing by using the authentication information included in the request (step S6), and then sends a response to the Web browser 13 (step S7). If the authentication processing is successful in step S6, the Web application 21 transmits a response including the image confirmation page P5 in step S7. The image confirmation page P5 transmitted from the Web application 21 to the Web browser 13 includes the path to the image file F1.
The Web browser 13 that has received the response loads the image file F1 from the path to the image file F1 included in the image confirmation page P5 (step S8). Thereby, the image data of the image file F1 is displayed in the image confirmation page P5 on the Web browser 13, as shown in
Note that in the image confirmation page P5 shown in
After steps S1 to S8 described above with reference to
The Web application 21 that has received the request performs analysis and billing processing A of analyzing the image data of the uploaded image file F1 and billing the usage fee incurred as a result of the analysis. The analysis and billing processing A includes image analysis processing (step S11), processing of transmitting a response including a progress status (processing status) of the image analysis processing to the Web browser 13 (step S12), and processing of transmitting a response including an analysis result to the Web browser 13 (step S13). In step S11, the Web application 21 performs, for example, processing as shown in steps S1101 to S1104 in a flow chart described below with reference to
Note that in the analysis result page P7 shown in
The analysis and billing processing A includes processing that is performed after step S13 and associated with billing the user for the usage fee incurred as a result of the image analysis in the analysis and billing processing A being currently performed. As the processing associated with billing, the Web application 21 includes processing of performing settlement using the settlement system 50 based on the billing setting and the amount of the incurred usage fee (steps S14 to S16), and processing of transmitting a response including a result of the settlement processing using the settlement system 50 to the Web browser 13 (step S17). In step S14, the Web application 21 transmits a settlement request including the billing setting and the amount of money to be billed to the settlement system 50. As described above, the billing setting includes the information such as credit card information. The settlement system 50 that has received the settlement request makes settlement based on the billing setting and amount of money included in the settlement request (step S15) and transmits a result thereof to the Web application 21 (step S16). The Web application 21 that has received the settlement result transmits to the Web browser 13 a response including a billing notice indicating that settlement for the usage fee billed as a result of the image analysis has been made, in step S17.
The Web browser 13 that has received the response including the billing notice overlaps and displays the billing notice R75 included in the response on the front of the analysis result page P7 displayed on the display screen, as shown in
The steps S14 to S16 described above are performed by the billing unit 216 in the Web application 21 shown in
After step S10 and analysis and billing processing A (steps S11 to S17) described above with reference to
The Web application 21 that has received the request creates an analysis result file (step S20) and transmits a response including the analysis result file to the Web browser 13 (step S21). The analysis result file is, for example, an image file including a part or all of contents of the analysis result page P7 as image data.
The Web browser 13 saves the analysis result file included in the response in the client apparatus 10 (step S22). Note that a location where the analysis result file is saved is not particularly limited. The analysis result file can be saved in any folder designated by the user.
However, when the image management application 11 manages image files in a specific folder, the analysis result file is preferably saved in the folder. Thereby, the analysis result file A1 can be managed by the image management application 11 immediately after download.
In addition, although the detailed description is omitted, when the user presses the print button (button B71) on the analysis result page P7, the client apparatus 10 creates print data from, for example, the analysis result page P7 or the analysis result file received in step S21 and transmits the print data to a printing apparatus.
In the analysis and billing processing A described above with reference to
That is, the Web browser 13 displays the notification after the request in step S10 is transmitted until the response is received. The notification indicates a processing status of the Web application 21 corresponding to the request in step S10. The notification is a message such as “AI image analysis in progress.”
In the related art, there is a case where when processing corresponding to a request is completed in an extremely short time on a server side, a notification indicating the processing status instantly disappears from a screen of a client apparatus. There is a case where the notification that has instantly disappeared is seen as a display malfunction (for example, flickering or bugs on the screen) to a user. In this case, a problem that it is difficult for the user to recognize that the processing has been performed properly is pointed out.
In the analysis and billing processing A shown in
When the Web application 21 receives the request of step S10, the Web application proceeds with the processing in the order of steps S1101 to S1104, S13, S14 to S16, and S17. However, when it is detected that a predetermined ending operation has been performed before the processing of step S13 is completed, the Web application 21 ends the analysis and billing processing A without performing the subsequent processing in the analysis and billing processing A. At this time, the Web application 21 performs processing (step S25) of causing the Web browser 13 to display a page different from the analysis result page P7, such as returning to the image confirmation page P5, and then ends the analysis and billing processing A. The predetermined ending operation is, for example, an operation of updating the display of the Web browser 13. The predetermined end operation may include, for example, an operation of pressing the cancel button displayed on the image analysis page P6.
When the Web application 21 receives the request of step S10, the Web application transmits a response including the image analysis page P6 to the Web browser 13 and starts a count of elapsed time from the start of the processing (step S1101). The transmission of the response including the image analysis page P6 is shown in step S12 in
Note that the processing status corresponding to the request of step S10 may also be notified by sound, instead of or in addition to a visual notification such as a message. When the client apparatus 10 is a mobile terminal such as a smart phone, the processing status may also be notified using a vibration function of the mobile terminal.
The notification displayed in the region R61 is an example of a predetermined notification indicating the processing status of the Web application 21 corresponding to the request of step S10. Incidentally, the notification indicates that processing (image obtaining processing, image analysis processing) related to image data (an example of the data) is being executed.
In this way, the Web application 21 transmits the response including the image analysis page P6 to the Web browser 13 (an example of the client), thereby causing the Web browser 13 to start displaying the notification (an example of the predetermined notification) indicating the processing status of the Web application 21 corresponding to the request of step S10.
In the image analysis page P6 shown in
In the present illustrative embodiment, as the image F2, an animation that simulates the processing status of the Web application 21 corresponding to the request of step S10 is displayed. As an example, an animation in which an image of the image file F1 to be analyzed is gradually painted out from left toward right is displayed. The user who sees this animation can intuitively recognize that the image analysis is being executed on the server side. Additionally, the user who sees this animation can estimate a waiting time until the image analysis ends, for example, from a proportion of the painted-out region R63 in the image F2.
For example, when the Web browser 13 executes a program such as JavaScript (registered trademark) embedded in the response including the image analysis page P6, the above animation is displayed on the screen of the client apparatus 10. Note that the above animation may be displayed on the screen of the client apparatus 10 by executing a program on the server side rather than on the client side.
In this way, during a period in which the Web browser 13 (an example of a client) is caused to display a notification of “analysis in progress”, the Web application 21 causes the Web browser 13 to display an animation as well (an example of a production) indicating that analysis processing is in progress.
One of functions implemented in the Web application 21 is the time management unit 215 (refer to
Specifically, the Web application 21 operating as the time management unit 215 set or resets a count value of a built-in counter of the server apparatus 20 to zero and then starts the counter in step S1101.
After step S1101, the Web application 21 obtains the image file F1 to be analyzed (step S1102). For example, the Web application 21 obtains the image file F1 included in the request of step S10 described above with reference to
The Web application 21 analyzes the image data of the image file F1 obtained in step S1102 (step S1103). That is, the Web application 21 executes analysis processing (an example of the first processing) on the image data of the image file F1 (an example of data to be processed).
When the analysis processing is completed, the Web application 21 determines whether a predetermined time T or longer has elapsed after causing the Web browser 13 to display the image analysis page P6 indicating that the analysis processing is in progress (step S1104). Specifically, the Web application 21 determines whether the count value of the built-in counter that has started counting in step S1101 is equal to or larger than a predetermined value corresponding to the predetermined time T. If the count value is equal to or larger than the predetermined value, the Web application 21 assumes that the predetermined time T or longer has elapsed after causing the Web browser 13 to display the image analysis page P6.
When the analysis processing is completed and the predetermined time T or longer has elapsed since the Web browser 13 is caused to display the image analysis page P6 (step S1104; YES), the Web application 21 ends displaying the image analysis page P6 on the Web browser 13, and transmits a response including the analysis result page P7 to the Web browser 13 (step S13). Thereby, the screen of the client apparatus 10 transitions from the image analysis page P6 to the analysis result page P7.
That is, the Web application 21 transmits the response including the analysis result page P7 to the Web browser 13 (an example of the client), thereby causing the Web browser 13 to end the display of the image analysis page P6 (in other words, a page including the notification indicating the processing status of the Web application 21).
In the present illustrative embodiment, the notification indicating the processing status of the Web application 21 is displayed on the screen of the client apparatus 10 for at least the predetermined time T (for example, 5 seconds). For this reason, even when the analysis processing by the Web application 21 is completed instantly (for example, a short time less than 1 second), the notification does not disappear from the screen in an instant. For this reason, it is possible to avoid a problem that the notification is seen as a display malfunction (for example, flickering or bugs on the screen) to the user. The user can confirm the analysis result after seeing the notification displayed for at least the predetermined time T. The user can easily recognize that the analysis processing has been performed properly.
A length of the predetermined time T used in the step S1104 is, for example, set in advance, but the configuration of the present disclosure is not limited thereto. The length of the predetermined time T may be arbitrarily changed by the user by operating the Web browser 13.
In addition, the length of the predetermined time T may be optimized by a learning function of the Web application 21. By way of example, each time the processing shown in the sequence diagram of
The Web application 21 sets the length of the predetermined time T on the basis of a plurality of histories stored in the memory of the server apparatus 20. By way of example, the Web application 21 sets an average time of the history to the length of the predetermined time T. By optimizing the predetermined time T, it is possible to avoid the predetermined time T from being unnecessarily long while avoiding the notification from being seen as a display malfunction by the user.
In the analysis and billing processing A shown in
By performing the billing processing after confirming that the analysis result page P7 is displayed on the Web browser 13, for example, a situation in which a fee is billed even though the analysis result page P7 is not displayed on the Web browser 13 due to some malfunction in a communication channel between the Web application 21 and the Web browser 13 can be prevented from occurring. Specifically, it is possible to prevent a fee from being billed when the Web browser 13 cannot receive a response including analysis result page P7, or when the display data of the analysis result page P7 included in the received response is damaged.
In the second specific example as well, when the Web application 21 receives the request of step S10, the Web application proceeds with the processing in the order of steps S1101 to S1104, S13, S14 to S16, and S17. Note that in the second specific example as well, when it is detected that a predetermined ending operation has been performed before the processing of step S13 is completed, the Web application 21 ends the analysis and billing processing A without performing the subsequent processing in the analysis and billing processing A. At this time, the Web application 21 performs processing (step S25) of causing the Web browser 13 to display a page different from the analysis result page P7, such as returning to the image confirmation page P5, and then ends the analysis and billing processing A.
When the processing of step S13 is completed, the Web application 21 determines whether a reply indicating that the display of the analysis result page P7 is completed has been received from the Web browser 13 (step S26). The Web application 21 makes the determination of step S26 until a predetermined time has elapsed (step S27; YES) after transmitting a response including the analysis result page P7 to the Web browser 13. If there is no reply from the Web browser 13 even after the predetermined time has elapsed (step S27; YES), the Web application 21 assumes that the analysis result page P7 has not been displayed on the Web browser 13 and performs the processing of step S25 to end the analysis and billing processing. In this case, the Web application 21 does not perform billing processing related to the usage fee incurred as a result of the image analysis.
On the other hand, when a reply indicating that the display of the analysis result page P7 is completed is received from the Web browser 13 (step S26; YES), the Web application 21 performs billing processing for this analysis (steps S14 to S16) and transmits a response including a billing notice to the Web browser 13 (step S17).
The illustrative embodiment described above shows a specific example in order to easily understand the invention, and the present invention is not limited to the illustrative embodiment described above, and should be understood to include a variety of modifications and alternations of the illustrative embodiment described above. For example, it would be understood that the illustrative embodiment described above can be embodied by modifying the elements without departing from the gist and scope thereof. In addition, it would be understood that various illustrative embodiments can be implemented by appropriately combining the plurality of elements disclosed in the illustrative embodiment described above. Further, one skilled in the art would understand that various illustrative embodiments can be implemented by omitting some elements from all the elements shown in the illustrative embodiment or adding some elements to the elements shown in the illustrative embodiment. That is, the information processing apparatus, the information processing system, the method and the program can be diversely modified and changed without departing from the claims.
For example, the billing processing performed after the response including the analysis result page P7 is transmitted to the Web browser 13 is not limited to the processing of making settlement by the settlement system 50 each time the analysis and billing processing A is performed. The billing processing performed by the Web application 21 may be, for example, processing of cumulatively summing usage fees incurred as a result of the analysis and billing processing A performed within a predetermined period such as one day, one week, or one month, and integrating the usage fees to make settlement. In this case, the Web application 21 cumulatively sums only the usage fees incurred as a result of the analysis and billing processing A in which a response including the analysis result page P7 has been transmitted to the Web browser 13, or the analysis and billing processing A in which a reply indicating that the analysis result page P7 has been displayed has been received from the Web browser 13.
Additionally, for example, the hardware configurations of the client apparatus 10 and the server apparatus 20 are not particularly limited. The server apparatus 20 is shown as a single apparatus in
The processor is not particularly limited, but may be, for example, a central processing unit (which is abbreviated as CPU), a graphics processing unit (which is abbreviated as GPU) or the like. In addition, the processor may include a hardware circuit such as a field-programmable gate array (which is abbreviated as FPGA) and an application specific integrated circuit (which is abbreviated as ASIC). The memory is not particularly limited, but may be a semiconductor memory such as a random access memory (which is abbreviated as RAM), a read only memory (which is abbreviated as ROM) and a solid state drive (which is abbreviated as SSD), a magnetic storage device such as a hard disk drive (which is abbreviated as HDD), an optical memory device, or a non-transitory computer-readable medium readable by a computer.
Number | Date | Country | Kind |
---|---|---|---|
2022-205571 | Dec 2022 | JP | national |