Information Processing Apparatus and Program
The information processing apparatus addresses the challenge of maintaining system integrity during user-modified cooperation instructions by generating new instructions to ensure seamless function cooperation, even if users lack detailed function knowledge.
Patent Information
- Application Number
- JP2021162554
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-10-01
- Publication Date
- 2025-07-15
- Estimated Expiration
- 2041-10-01
AI Technical Summary
Existing systems face challenges in maintaining correct execution of cooperation processes between multiple functions when users modify cooperation instructions without fully understanding the processing content of each function, leading to potential conflicts and disruptions.
An information processing apparatus that automatically generates a new cooperation instruction by correcting or adding to the modified instruction content, ensuring seamless function cooperation, even if the user lacks detailed knowledge of individual function processes.
Enables users to modify cooperation instructions without disrupting system operations, restoring function cooperation, and minimizing user system impact while offering multiple method selections and recommendations.
Smart Images

Figure 0007707817000001 
Figure 0007707817000002 
Figure 0007707817000003
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing apparatus and a program.
Background Art
[0002] Patent Document 1 discloses an information processing apparatus including generation means for generating instruction data for performing service processing on document data, instruction data transmission means for transmitting the instruction data generated by the generation means to an image processing apparatus, interpretation means for interpreting the content of the instruction data transmitted by the instruction data transmission means, and service processing means for performing service processing on the document data transmitted from the information processing apparatus based on the interpretation result of the interpretation means, and an image processing apparatus including the same, and a service image processing system including the same.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] A system has been proposed that executes a cooperation process, which is a series of processes for cooperation between a plurality of functions, according to a cooperation instruction. The cooperation instruction sets the processing order of each function, the processing content of each function, the information transmission format between each function, and the like. In this system, the user can change the content of the existing cooperation instruction.
[0005] However, when changing the content of the cooperation instruction, if the set values of each process, the information transmission format, etc. are not set so as not to cause a conflict between functions, there is a risk that the series of cooperation processes will not be executed correctly. Therefore, the user who changes the cooperation instruction needs to grasp in detail the processing content of each function that performs the cooperation process.
[0006] An object of the present invention is to provide an information processing apparatus and a program capable of changing a cooperation instruction even when a user does not grasp the processing content of each function for which the user performs cooperation processing in a system that executes a series of cooperation processes among a plurality of functions according to the cooperation instruction.
Means for Solving the Problems
[0007] The information processing apparatus according to the first aspect of the present invention includes a processor, and the processor executes a cooperation process, which is a series of processes for cooperation among a plurality of functions, according to a cooperation instruction in which the processing order of each function, the processing content of each function, and the information transmission format between each function are set. When the cooperation between functions becomes impossible due to a part of the set content of the cooperation instruction being changed by the user, a new cooperation instruction is created by correcting the set content of a part different from the part changed by the user among the set content of the cooperation instruction so that the cooperation between functions can be established.
[0008] The information processing apparatus according to the second aspect of the present invention is the information processing apparatus according to the first aspect. When the cooperation between functions becomes impossible due to a part of the set content of the cooperation instruction being changed by the user, the processor creates a new cooperation instruction by changing the information transmission format between the functions where the cooperation has become impossible.
[0009] The information processing apparatus according to the third aspect of the present invention is the information processing apparatus according to the first or second aspect. When the cooperation between functions becomes impossible due to a part of the set content of the cooperation instruction being changed by the user, the processor creates a new cooperation instruction by adding a new function that complements the functions where the cooperation has become impossible.
[0010] The information processing apparatus according to the fourth aspect of the present invention is the information processing apparatus according to any one of the first to third aspects. The processor creates a new cooperation instruction so that at least one of the input information and the output information in the cooperation process does not change.
[0011] The information processing apparatus according to the fifth aspect of the present invention is the information processing apparatus according to any one of the first to fourth aspects, wherein when creating a new cooperation instruction, if there are multiple methods for modifying the setting content accompanying the change of the setting content by the user, the processor presents the multiple modification methods to the user.
[0012] The information processing apparatus according to the sixth aspect of the present invention is the information processing apparatus according to the fifth aspect, wherein when there are multiple methods for modifying the setting content accompanying the change of the setting content by the user, the processor refers to the information at the time of creating a new cooperation instruction in the past and presents the recommended modification method to the user.
[0013] The information processing apparatus according to the seventh aspect of the present invention is the information processing apparatus according to the fifth aspect, wherein when there are multiple methods for modifying the setting content accompanying the change of the setting content by the user, the processor refers to the information on the functions available to the user and presents the recommended modification method to the user.
[0014] The information processing apparatus according to the eighth aspect of the present invention is the information processing apparatus according to any one of the first to seventh aspects, wherein after creating a new cooperation instruction, the processor executes a new cooperation process indicated by the new cooperation instruction and acquires information on whether the new cooperation process is completed by the user.
[0015] The information processing apparatus according to the ninth aspect of the present invention is the information processing apparatus according to the eighth aspect, wherein when the processor acquires from the user that the new cooperation process has not been completed, the processor presents to the user a modification method for modifying to a content different from the setting content modified when creating the new cooperation instruction.
[0016] The program according to the tenth aspect of the present invention is a series of processes for cooperation between a plurality of functions, which executes a cooperation process according to a cooperation instruction in which the processing order of each function among the plurality of functions, the processing content of each function, and the information transmission format between the functions are set, and when the cooperation between the functions becomes impossible due to a part of the set content of the cooperation instruction being changed by the user, a new cooperation instruction is created by correcting the set content of the part different from the part changed by the user among the set content of the cooperation instruction so that the cooperation between the functions can be established, and causes a computer to execute these steps.
Effect of the Invention
[0017] According to the information processing apparatus of the first aspect of the present invention, in a system that executes a series of cooperation processes between a plurality of functions according to a cooperation instruction, even if the user does not grasp the processing content of each function for which the cooperation process is performed, it is possible to change the cooperation instruction.
[0018] According to the information processing apparatus of the second aspect of the present invention, even when the cooperation between the functions becomes impossible due to a part of the set content of the cooperation instruction being changed by the user, it is possible to restore the cooperation between the functions.
[0019] According to the information processing apparatus of the third aspect of the present invention, even when the cooperation between the functions becomes impossible due to a part of the set content of the cooperation instruction being changed by the user, it is possible to restore the cooperation between the functions.
[0020] According to the information processing apparatus of the fourth aspect of the present invention, since at least one of the input information and the output information does not change even when the cooperation instruction is corrected, the influence on the user's system can be suppressed.
[0021] According to the information processing apparatus of the fifth aspect of the present invention, when there are a plurality of methods for correcting the set content accompanying the change of the set content by the user, the user can be allowed to select an arbitrary correction method.
[0022] According to the information processing apparatus of the sixth aspect of the present invention, when allowing the user to select an arbitrary correction method It is possible to present information for reference in the user's selection.
[0023] According to the information processing apparatus of the seventh aspect of the present invention, when allowing a user to select an arbitrary correction method It is possible to present information for reference in the user's selection.
[0024] According to the information processing apparatus of the eighth aspect of the present invention, it is possible to ensure that the new cooperation process indicated by the newly corrected cooperation instruction is completed.
[0025] According to the information processing apparatus of the ninth aspect of the present invention, when the cooperation process is not completed, the user can be allowed to select another correction method.
[0026] According to the program of the tenth aspect of the present invention, in a system that executes a series of cooperation processes among a plurality of functions according to a cooperation instruction, even if the user does not grasp the processing contents of each function for which the cooperation process is performed, it is possible to change the cooperation instruction.
Brief Description of the Drawings
[0027]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Embodiments for Carrying Out the Invention
[0028] Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings.
[0029] <The First Embodiment> [System Configuration] FIG. 1 is a block diagram showing the configuration of a data processing system 1 according to the first embodiment of the present invention.
[0030] The data processing system 1 is one in which devices and applications that perform various services are connected via a network 5. In this data processing system 1, a cooperation process (hereinafter referred to as "workflow"), which is a series of processes for cooperation between a plurality of services, can be executed according to a cooperation instruction (hereinafter referred to as "instruction") in which the processing order of each service in a plurality of services, the processing content of each service, and the information transfer format between each service are set.
[0031] Here, a service refers to a function available for data such as text or images, or a utility function such as an alarm or a scheduler, i.e., a function available in the data processing system 1. Services include, for example, copy, print, scan, facsimile transmission and reception, email distribution, data input to and data reading from a repository, OCR (Optical Character Recognition) processing, noise removal processing, alarms, schedulers, etc., but are not particularly limited thereto.
[0032] Specifically, the data processing system 1 includes an instruction management server 10, a terminal device 20, an image forming apparatus 30, an OCR service providing server 40A, an OCR service providing server 40B, an image processing apparatus 50, and a backbone system 60.
[0033] The instruction management server 10 creates and manages instructions, and executes a workflow by coordinating each service according to the instructions.
[0034] The terminal device 20 is provided with a user interface for issuing instructions for creating instructions and executing instructions.
[0035] The image forming apparatus 30 is a so-called multifunction device having a plurality of functions such as a printing function, a scanning function, a copying function, and a facsimile function.
[0036] The OCR service providing server 40A and the OCR service providing server 40B have an OCR function.
[0037] The image processing apparatus 50 has an image processing function for performing various image processes such as noise removal processing, image rotation processing, and image data conversion processing of images.
[0038] The backbone system 60 has a function as a repository and manages various data output from the image forming apparatus 30, the OCR service providing servers 40A and 40B, the image processing apparatus 50, etc.
[0039] Note that, in this embodiment, the data processing system 1 is configured such that a plurality of servers that perform predetermined service processing are connected via the network 5, but it is not particularly limited as long as a plurality of services are connected via the network 5.
[0040] The instruction management server 10 is an example of the information processing apparatus of the present invention. As shown in FIG. 2, it includes a CPU (Central Processing Unit) 11, a memory 12, a storage device 13 such as a hard disk drive, and a communication interface (described as "I / F" in FIG. 4) 14 that transmits and receives data to and from external devices. These components are connected to each other via a control bus 15.
[0041] The CPU 11 is a processor that executes predetermined processing based on a program stored in the memory 12 or the storage device 13 to control the operation of the instruction management server 10. In this embodiment, the CPU 11 has been described as reading and executing a program stored in the memory 12 or the storage device 13, but it is not limited thereto. This program may be provided in a form recorded on an optical disk such as a CD-ROM (Compact Disc Read Only Memory) and a DVD-ROM (Digital Versatile Disc Read Only Memory), which are computer-readable recording media, or in a form recorded on a semiconductor memory such as a USB (Universal Serial Bus) memory and a memory card. Further, this program may be obtained from an external device via a communication line connected to the communication interface 14.
[0042] In addition, the storage device 13 stores information such as "information on services available to the user" and "information when a new instruction sheet was created in the past". The "information on services available to the user" refers to information on services that can be realized by software owned by the user, services to which the user has subscribed, etc., which are services that the user can use in the data processing system 1. Also, the "information when a new instruction sheet was created in the past" refers to information when the CPU 11 created a new instruction sheet in the past as the setting content of the instruction sheet by the user was changed. This information may include, for example, information regarding the setting content and the correction method selected by the user when there are multiple correction methods for one item. The recreation of the instruction sheet by the CPU 11 will be described in detail later.
[0043] When creating an instruction sheet, the CPU 11 acquires detailed information necessary for creating the instruction sheet from various devices such as the image forming apparatus 30, the OCR service providing server 40A, the OCR service providing server 40B, and the backbone system 60 connected to the network 5.
[0044] Here, the detailed information necessary for creating the instruction sheet is, for example, "service type", "service name", "service location", "input information", "output information", etc.
[0045] The "service type" is information indicating the processing content of the services provided by various devices connected to the network 5. Note that a pre-defined "service type" is used. For example, copy, print, scan, facsimile transmission / reception, email distribution, data input to the repository, data reading from the repository, alarm, and scheduler, etc. are applicable, but it is not limited to these.
[0046] The "service name" is information indicating the name of the services provided by various devices. The "service location" is information indicating the access destination to the device providing the service. For example, It is the URL (Uniform Resource Locator) used when utilizing the service. "Input information" is information regarding the types and requirements of data input to the service. "Output information" is information regarding the types and requirements of data output from the service.
[0047] Figure 3 is a diagram showing the instruction creation screen 100 which is a GUI screen for defining a workflow. The instruction creation screen 100 is composed of a service window 101, a flow window 102, a logic window 103, and a property window 104.
[0048] The service window 101 displays various available service processing devices. The logic window 103 displays a workflow showing the pattern of cooperation between services. The property window 104 displays the detailed setting parameters of each icon displayed in the service window 101 and the logic window 103.
[0049] The administrator or general user of the system can define a workflow in the flow window 102 by dragging and dropping the icons in the service window 101 and the icons in the logic window 103 into the flow window 102. The user can further set the relationships between services such as services and logic in detail by editing the content displayed in the property window 104.
[0050] In the flow window 102 of Figure 3, as an example, a workflow is defined to perform OCR processing on scanned image data and input specific character strings in the scanned image and OCR data into the repository.
[0051] In this way, the administrator or user defines the workflow by dragging and dropping the icon of the service window 101 and the icon of the logic window 103 onto the flow window 102. Also, the administrator or user edits the content displayed in the property window 104. Through such operations, it is possible to easily create an instruction manual for coordinating various and complex processes.
[0052] FIG. 4 shows an outline of a partial description example of the instruction manual. Note that the description example shown in FIG. 4 is merely an example and is not limited thereto. The example shown in FIG. 4 is a description example of the instruction manual in the case of the workflow as shown in FIG. 3. The workflow in FIG. 3 is a workflow that generates text data of a document included in a scanned image by performing OCR processing on the scanned image data and inputs specific character strings in the scanned image and the text data to a repository.
[0053] As shown in FIG. 4, the content of the scan processing is defined by parameters and the like described between the start tag <scan>and end tag< / scan> for instructing the scan processing. Examples of the parameters of the scan processing include the service name for performing the scan processing, the reading resolution, and the save file format.
[0054] Similarly, the content of the OCR processing is defined by parameters and the like described between the start tag <ocr>and end tag< / ocr> for instructing the OCR processing. Examples of the parameters of the OCR processing include the service name for performing the OCR processing and the save file format.
[0055] Also, the data input processing is defined by parameters and the like described between the start tag <datainp>and end tag< / datainp> for instructing the data input processing. Examples of the parameters of the data input processing include the repository name targeted for the data input processing and the acquisition destination of the input information for each item.
[0056] The instruction manual describes all the information related to the control of the workflow. Thus, the workflow itself represented by the instruction manual is also regarded as one service. Note that the instruction manual is not limited to the configuration shown in FIG. 3, as long as each service can be coordinated.
[0057] Also, when executing the instruction manual, the CPU 11 interprets the instruction manual and sequentially calls various devices connected to the network 5 according to the order and usage method described in the instruction manual to execute the workflow.
[0058] [Re-creation process of instruction manual in the instruction manual management server] Since the instruction manual needs to define a series of processes for cooperation between multiple functions, the creator of the instruction manual needs to have a detailed understanding of the processing content of each function that performs the cooperation process. Therefore, it is difficult for general users to create an instruction manual from scratch. Based on the above, it is assumed that the system administrator or the like creates an instruction manual in advance and saves it in the instruction manual management server 10 as a template, and the user selects and executes the desired instruction manual from the instruction manuals saved in the instruction manual management server 10.
[0059] At this time, the user can use the selected instruction manual as it is, or can edit and use a part of the selected instruction manual.
[0060] As an example, as shown in FIG. 3, when the user selects an instruction manual for a workflow that generates text data of a document included in a scanned image by performing OCR processing on the scanned image data and inputs specific character strings in the scanned image and the text data to the repository, it will be described.
[0061] The workflow indicated in this instruction manual, in detail, as shown in FIG. 5, first, in the image forming apparatus 30, an order slip is scanned, and data such as "scan user", "scan date and time", and "scan data" is output. The data output from the image forming apparatus 30 is transmitted to the OCR service providing server 40A (described as "OCR(A)" in FIG. 5 and hereinafter) via the instruction manual management server 10.
[0062] Next, in OCR(A), OCR processing is performed on the scan data of the order slip scanned by the image forming apparatus 30, and "OCR user" and "OCR date and time" are output. Further, in OCR(A), data such as "order date", "customer name", "estimate number", and "order number" is extracted and output from the data after OCR of the scan data of the order slip. The data output from OCR(A) is transmitted to the core system 60, which is a repository, via the instruction manual management server 10.
[0063] Finally, data such as "order date", "customer name", "estimate number", "order number", "registration date and time", and "scan data" is input and stored in the core system 60. Here, for the items of "order date", "customer name", "estimate number", and "order number", "order date", "customer name", "estimate number", and "order number" are respectively input from the data output by OCR(A). Also, for the item of "registration date and time", "OCR date and time" is input from the data output by OCR(A). Also, for the item of "scan data", "scan data" is input from the data output by the image forming apparatus 30.
[0064] Regarding such an instruction manual, as shown in FIG. 6, assume that the server on which the user performs OCR processing is changed from the OCR service providing server 40A to the OCR service providing server 40B (described as "OCR(B)" in FIG. 6 and hereinafter).
[0065] OCR (B) performs OCR processing on the scan data scanned by the image forming apparatus 30, and outputs data such as "OCR user", "order date", "customer name", "estimate number", and "order number" as output data, and does not output the "OCR date and time".
[0066] In this case, regarding the item of "registration date and time" input to the core system 60, since the "OCR date and time" cannot be obtained from OCR (B), the workflow cannot be completed.
[0067] As described above, if a user who does not grasp in detail the processing contents of each service that performs the workflow edits a part of the instruction manual, there is a risk that the cooperation between the services will be lost.
[0068] This embodiment is for dealing with such problems. Specifically, when the cooperation between services cannot be established due to a part of the setting content of the instruction manual being changed by the user, the CPU 11 of the instruction manual management server 10 creates a new instruction manual with the setting content of the part different from the part changed by the user among the setting contents of the instruction manual so that the cooperation between services can be established.
[0069] FIG. 7 is a flowchart showing the processing procedure at the time of re-creating the instruction manual in the CPU 11 of the instruction manual management server 10.
[0070] In step S01, when the CPU 11 detects a change in the instruction manual, in step S02, the CPU 11 acquires detailed information necessary for creating the instruction manual from the devices related to the workflow indicated by the instruction manual.
[0071] Next, in step S03, the CPU 11 identifies whether there are items that have become defective due to the change in the changed instruction manual. Specifically, as in the example shown in FIG. 6 above, the items for which the data transfer cannot be normally performed are identified.
[0072] In step S04, the CPU 11 determines whether there is a result specified in step S03 (i.e., the item in which a defect has occurred). If it is determined that there is no specified result (judgment result: No), since there is no problem with the modified instruction sheet, the process ends.
[0073] If it is determined in step S04 that there is a result specified (judgment result: Yes), the CPU 11 determines in step S05 whether there is an item for which substitute data has not been determined (described as "remaining item" in FIG. 7 and hereinafter) among the items in which a defect has occurred.
[0074] If it is determined in step S05 that there is a remaining item (judgment result: Yes), the CPU 11 evaluates substitute data candidates for each item in step S06.
[0075] Here, the details of the process in step S06 will be described with reference to the flowchart of FIG. 8.
[0076] The CPU 11 first extracts parameter information of the target item in step S061. Next, in step S062, the CPU 11 specifies, as substitute data candidates, data similar to the parameter information extracted in step S061 from the data output by the service processing device in the workflow indicated by the instruction sheet that is before the target item.
[0077] For example, in the example shown in FIG. 6, since the "OCR date and time" for input to the core system 60 cannot be obtained from OCR(B), "scan date and time", which is data similar to the "OCR date and time", is specified as a substitute data candidate from the data output by the image forming apparatus 30 that performs the scan process before the OCR process. In this example, the data indicating the date and time is only the "scan date and time", but if there are multiple data indicating the date and time, all the multiple data are specified as substitute data candidates.
[0078] In step S063, the CPU 11 determines whether there is a result (i.e., a substitute data candidate) specified in step S062. If it is determined that there is no specified result (judgment result: No), since the instruction document cannot be recreated, the process ends.
[0079] If it is determined in step S063 that there is a result (judgment result: Yes), the CPU 11 determines in step S064 whether there is a substitute data candidate for which the evaluation value described later has not been determined (described as "remaining substitute data candidate" in FIG. 8 and hereinafter).
[0080] If it is determined in step S064 that there is a remaining substitute data candidate (judgment result: Yes), the CPU 11 determines an evaluation value for each substitute data candidate in step S065. As an example, the higher the evaluation value is, the more similar the substitute data candidate is to the parameter information of the target item. The method for determining the evaluation value is not particularly limited, but can be determined as follows, for example.
[0081] In the above example, the substitute data candidates for the "OCR date and time" are only the scan date and time. However, if there are multiple substitute data candidates for the "OCR date and time", the evaluation values for the substitute data candidates for the "OCR date and time" may be determined as follows. For example, along the order of the workflow, for a process closer to the target item, the date and time data representing a date and time closer to the "OCR date and time" may be regarded as having a higher evaluation value than the date and time data of a process farther from the target item. Also, for a process similar to the processing content of the target item, the date and time data representing a date and time closer to the "OCR date and time" may be regarded as having a higher evaluation value than the date and time data of a process not similar to the target item. In this case, by setting categories in advance for each process, it is possible to determine that a process in the same category as the target item is a similar process, and a process in a category different from the target item is a dissimilar process. Note that for the category, not only one category may be set for one process, but also multiple categories may be set. Thereby, the degree of similarity can be determined based on the number of category matches. Also, the evaluation value of the substitute data candidate may be determined considering both whether it is a process close to the target item along the order of the workflow and whether it is a process similar to the processing content of the target item. In this case, for example, for a process similar to the processing content of the target item and close to the target item along the order of the workflow, a high evaluation value may be set.
[0082] Also, when the OCR date and time is represented by 8 digits of "YYYY (year) / MM (month) / DD (day)", this 8-digit date and time data may be given a higher evaluation value than the date and time data represented by 6 digits of "YY / MM / DD" or 4 digits of "MM / DD", etc.
[0083] Note that when there are multiple substitute data candidates, the CPU 11 repeats steps S064 and S065 until the evaluation values of all the substitute data candidates are determined. If it is determined in step S064 that there are no remaining substitute data candidates (judgment result: No), the CPU 11 proceeds to step S07 in the flowchart of FIG. 7.
[0084] In step S07, the CPU 11 determines whether the highest score of the substitute data candidates exceeds a predetermined threshold. If it is determined that the highest score exceeds the predetermined threshold (judgment result: Yes), in step S08, the substitute data candidate with the highest score is determined as the substitute data, and the process proceeds to step S05.
[0085] If it is determined in step S07 that the highest score does not exceed the predetermined threshold (judgment result: No), the CPU 11 presents all the substitute data candidates to the user in step S09 and allows the user to select an arbitrary substitute data candidate. Next, when the CPU 11 detects a user operation of selecting a substitute data candidate in step S10, in step S08, the substitute data candidate selected by the user is determined as the substitute data, and the process proceeds to step S05.
[0086] Note that when there are a plurality of items with deficiencies, the CPU 11 repeats the steps from step S05 to step S10 until the substitute data for all items is determined. If it is determined in step S05 that there are no remaining items (judgment result: No), the CPU 11 determines a method for transferring the substitute data in step S11.
[0087] The method for transferring the substitute data is not particularly limited. For example, since all the data output from each process is stored in the memory in the instruction management server 10, the substitute data stored in the memory in the instruction management server 10 may be transmitted to the device that performs the target process.
[0088] In addition to this, for example, the substitute data may be embedded in the data file as attached information of a data file such as scan data, or a file such as a CSV (Comma Separated Values) file in which the substitute data is recorded may be transmitted together with the data file.
[0089] Finally, in step S12, based on the content determined from step S01 to step S11 above, the CPU 11 creates a new instruction sheet and ends the process.
[0090] Regarding the creation of a new instruction sheet, as in the above example, the case where the instruction sheet with the workflow defined as shown in FIG. 5 is changed by the user from OCR(A) to OCR(B) as shown in FIG. 6 will be described.
[0091] In this case, in the instruction sheet shown in FIG. 4, due to the change by the user, the device for performing the OCR process in the parameters of the OCR process item is changed from OCR(A) to OCR(B). Correspondingly, the CPU 11 corrects the data to be input to the "registration date and time" item among the input information acquisition destinations in the parameters of the data input process item to the "scan date and time" output from the image forming apparatus 30 instead of the "OCR date and time".
[0092] As a result, in the new instruction sheet with the setting content corrected, instead of the "OCR date and time", the "scan date and time" output from the image forming apparatus 30 is transmitted to the backbone system 60 as substitute data.
[0093] As described above, when the CPU 11 cannot establish cooperation between services due to a part of the setting content of the instruction sheet being changed by the user, the CPU 11 creates a new instruction sheet with the setting content of the part different from the part changed by the user in the setting content of the instruction sheet corrected so that cooperation between services can be established. Thereby, even if the user does not grasp the processing content of each service for performing the workflow, it is possible to change the instruction sheet.
[0094] Also, when the CPU 11 cannot establish cooperation between services due to a part of the setting content of the instruction sheet being changed by the user, the CPU 11 creates a new instruction sheet by changing the information transmission format between the services where the cooperation has been lost. Thereby, even when the user edits a part of the instruction sheet and the cooperation between services is lost, it is possible to restore the cooperation between services.
[0095] In addition, in this embodiment, the CPU 11 may create a new instruction sheet so that at least one of the input information and the output information in the entire workflow does not change. Thereby, the influence on the user's system can be suppressed by modifying the instruction sheet.
[0096] Further, when creating a new instruction sheet, the CPU 11 may present a plurality of modification methods to the user when there are a plurality of modification methods for the setting content accompanying the change of the setting content by the user. Thereby, the user can be allowed to select an arbitrary modification method.
[0097] For example, in the flowchart shown in FIG. 7, from step S06 to step S10, an evaluation value is determined for each of the extracted substitute data candidates, and the substitute data candidates are presented to the user only when it is determined that the highest score of the evaluation value does not exceed a predetermined threshold. Instead of these steps S06 to S10, all of the extracted substitute data candidates may be presented to the user as they are, and the user may be allowed to select an arbitrary substitute data candidate from them.
[0098] Further, when there are a plurality of modification methods for the setting content accompanying the change of the setting content by the user, the CPU 11 may refer to the information when a new instruction sheet was created in the past and present a recommended modification method to the user. Thereby, when allowing the user to select an arbitrary modification method information that can be a reference for the user's selection can be presented.
[0099] Further, when there are a plurality of modification methods for the setting content accompanying the change of the setting content by the user, the CPU 11 may refer to the information on the services available to the user and present a recommended modification method to the user. Thereby, when allowing the user to select an arbitrary modification method information that can be a reference for the user's selection can be presented.
[0100] Also, after creating a new instruction sheet, the CPU 11 may execute a new workflow indicated by the new instruction sheet to obtain information from the user on whether the new workflow has been completed. This can ensure that the new cooperation process indicated by the modified new cooperation instruction is completed.
[0101] In addition, when the CPU 11 obtains from the user that the new workflow has not been completed, the CPU 11 may prompt the user with a modification method to modify the content to a different content from the set content modified when creating the new instruction sheet. This allows the user to select another modification method when the workflow has not been completed.
[0102] In the above embodiment, when there are multiple substitute data candidates, the determination of the evaluation values of the substitute data candidates is repeated until the evaluation values of all the substitute data candidates are determined. However, it is not necessarily limited to such a mode. For example, when a substitute data candidate with an evaluation value equal to or higher than a preset threshold is detected, the determination of the evaluation values of the remaining substitute data candidates may be omitted.
[0103] <Second Embodiment> In the first embodiment, when the CPU 11 is unable to establish cooperation between services because part of the setting content of the instruction sheet has been changed by the user, the mode of recreating a modified new instruction sheet by changing the information transmission format between the services where the cooperation has been lost is described.
[0104] In this embodiment, when the CPU 11 is unable to establish cooperation between services because part of the setting content of the instruction sheet has been changed by the user, the mode of creating a modified new instruction sheet by adding a new service to complement the services where the cooperation has been lost is described. Note that since the hardware configuration of the data processing system 1 in this embodiment is the same as that in the first embodiment, the description is omitted.
[0105] Here, the case where the user selects the same instruction sheet as in the first embodiment will be described. The workflow indicated by this instruction sheet generates text data of the document included in the scanned image by performing OCR processing on the scanned image data, and inputs specific character strings in the scanned image and the text data to the repository.
[0106] Details of the workflow are as described in FIG. 5 described above, so the description is omitted. In this workflow, the requirements for compatible files of the scan data are as shown in FIG. 9.
[0107] In the image forming apparatus 30, as the format of the scan data file, data in Tiff (Tagged Image File Format) format or PDF (Portable Document Format) format at 200, 400, or 600 dpi (dots per inch) can be output.
[0108] In OCR (A), as the format of the scan data file, data in Tiff format or PDF format at 200, 400, or 600 dpi, similar to the image forming apparatus 30, can be input.
[0109] Even in the core system 60, as the format of the scan data file, data in Tiff format or PDF format at 200, 400, or 600 dpi, similar to the image forming apparatus 30, can be input.
[0110] In the workflow indicated by the instruction sheet shown in FIG. 9, it is defined that a 400 dpi Tiff file output from the image forming apparatus 30 is received in OCR (A) and the core system 60.
[0111] For such an instruction sheet, as shown in FIG. 10, assume that the user changes the server for performing OCR processing from the OCR service providing server 40A to another OCR service providing server (described as "OCR (C)" in FIG. 10 and hereinafter).
[0112] Since the input requirements of the file for OCR(C) are limited to only PDF files with 240 dpi, it does not support any data of the output - capable data of the image forming apparatus 30. In this case, since OCR(C) cannot acquire the scan data from the image forming apparatus 30, the workflow cannot be completed.
[0113] In the present embodiment, in order to address such a problem, the CPU 11 of the instruction - book management server 10 creates a new modified instruction - book by adding a new service so that the workflow is completed.
[0114] FIG. 11 is a flowchart showing the processing procedure at the time of re - creating an instruction - book in the CPU 11 of the instruction - book management server 10 in the present embodiment.
[0115] When the CPU 11 detects a change in the instruction - book in step S21, in step S22, it acquires the detailed information necessary for creating the instruction - book from the apparatuses related to the workflow indicated by the instruction - book.
[0116] Next, in step S23, the CPU 11 identifies whether there is any process in the changed instruction - book where an inadequacy has occurred in the transfer of file data due to the change. Specifically, as in the example shown in FIG. 10 above, it identifies the process that cannot output a file corresponding to the input requirements of the file data in the subsequent process.
[0117] In step S24, the CPU 11 determines whether there is a result (i.e., a process with an inadequacy) identified in step S23. If it is determined that there is no identified result (judgment result: No), since there is no problem with the changed instruction - book, the process ends.
[0118] If it is determined in step S24 that there is a result (judgment result: Yes), the CPU 11 determines in step S25 whether there is an item for which the subsequent described complement processing has not been determined (described as "remaining processing" in FIG. 11 and hereinafter) for the process in which the defect has occurred.
[0119] If it is determined in step S25 that there is remaining processing (judgment result: Yes), the CPU 11 evaluates complement processing candidates for each process in step S26.
[0120] Here, the details of the process in step S26 will be described with reference to the flowchart in FIG. 12.
[0121] First, the CPU 11 acquires detailed information necessary for creating an instruction sheet from various devices connected to the network 5 in step S261. Next, in step S262, the CPU 11 specifies, as a complement processing candidate, a service that can be converted so as to correspond to the file data input requirements in the subsequent process for the file data output in the process in which there is a defect in the delivery of the file data, from among the services provided by various devices connected to the network 5.
[0122] For example, in the example shown in FIG. 10, since the input requirement of the file for OCR(C) is limited to only 240 dpi PDF files, it does not correspond to any data of the outputtable data of the image forming apparatus 30.
[0123] Therefore, as shown in FIG. 13, for the file data output from the image forming apparatus 30, the image data conversion service provided by the image processing apparatus 50 connected to the network 5 is specified as a service that can be converted so as to correspond to the file data input requirements of the subsequent OCR(C) as a complement processing candidate. In this example, the complement processing candidate is only the image data conversion service provided by the image processing apparatus 50, but if there are a plurality of services capable of the same processing, all of the plurality of services are specified as complement processing candidates.
[0124] In step S263, the CPU 11 determines whether there is a result (i.e., a candidate for the complement processing) specified in step S262. If it is determined that there is no specified result (judgment result: No), since the instruction document cannot be recreated, the process ends.
[0125] If it is determined in step S263 that there is a result (judgment result: Yes), the CPU 11 determines in step S264 whether there is a candidate for the complement processing (described as "remaining candidate for the complement processing" in FIG. 12 and hereinafter) for which the evaluation value described below has not been determined.
[0126] If it is determined in step S264 that there is a remaining candidate for the complement processing (judgment result: Yes), the CPU 11 determines the evaluation value for each candidate for the complement processing in step S265. The method for determining this evaluation value is not particularly limited. As an example, the lower the operation cost of the candidate for the complement processing and the higher the quality of the complement processing, the higher the evaluation value is given.
[0127] Note that when there are a plurality of candidates for the complement processing, the CPU 11 repeats steps S264 and S265 until the evaluation values of all candidates for the complement processing are determined. If it is determined in step S264 that there is no remaining candidate for the complement processing (judgment result: No), the CPU 11 proceeds to step S27 in the flowchart of FIG. 11.
[0128] In step S27, the CPU 11 determines whether the highest score of the evaluation values of the candidates for the complement processing exceeds a predetermined threshold value. If it is determined that the highest score exceeds the predetermined threshold value (judgment result: Yes), in step S28, the candidate for the complement processing with the highest score is determined as the complement processing, and the process proceeds to step S25.
[0129] If it is determined in step S27 that the highest score does not exceed a predetermined threshold value (judgment result: No), the CPU 11 presents all the candidate completion processes to the user in step S29 and allows the user to select an arbitrary candidate completion process. Next, when the CPU 11 detects a user operation for selecting a candidate completion process in step S30, in step S28, it determines the candidate completion process selected by the user as the completion process and proceeds to step S25.
[0130] Note that when there are a plurality of processes in which deficiencies have occurred, the CPU 11 repeats the steps from step S25 to step S30 until the completion processes for all the processes are determined. If it is determined in step S25 that there is no remaining process (judgment result: No), the CPU 11 determines the parameters before and after the completion process in step S31.
[0131] The method for determining the parameters is not particularly limited. For example, the parameters of other processes may be determined in accordance with the process having the narrowest requirements among the processes in the workflow.
[0132] As an example, in the workflow shown in the instruction manual shown in FIG. 13, OCR (C) can only input a PDF file with 240 dpi. Therefore, in this workflow, the image forming apparatus 30 in the previous stage outputs a PDF file with 400 dpi close to the data that can be input by OCR (C), and the image processing apparatus 50 converts the PDF file with 400 dpi into a PDF file with 240 dpi and inputs it to OCR (C). Further, in the backbone system 60, the PDF file with 400 dpi output from the image forming apparatus 30 is input.
[0133] Finally, in step S32, the CPU 11 creates a new instruction manual based on the content determined in steps S21 to S31 above and ends the process.
[0134] Regarding the creation of a new instruction manual, as in the above example, the case where the instruction manual with the workflow shown in FIG. 5 is changed by the user from OCR(A) to OCR(C) as shown in FIG. 10 will be described.
[0135] In this case, in the instruction manual shown in FIG. 4, due to the change by the user, the device for performing the OCR process in the parameters of the OCR process item is changed from OCR(A) to OCR(C). Correspondingly, as shown in FIG. 14, the CPU 11 makes a modification to add an image data conversion process between the scan process and the OCR process.
[0136] The image data conversion process is defined by the parameters and the like described between the start tag for instructing the image data conversion process <convert>and end tag< / convert> As parameters of the image data conversion process, for example, the service name for performing the image data conversion process and the content of the conversion process are described.
[0137] As a result, in the new instruction manual with the setting content modified, the scan data output from the image forming apparatus 30 is converted into a format that can be input to OCR(C) by the image processing apparatus 50 and input to OCR(C). Thereby, even when the user edits a part of the instruction manual and the cooperation between services becomes impossible, it is possible to restore the cooperation between services.
[0138] In the above embodiment, when there are a plurality of complement processing candidates, the evaluation value determination of the complement processing candidates is repeated until the evaluation values of all the complement processing candidates are determined, but it is not necessarily limited to such a mode. For example, when a complement processing candidate with an evaluation value equal to or higher than a preset threshold is detected, the evaluation value determination of the remaining complement processing candidates may be omitted.
[0139] <Modification Example> As described above, the image forming system according to an embodiment of the present invention has been described, but the present invention is not limited to the above embodiment and can be appropriately changed.
[0140] For example, each part such as a server connected to the network 5 described above may be configured as an independent device, several parts may be provided together in one device, or all parts may be provided in one device.
[0141] Also, in each of the above embodiments, the processor refers to a processor in a broad sense and includes a general-purpose processor (e.g., CPU, etc.) and a dedicated processor (e.g., GPU: Graphics Processing Unit, ASIC: Application Specific Integrated Circuit, FPGA: Field Programmable Gate Array, programmable logic device, etc.).
[0142] Moreover, the operation of the processor in each of the above embodiments may be achieved not only by one processor but also by a plurality of physically separated processors cooperating with each other. Also, the order of each operation of the processor is not limited to the order described in each of the above embodiments and may be changed as appropriate.
[0143] In the above embodiments, the case where the present invention is applied to an image forming apparatus has been described, but the present invention is not limited thereto and can be various devices.
Explanation of Reference Numerals
[0144] 1 Data processing system 5 Network 10 Instruction management server 11 CPU 12 Memory 13 Storage device 14 Communication interface 15 Control bus 20 Terminal device 30 Image forming apparatus 40A, 40B OCR service providing server 50 Image processing apparatus 60 Core system 70 Image forming apparatus
Claims
1. An information processing apparatus comprising a processor, wherein the processor executes a cooperation process, which is a series of processes for cooperation among a plurality of functions, according to a cooperation instruction in which the processing order of each function, the processing content of each function, and the information transmission format between each function are set, and when the cooperation between functions becomes impossible due to a part of the set content of the cooperation instruction being changed by the user, creates a new cooperation instruction by correcting the set content of a part different from the part changed by the user among the set content of the cooperation instruction so that the cooperation between functions can be achieved Information processing apparatus.
2. The processor according to claim 1, wherein when the cooperation between functions becomes impossible due to a part of the set content of the cooperation instruction being changed by the user, creates a new cooperation instruction by changing the information transmission format between the functions where the cooperation has become impossible Information processing apparatus according to claim 1.
3. The processor according to claim 1 or 2, wherein when the cooperation between functions becomes impossible due to a part of the set content of the cooperation instruction being changed by the user, creates a new cooperation instruction by adding a new function to complement the functions where the cooperation has become impossible Information processing apparatus according to claim 1 or 2.
4. The processor according to any one of claims 1 to 3, wherein creates a new cooperation instruction so that at least one of the input information and the output information in the cooperation process does not change Information processing apparatus according to any one of claims 1 to 3.
5. The processor according to any one of claims 1 to 4, wherein when creating a new cooperation instruction and there are a plurality of methods for correcting the set content accompanying the change of the set content by the user, presents the plurality of correction methods to the user Information processing apparatus according to any one of claims 1 to 4.
6. The processor according to claim 5, wherein when there are a plurality of methods for correcting the set content accompanying the change of the set content by the user, refers to the information when creating a new cooperation instruction in the past and presents the recommended correction method to the user Information processing apparatus according to claim 5.
7. The processor according to claim 5, wherein when there are a plurality of methods for correcting the set content accompanying the change of the set content by the user, refers to the information of the functions available to the user and presents the recommended correction method to the user Information processing apparatus according to claim 5.
8. The processor according to any one of claims 1 to 7, wherein after creating a new cooperation instruction, executes the new cooperation process indicated by the new cooperation instruction and acquires information from the user as to whether the new cooperation process is completed Information processing apparatus according to any one of claims 1 to 7.
9. When the processor obtains from the user that a new cooperation process has not been completed, presents to the user a modification method for modifying the setting content to content different from the setting content modified when creating the new cooperation instruction. The information processing apparatus according to claim 8.
10. executing a cooperation process, which is a series of processes for cooperation among a plurality of functions, according to a cooperation instruction in which a processing order of each function in the plurality of functions, processing content in each function, and an information transmission format between the functions are set; when the cooperation between functions becomes impossible due to a part of the setting content of the cooperation instruction being changed by the user, creating a new cooperation instruction in which the setting content of a part different from the part changed by the user in the setting content of the cooperation instruction is modified so that the cooperation between functions can be established; A program for causing a computer to execute.
Citation Information
Patent Citations
Business system availability verification method and device, equipment and medium
CN111459800A
Automatic test item generating device
JP2006209521A
Test support program, device, and method
JP2008015709A
Service image processing system and image processor
JP2009009567A
Workflow execution device, workflow execution method, and computer program
JP2009276851A