Information processing device and program

By temporarily storing shared information and managing changes through user authentication and management tables, the information processing device maintains consistency and reduces resource waste when delegating jobs to external servers.

JP7764720B2Active Publication Date: 2025-11-06FUJIFILM BUSINESS INNOVATION CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2021162872
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-10-01
Publication Date
2025-11-06
Estimated Expiration
2041-10-01

AI Technical Summary

Technical Problem

When part of a job executed by an information processing device is delegated to an external device, the shared information between jobs can be inconsistent due to changes made after the earlier job is completed but before the later job starts, leading to unnecessary resource consumption.

Method used

The information processing device temporarily stores shared information in a storage means, releases resources after the first job, and ensures that changes to this information are not reflected until the second job begins, using mechanisms like user authentication and management tables to maintain consistency.

Benefits of technology

This approach maintains information consistency across jobs, allowing the subsequent job to use the shared information as intended, reducing resource waste and ensuring accurate processing results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007764720000001
    Figure 0007764720000001
  • Figure 0007764720000002
    Figure 0007764720000002
  • Figure 0007764720000003
    Figure 0007764720000003
Patent Text Reader

Abstract

To suppress occurrence of inconsistency in a case where information shared by multiple jobs is modified after the previous job is executed, compared to a configuration in which information set when each job is executed is used as information shared in the multiple jobs.SOLUTION: An information processing apparatus is configured to, as a first job, instruct an external server to execute processing while designating information in a common address book 121 shared with a plurality of jobs, and cause a management table 122 to hold the information of the designated common address book 121. The information processing apparatus is configured to, as a second job, acquire a result processed by the external server, and execute processing using the information held in the management table 122. The information processing apparatus modifies, when an operation is made to modify the common address book 121 before the start of the second job after the execution of the first job, the information in the common address book 121 and does not modify the information in the management table 122 corresponding to the modified information.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an information processing device and a program. [Background technology]

[0002] In data processing by an information processing device, part of a job may be executed by an external device. In this case, the processing is executed while exchanging data and processing results between devices, for example, according to a workflow that defines the individual processes included in the job and the entities that execute each process.

[0003] Patent Document 1 discloses an information processing system in which workflow information defining the order of multiple processes and the information processing device that will be the executing entity for each of the multiple processes defines one information processing device selected from the multiple information processing devices as the executing entity, and each of the multiple processes defined in the workflow information is executed by the information processing device defined as the executing entity in the defined order, and the process defined in the workflow information as being executed by one information processing device selected from the multiple information processing devices is executed by the one information processing device selected in accordance with predetermined judgment conditions. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent No. 6264800 Summary of the Invention [Problem to be solved by the invention]

[0005] When part of the processing of a job executed by an information processing device is executed by an external device, the job related to that processing remains in the information processing device until the processing by the external device is completed, resulting in unnecessary consumption of resources such as memory. Therefore, it is conceivable to execute the operations of the information processing device before the processing by the external device begins and the operations after the processing by the external device is completed as separate jobs, and release the resources after the execution of the earlier job. However, if information shared by these jobs is changed in the information processing device after the execution of the earlier job and before the start of the later job, inconsistencies may occur in the series of operations performed by these jobs.

[0006] The present invention aims to reduce the occurrence of inconsistencies when information shared between an earlier job and a later job is changed after the earlier job is executed, compared to a configuration in which, when an information processing device has an external device execute part of a series of processes, the operations before and after the processes to be executed by the external device are executed as separate jobs, and the information shared between these jobs uses the information set at the time of execution of each job. [Means for solving the problem]

[0007] The present invention according to claim 1 is a processor; The processor: As a first job, the device connects to an external server that can be connected to, specifies shared information stored in a storage device that can be shared by a plurality of jobs, and instructs the external server to execute processing. temporary storing the information in a storage means and releasing the resources used in the first job; As a second job different from the first job, a result of the processing by the external server is acquired, and the result is specified in the first job. temporary Execute a process using the shared information stored in a storage means; If an operation to change the shared information is performed after the first job is executed and before the second job is started, the shared information stored in the storage device is changed, temporary The information processing device is characterized in that the shared information stored in the storage means is not changed. The present invention according to claim 2 is The processor performs user authentication when executing the first job and when accepting a change operation for the shared information, and if the user who performs the first job and the change operation is the same, stores the shared information stored in the storage device and the temporary 2. The information processing device according to claim 1, wherein the shared information stored in the storage means is changed in accordance with the change operation. The present invention according to claim 3 is When the user who performs the first job and the change operation of the shared information is the same, the processor temporary The user is asked whether or not to change the shared information stored in the storage means in accordance with the change operation, and when an instruction to change is received, the temporary 3. The information processing device according to claim 2, wherein the shared information of the storage means is changed. The present invention according to claim 4 is The processor: In the first job, data to be processed is transmitted to the external server together with instruction information specifying a destination of a processing result by the external server as the shared information, and the instruction information and information on the destination specified by the instruction information are stored in the temporary Store it in a storage means, In the second job, the instruction information is received from the external server together with data of a processing result for the data to be processed, and the temporary 2. The information processing device according to claim 1, wherein information on the destination is acquired from a storage means, and data resulting from the processing is transmitted to the destination according to the acquired information. The present invention according to claim 5 is In the second job, when the data of the processing result received from the external server is added with information of a destination created by the external server, Based on the instruction information temporary If there is no contradiction between the destination information acquired from the storage means and the destination information created by the external server, the processing result data is transmitted based on the destination information created by the external server; Based on the instruction information temporary The information processing device according to claim 4 is characterized in that, if there is a discrepancy between the destination information obtained from the storage means and the destination information created by the external server, the information processing device inquires of the user about the destination of the processing result data. The present invention according to claim 6 is On the computer, As a first job, the device connects to an external server that can be connected to, specifies shared information stored in a storage device that can be shared by a plurality of jobs, and instructs the external server to execute processing. temporary a function of storing the resources in a storage means and releasing the resources used in the first job; As a second job different from the first job, a result of the processing by the external server is acquired, and the result is specified in the first job. temporary a function of executing a process using the shared information stored in a storage means; If an operation to change the shared information is performed after the first job is executed and before the second job is started, the shared information stored in the storage device is changed, temporary The shared information stored in the storage means is not changed; The program is characterized by realizing the above. [Effects of the Invention]

[0008] According to the invention of claim 1, compared to a configuration in which the operations before and after the processing to be executed by an external server are executed as separate jobs and the information shared in these jobs is the information set at the time of execution of each job, even if the shared information is changed, the subsequent job can be executed using the shared information before the change specified in the previous job. According to the invention of claim 2, compared to a configuration in which the shared information at the time of execution of the first job is retained regardless of the user, changes to the shared information made by the user who executed the first job can be reflected in the second job. According to the invention of claim 3, it is possible to reflect the user's intentions, compared to a configuration in which the primary storage means always accepts changes to the shared information by the same user. According to the invention of claim 4, compared to a configuration in which the operations before and after the processing to be executed by an external server are executed as separate jobs and the information shared in these jobs is the information set at the time of execution of each job, even if the shared destination information is rewritten, the processing results can be sent to the destination before the change. According to the invention of claim 5, compared to a configuration that only follows the information specified in the first job and the information stored in the primary storage means, the information obtained by processing by the external server can be reflected in the second job. According to the invention of claim 6, in a computer on which the program of the present invention is installed, the operations before and after the processing to be executed by an external server are executed as separate jobs, and compared to a configuration in which the information shared in these jobs is the information set at the time of execution of each job, even if the shared information is changed, the subsequent job can be executed using the shared information before the change specified in the previous job. [Brief explanation of the drawings]

[0009] [Figure 1] 1 is a diagram showing the overall configuration of an information processing system according to an embodiment of the present invention. [Figure 2] FIG. 1 is a diagram illustrating a configuration of an image processing device. [Figure 3]FIG. 10 is a sequence diagram showing data exchange between the image processing device and the processing execution server for the first job. [Figure 4] FIG. 10 is a sequence diagram showing data exchange between the image processing device and the processing execution server for the second job. [Figure 5] 10 is a flowchart illustrating an operation of the information processing device. [Figure 6] 10 is a flowchart showing the operation of processing execution. [Figure 7] 7A and 7B are diagrams showing the relationship between a shared address book and a management table, where FIG. 7A shows the contents of the address book before the change, and FIG. 7B shows the contents of the address book and the management table after the change. [Figure 8] This figure shows the relationship between the shared address book and the management table when the same user who executed the first job changes the shared address book, where Figure 8(A) shows the contents of the address book before the change, and Figure 8(B) shows the contents of the address book and the management table after the change. [Figure 9] 10 is a flowchart illustrating an operation of the image processing apparatus when a shared address book is changed. [Figure 10] 10A and 10B show the state after the information in the management table has been updated using information obtained from the processing execution server, where FIG. 10A shows the state before the management table is updated, and FIG. 10B shows the state after the update. DETAILED DESCRIPTION OF THE INVENTION

[0010] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

[0011] <System configuration> 1 is a diagram showing the overall configuration of an information processing system according to this embodiment. The information processing system of this embodiment includes an information processing device 100, a processing execution server 200, and a management server 300. The information processing device 100 is a device that executes data processing. In addition to a personal computer, the information processing device 100 may be any of a variety of devices that have a data processing function and can be connected to the processing execution server 200 and management server 300, which are external devices, via a network.

[0012] The processing execution server 200 is a server that acquires data from the information processing device 100 and executes processing. The processing execution server 200 is a server provided on a network, and may be configured as a single server machine, or may be realized by a virtual server or cloud server in which the functions of the processing execution server 200 are realized by multiple servers. The processing execution server 200 is an example of an external server. The management server 300 is a storage server that stores and manages data. The management server 300 stores data of the processing results by the information processing device 100 and the processing execution server 200. The management server 300 is an example of an external device.

[0013] The information processing device 100, the process execution server 200, and the management server 300 are connected via a network. In the configuration shown in Fig. 1, a firewall 400 is set up between the information processing device 100 and the process execution server 200, and the information processing device 100 and the management server 300 are protected by this firewall 400. Therefore, the information processing device 100 can access the process execution server 200, but the process execution server 200 cannot access the information processing device 100 or the management server 300 beyond the firewall 400.

[0014] As described above, the information processing device 100 can be realized using various devices that perform data processing. As an example, consider a case where the information processing device 100 is realized by an image processing device. Hereinafter, this image processing device as the information processing device 100 will be referred to as the "image processing device 100" by adding the reference numeral of the information processing device 100. In the system shown in FIG. 1 , the image processing device 100 requests the processing execution server 200 to perform part of the processing on the data to be processed, such as an image. The processing execution server 200 processes the image acquired from the image processing device 100. Then, upon receiving a request from the image processing device 100, the processing execution server 200 returns the processing result for the image to the image processing device 100. The image processing device 100 sends the processing result data acquired from the processing execution server 200 to the management server 300.

[0015] Consider a specific example of how the image processing device 100 and the processing execution server 200 are used. For example, the image processing device 100 scans an image of a form, such as an invoice or receipt, and requests the processing execution server 200 to analyze the image of the form. Alternatively, the image processing device 100 may acquire electronic data of the form and request the processing execution server 200 to analyze the form based on the electronic data. Hereinafter, this form image data and electronic data will be collectively referred to as "form data." The processing execution server 200 analyzes the form data acquired from the image processing device 100 and performs data processing according to the form content recognized based on the analysis results. The processing execution server 200 also identifies a storage location for the analysis results and data processing results based on the form content. Then, in response to a request from the image processing device 100, the processing execution server 200 returns the analysis results of the form data and the results of data processing according to the form content. The image processing device 100 sends the analysis results and data processing results acquired from the processing execution server 200 to the management server 300, where they are stored.

[0016] <Configuration of information processing device 100> 2 is a diagram showing the configuration of image processing device 100. Here, the configuration of image processing device 100 will be described as an example of information processing device 100. Image processing device 100 includes control unit 110, storage unit 120, operation unit 130, display unit 140, image reading unit 150, image forming unit 160, communication unit 170, and image processing unit 180. Each of these functional units is connected to bus 101, and exchanges data via this bus 101.

[0017] The control unit 110 controls the above-mentioned functional units in the image processing device 100. The control unit 110 is also a functional unit that executes various types of data processing. The control unit 110 includes a central processing unit (CPU) 111, which is a calculation means, and a random access memory (RAM) 112 and a read-only memory (ROM) 113, which are storage means. The RAM 112 is a main memory and is used as a working memory when the CPU 111 performs calculations. The ROM 113 stores programs and data such as pre-prepared setting values, and the CPU 111 reads the programs and data directly from the ROM 113 to execute the processing. The programs and data are also stored in the storage unit 120. The CPU 111 loads the programs stored in the storage unit 120 into the RAM 112 and executes them. The various data processing and control functions of the image processing device 100, which will be described later, are realized, for example, by the CPU 111 executing programs.

[0018] The storage unit 120 is a functional unit that stores programs and data to be executed by the CPU 111 as described above, as well as various data generated by various operations, such as image data read by the image reading unit 150. The storage unit 120 is realized by a storage device such as a magnetic disk device or an SSD (Solid State Drive).

[0019] The operation unit 130 is a functional unit that accepts user operations. The operation unit 130 is configured, for example, by hardware keys, a touch sensor that outputs a control signal according to the position pressed or touched by a finger, etc. The operation unit 130 may be configured as a touch panel that combines a touch sensor with a liquid crystal display that constitutes the display unit 140.

[0020] The display unit 140 is a functional unit that displays information images that present various information to the user, preview images of images to be processed such as read or output, operation images for the user to perform operations, etc. The display unit 140 is configured, for example, with a liquid crystal display. The above-mentioned operation unit 130 and the display unit 140 can be combined to be used as a user interface means for the user to input and output information to and from the image processing device 100.

[0021] The image reading unit 150 is a functional unit that optically reads an image on a document. Examples of image reading methods include a CCD method in which light irradiated onto a document from a light source is reduced by a lens and reflected light is received by a CCD (Charge Coupled Device), and a CIS method in which light irradiated onto a document in sequence from an LED (Light Emitting Diode) light source is received by a CIS (Contact Image Sensor).

[0022] The image forming unit 160 is a functional unit that forms an image based on image data on a recording material such as paper using an image forming material. As a method for forming an image on a recording material, for example, an electrophotographic method is used in which toner is used as the image forming material and the toner attached to a photosensitive member is transferred to the recording material to form an image.

[0023] The communication unit 170 is a functional unit that transmits and receives commands and data to and from an external device. An interface according to the communication method with the external device is used as the communication unit 170. The connection with the external device may be via a network or may be a direct connection. The communication line may be a wired line or a wireless line.

[0024] The image processing unit 180 is a functional unit that includes a processor as a calculation means and a working memory, and performs image processing such as color correction and gradation correction on an image represented by image data. Note that the CPU 111 of the control unit 110 may serve as the processor, and the RAM 112 of the control unit 110 may serve as the working memory.

[0025] <Data transfer and processing procedures> Next, a description will be given of the procedure for transferring and processing data between the image processing device 100 and the processing execution server 200. In the following description, the above-mentioned form data will be used as an example of data to be processed.

[0026] The image processing device 100 accesses the processing execution server 200, causes the processing execution server 200 to execute part of the processing, such as analysis, on the form data to be processed, and obtains the processing results. Here, the image processing device 100 executes, as separate jobs, the operation of sending the form data to be processed to the processing execution server 200 and the operation of obtaining the processing results from the processing execution server 200. Hereinafter, the operation of sending the data to be processed to the processing execution server 200 will be referred to as a first job, and the operation of obtaining the processing results from the processing execution server 200 will be referred to as a second job.

[0027] By dividing these operations into separate jobs, after the first job is completed and before the second job is started, the image processing device 100 can release resources such as memory space used to execute the jobs and use them to execute other processes. However, because these operations are divided into separate jobs, a mechanism is required for the image processing device 100 and the process execution server 200 to recognize that these jobs are related jobs relating to the same processing target. Here, as an example, a job ID is set as identification information used to identify related jobs.

[0028] Furthermore, the process execution server 200 cannot access the image processing device 100 through the firewall 400. Therefore, in order for the process execution server 200 to send the processing results to the image processing device 100, the image processing device 100 must issue a request to the process execution server 200 to send the processing results. This requires a mechanism for the image processing device 100 to recognize that the processing by the process execution server 200 has been completed. Here, it is assumed that the image processing device 100 performs an operation to inquire of the process execution server 200 as to whether or not the processing has been completed.

[0029] 3 is a sequence diagram showing data exchange between the image processing device 100 and the process execution server 200 for the first job. First, the image processing device 100 (referred to as "information processing device" in the figure) makes a connection request to the process execution server 200 (a). In response to this connection request, the process execution server 200 generates a job ID and sends it to the image processing device 100 (b). When the image processing device 100 acquires the job ID from the process execution server 200, it adds the acquired job ID to the form data to be processed and sends it to the process execution server 200 (c).

[0030] When the processing execution server 200 receives the data to be processed and the job ID, it executes processing on the received form data (d). Here, the processing execution server 200 analyzes the received form data and recognizes the contents of the form. Then, the processing execution server 200 executes data processing according to the recognized contents of the form. Depending on the contents of the data processing, the processing execution server 200 may add information obtained by executing the data processing to the processing result as additional information. For example, when the image processing device 100 stores the processing result by the processing execution server 200 in the management server 300, and if information on the storage destination is obtained from the results of the analysis and data processing by the processing execution server 200, the information on the storage destination is added to the processing result.

[0031] 4 is a sequence diagram showing data exchange between the image processing device 100 and the processing execution server 200 for the second job. After transmitting form data to the processing execution server 200, the image processing device 100 (referred to as "information processing device" in the figure) makes an inquiry to receive a notification of processing completion from the processing execution server 200 (e). The inquiry is made, for example, by long polling. Upon receiving the inquiry from the image processing device 100, the processing execution server 200 completes data processing (d), and then responds to the inquiry to notify the image processing device 100 that the data processing has been completed (f).

[0032] When the image processing device 100 receives a notification from the process execution server 200 indicating that the data processing has been completed, it transmits a request to the process execution server 200 to send the processing results together with the job ID acquired for the first job (g). In response to the transmission request received from the image processing device 100, the process execution server 200 returns the processing results corresponding to the job ID to the image processing device 100 (h). The image processing device 100 transmits the processing results acquired from the process execution server 200 to the management server 300 (i). At this time, if additional information is added to the processing results, the image processing device 100 may execute processing on the processing results acquired from the process execution server 200 based on the acquired additional information. For example, if information on the storage destination of the processing results is added to the processing results as additional information, the image processing device 100 transmits the processing results to the storage destination based on the additional information.

[0033] As described above, in this embodiment, in response to an access from the image processing device 100 to the process execution server 200, the process execution server 200 issues a job ID, and this job ID is shared between the image processing device 100 and the process execution server 200. The image processing device 100 then adds this job ID to the data to be sent to the process execution server 200 for the first job and to the transmission request for obtaining the processing results for the second job. This enables the process execution server 200 to recognize that the data to be processed that was received earlier and the transmission request for the processing results that was received later are from related jobs.

[0034] Furthermore, after transmitting the data to be processed to the process execution server 200, the image processing device 100 queries the process execution server 200 regarding the completion of the process. By responding to this query, the process execution server 200 can notify the image processing device 100 that the processing has been completed across the firewall 400, and the image processing device 100 can recognize that the processing in the process execution server 200 has been completed. The method for this query is not particularly limited as long as the response from the process execution server 200 allows the query to pass through the firewall 400. As an example, using long polling as described above can reduce the cumbersome process of the image processing device 100 having to repeatedly query the process execution server 200 until it receives a response, as occurs with normal polling, etc.

[0035] <Operation of information processing device> FIG. 5 is a flowchart showing the operation of the information processing device 100. Note that in this operation example, the above-mentioned form data will also be described as an example of data to be processed. The image processing device 100 as the information processing device 100 first connects to the process execution server 200, acquires and saves a job ID from the process execution server 200 (S501). The acquired job ID is stored, for example, in the storage unit 120 shown in FIG. 2. Next, the image processing device 100 attaches the acquired job ID to the form data to be processed and transmits it to the process execution server 200 (S502). This starts data processing in the process execution server 200. The above operation corresponds to the operation of the first job by the information processing device 100.

[0036] Next, the image processing device 100 makes an inquiry to the process execution server 200 regarding the completion of the process (S503). The inquiry is made by, for example, long polling. When the image processing device 100 receives a response to the inquiry from the process execution server 200 (S504), the image processing device 100 sends a request to send the processing results to the process execution server 200, along with the job ID acquired in S501 (S505). The image processing device 100 then acquires the processing results from the process execution server 200 (S506). The operations subsequent to the request to send the processing results shown in S505 correspond to the operations of the information processing device 100 for the second job.

[0037] Next, the image processing device 100 determines whether additional information has been added to the acquired processing result. Here, it is assumed that information indicating the storage destination of the processing result can be added as additional information. For example, if the path of the management server 300 as the storage destination is specified depending on the type of form to be processed, or if the storage destination is recorded in the document of the form, the storage destination of the processing result is specified as a result of processing the form data by the processing execution server 200. In such cases, information on the storage destination specified by data processing is added to the processing result as additional information.

[0038] If additional information is added to the processing result (YES in S507), the image processing device 100 then determines, based on the additional information, whether or not a change is required in the parameters of the process to be executed on the processing result of the processing execution server 200. For example, in the example in which the storage destination information is added, if the storage destination is determined in advance to be the management server 300 and the path of the management server 300 is specified by the additional information, the path must be added as a parameter in the storage destination information. Also, if the storage destination is determined in advance up to the path of the management server 300, but the path specified by the additional information is different from the predetermined path, the path must be changed as a parameter in the storage destination information. On the other hand, if the storage destination is determined in advance up to the path of the management server 300 and the path specified by the additional information is the same as the predetermined path, the path must not be changed as a parameter in the storage destination information.

[0039] If the parameters need to be changed (YES in S508), the image processing device 100 changes the relevant parameters based on the additional information (S509). Then, the image processing device 100 transmits the processing results to the management server 300, which is a storage server, in accordance with the changed parameters, and stores them (S510). Also, if no additional information is added to the processing results acquired from the processing execution server 200 (NO in S507) or if there is no need to change the parameters based on the additional information (NO in S508), the image processing device 100 transmits the processing results to the management server 300 in accordance with the original settings, and stores them (S510).

[0040] <Processing execution server operation> 6 is a flowchart showing the operation of the process execution server 200. When the process execution server 200 receives a connection request from the image processing device 100, it generates and saves a job ID and transmits the generated job ID to the image processing device 100 (S601). Thereafter, the process execution server 200 receives the form data to be processed, to which the job ID has been added, from the image processing device 100 (S602). The process execution server 200 also receives an inquiry from the image processing device 100 regarding the completion of processing (S603).

[0041] The processing execution server 200 executes processing on the received form data (S604), and when the processing is complete, transmits a response to the inquiry accepted in S603 to the image processing device 100 (S605, S606). After that, when the processing execution server 200 receives a processing result acquisition request with the job ID generated in S601 added from the image processing device 100 (YES in S607), it transmits the processing result corresponding to the received job ID to the image processing device 100 (S608).

[0042] On the other hand, if there is no need to send the processing results to the image processing device 100, no request to send the processing results is sent from the image processing device 100 (NO in S607), and the processing execution server 200 ends the processing. A case where there is no need to send the processing results to the image processing device 100 is a case where the image processing device 100 does not process the processing results of the processing execution server 200. For example, this may be the case where the processing results are not returned to the image processing device 100 but are retained in the processing execution server 200, or where they are stored in a server located outside the firewall 400 (on the same side as the processing execution server 200). Whether or not there is a need to send the processing results to the image processing device 100 is predetermined, and may be specified when the form data to be processed is received, or may be identified as a result of data processing.

[0043] <Response to changes in shared information> In this embodiment, the information processing device 100 executes two separate jobs: a first job, which is the operation of sending data to be processed to the processing execution server 200, and a second job, which is the operation of obtaining the processing results from the processing execution server 200. After the first job is completed, the image processing device 100 releases resources such as memory space used to execute the job, making them available for use in executing other processes. Now, consider a case where an operation to change shared information (information shared by multiple users) is performed in the image processing device 100 after the first job is completed and before the second job is started.

[0044] It is assumed that shared information is stored in the storage unit 120 (see FIG. 2) of the image processing device 100. The shared information may include, for example, a shared address book. As described above, after the first job is completed, the resources of the image processing device 100 are released, and the user can access the storage unit 120 and change the stored data, except for data for which editing is restricted. In the following, changing an address recorded in the shared address book will be described as an example of editing shared information.

[0045] As a specific example, consider a case where data transmitted to the processing execution server 200 by a first job is accompanied by information about the storage destination of the processing results obtained by a second job, and this storage destination is specified by information in a shared address book. Specifically, for example, a registration number in the address book, in which an address corresponding to the storage destination of the processing results is recorded, is added to the transmitted data. After the first job is completed, the address registered in the address book with the registration number corresponding to the additional information of the transmitted data is changed. In this case, when the image processing device 100 obtains the processing results by the second job, it searches the address book based on the additional information and transmits the processing results to the address registered with the corresponding registration number. However, because the address with the corresponding registration number in the address book has changed, the processing results are sent to a destination different from the destination intended when the first job was executed.

[0046] To solve the above-mentioned problem, the image processing device 100 temporarily stores the shared information used in the first job in a management table, and uses the information stored in this management table in the second job. The management table is an example of a temporary storage unit. Taking the address book example above as an example, when the image processing device 100 adds additional information to the transmission data in the first job, it records the address book registration number, which is the additional information, in association with the job identification information in the management table. Even if the address book is rewritten, the information in the management table corresponding to the rewritten information is maintained as it was before the rewriting. The job identification information recorded in the management table may be the job ID assigned to the first job by the processing execution server 200, or may be the file name of the data to be processed, the user ID, or the like.

[0047] 7A and 7B are diagrams showing the relationship between a shared address book and a management table. Fig. 7A shows the contents of the address book before the change, and Fig. 7B shows the contents of the address book and the management table after the change. Here, it is assumed that a shared address book (referred to as a "common address book" in the figure) 121 and a management table 122 are stored in storage unit 120 shown in Fig. 2.

[0048] In the example shown in Figures 7(A) and (B), address book 121 records information for each record in the fields of "destination number," "destination," and "file path." The "destination number" records the registration number of the data in the address book. The "destination" records information about the server to which the data to be processed is to be sent. The server information only needs to be able to identify the server, and for example, the server name or address is registered. The "file path" records the location where the data file is stored on the destination server. Note that for simplicity, only one record is shown in address book 121 in Figures 7(A) and (B), but in reality, multiple records may be registered.

[0049] 7B, the management table 122 records information for each record in the fields of "destination number," "destination," "file path," "job," and "user." Of these fields, "destination number," "destination," and "file path" are the same as the corresponding fields in the address book 121. When a record in the management table 122 is created, the information recorded for the corresponding destination number in the address book 121 is registered. In the "job" field, information about the first job that triggered the creation of the record in the management table 122 is recorded. The information about the first job may be any information that can identify the job, such as a local ID assigned by the image processing device 100, or a job ID assigned by the process execution server 200 to ensure job coordination. In the "user" field, information about the user who executed the first job that triggered the creation of the record in the management table 122 in the image processing device 100 is recorded. The information about the user may be any information that can identify the user, such as a user name or user ID. Although only one record is shown in the management table 122 in FIG. 7B for simplicity, a record is created in the management table 122 and information is registered therein each time the first job is executed.

[0050] 7(A), it is assumed that user A performs a first job on the image processing device 100, causing the image processing device 100 to add destination number "1" from the address book 121 to the data to be processed (transmission data) as additional information indicating the storage destination of the processing results, and transmit the data to the processing execution server 200. At this time, in the address book 121, the record for destination number "1" has "server A" recorded as the destination and "folder A" as the file path. Therefore, user A intends to store the processing results by the processing execution server 200 in folder A of server A, which is the management server 300.

[0051] In conjunction with the execution of the first job, the image processing apparatus 100 creates a record in the management table 122 and registers, in the created record, the information recorded in the record for the destination number "1" added to the transmission data. The image processing apparatus 100 also records, in the created record in the management table 122, the identification information of the first job and information about user A. In the record for destination number "1" in the management table 122 shown in FIG. 7(B), "Server A" is recorded as the destination and "Folder A" as the file path, as well as "Job A" as the job identification information and "User A" as the user information. The first job is executed after user authentication, and information about user A identified by the authentication result is recorded in the management table 122.

[0052] Next, assume that before a second job related to the above-mentioned first job (job A) is executed, the information in the record with destination number "1" in address book 121 is rewritten by a user other than user A. In the record with destination number "1" in address book 121 shown in FIG. 7(B), the destination has been rewritten to "server C" and the file path to "folder C." Meanwhile, the information in the record with destination number "1" in management table 122 remains in the state it was in before the rewriting.

[0053] In this state, it is assumed that user A executes a second job related to the first job (job A) in the image processing device 100, and the processing result by the processing execution server 200 is acquired. This processing result includes additional information indicating the storage destination that was added to the transmission data in the first job. The image processing device 100 extracts the destination number "1" from the additional information of the acquired processing result and searches for the destination of the processing result. At this time, the image processing device 100 searches the management table 122 instead of the address book 121. The image processing device 100 then sends the processing result to the searched storage destination. As a result, the data of the processing result by the processing execution server 200 is stored in folder A of server A, which was intended by user A when the first job was executed.

[0054] In the above example, a record in management table 122 is created each time a first job is executed. Therefore, for example, if there are multiple first jobs in which the destination number of the same record in address book 121 is added as additional information to the data to be processed, a record corresponding to each job is created individually. As a specific example, consider a case in which additional information recording the destination number "1" in address book 121 shown in FIG. 7 is added to each of first jobs A, B, and C as information indicating the storage destination of the processing results. In this case, when each job is executed, a record in which "Job A" is registered in the job field, a record in which "Job B" is registered in the job field, and a record in which "Job C" is registered in the job field are created in management table 122, respectively. Therefore, even if there are multiple records in management table 122 in which the same destination number is recorded, the record to be referenced as the storage destination of the second job can be identified by referring to the job information registered in the job field.

[0055] Also, consider a case where the address book 121 is changed multiple times while the above jobs A, B, and C are being executed. As a specific example, assume that the record of destination number "1" in the address book 121 initially has the destination as "Server A" and the file path as "Folder A" as shown in FIG. 7A. Then, after execution of job A, assume that the destination is rewritten to "Server B" and the file path to "Folder B" in the record of destination number "1." Furthermore, assume that after execution of job B, the destination is rewritten to "Server C" and the file path to "Folder C" in the record of destination number "1."

[0056] In this case, in management table 122, in a record in which "Job A" is registered in the job item, "Server A" is recorded as the destination and "Folder A" is recorded as the file path. Then, in a record in which "Job B" is registered in the job item, which is created after the first change to address book 121, "Server B" is recorded as the destination and "Folder B" is recorded as the file path. Also, in a record in which "Job C" is registered in the job item, which is created after the second change to address book 121, "Server C" is recorded as the destination and "Folder C" is recorded as the file path. Therefore, in the second job corresponding to job A, the processing result data is stored in Folder A of server A. Also, in the second job corresponding to job B, the processing result data is stored in Folder B of server B. Also, in the second job corresponding to job C, the processing result data is stored in Folder C of server C.

[0057] <Handling of changes to shared information by the same user> In the above example, the address book 121 was rewritten by a user other than user A who executes the first and second jobs. In contrast, if the corresponding record in the address book is rewritten by user A himself, it can be said that the storage destination of the processing result has been changed at the intention of user A. Therefore, in this case, unlike the above example, it is conceivable that the corresponding information in management table 122 will also be changed.

[0058] Here, the user may be identified by, for example, user authentication when the address book 121 is changed. Specifically, first, user authentication is performed when the first job is executed, and user information is recorded in the record of the created management table 122. Here, it is assumed that user A performed the first job. Next, a user who attempts to change the address book 121 performs a user authentication operation, and if the authentication result is user A, the image processing device 100 recognizes that the change to the address book 121 was performed by user A himself / herself. On the other hand, if the authentication result is not user A, the image processing device 100 recognizes that the change to the address book 121 was performed by a user other than user A. If the user who attempts to change the address book 121 does not perform a user authentication operation, in other words, if a user who has not undergone user authentication attempts to change the address book 121, the image processing device 100 recognizes that the change to the address book 121 was performed by a user other than user A.

[0059] 8A and 8B are diagrams showing the relationship between the shared address book and the management table when the same user who executed the first job changes the shared address book. FIG. 8A shows the contents of the address book before the change, and FIG. 8B shows the contents of the address book and the management table after the change. In the example shown in FIG. 8, it is assumed that the first job was executed, the address book 121 was rewritten, and the second job was executed in the same manner as in the example described with reference to FIG. 7. However, unlike the example described with reference to FIG. 7, it is assumed that the address book 121 was rewritten by user A, the same user who executed the first job and the second job.

[0060] In the example shown in Fig. 8, at the time when the first job (job A) was executed, the registered information for destination number "1" in address book 121 was "server A" as the destination and "folder A" as the file path, as shown in Fig. 8(A). Then, by rewriting address book 121, the registered information for destination number "1" in address book 121 was changed to "server C" as the destination and "folder C" as the file path, as shown in Fig. 8(B).

[0061] Furthermore, since this rewrite of the address book 121 was performed by user A who executed the first job (job A), the registration information for destination number 1 in management table 122 was also changed to have the destination as "server C" and the file path as "folder C," as shown in Figure 8(B).

[0062] In this state, it is assumed that user A executes a second job related to the first job (job A) in the image processing device 100, and the processing result is acquired by the processing execution server 200. Then, the image processing device 100 extracts the destination number "1" from the additional information of the acquired processing result, searches the management table 122 for the destination of the processing result, and sends the processing result to the searched storage destination. As a result, the data of the processing result by the processing execution server 200 is stored in folder C on server C, which is the storage destination changed by user A after the execution of the first job.

[0063] In the above example, when the address book 121 is changed by the user who executed the first job, the image processing device 100 immediately reflects the changes in the management table 122. On the other hand, when the address book 121 is changed by the user who executed the first job, the image processing device 100 may inquire of the user whether or not to reflect the changes in the management table 122. The inquiry is made, for example, by displaying a message on the display unit 140 shown in FIG. 2. When the user inputs an instruction to reflect the changes, the image processing device 100 reflects the changes in the address book 121 in the management table 122 (see FIG. 8B). On the other hand, when the user inputs an instruction not to reflect the changes, the image processing device 100 retains the contents of the management table 122 regardless of the changes in the address book 121 (see FIG. 7B).

[0064] 9 is a flowchart showing the operation of the image processing device 100 when a change is made to the shared address book 121. In this operation example, when the address book 121 is changed by the user who executed the first job, the image processing device 100 inquires of the user whether or not to reflect the changes in the management table 122.

[0065] After the first job is performed, when the image processing apparatus 100 receives an instruction to change the address book 121 (referred to as "common address book" in the drawing) (S901), it refers to the management table 122 to check whether or not there is a corresponding record (referred to as "corresponding record" in the drawing) (S902). A corresponding record is a record in the management table 122 in which information recorded in the record to be changed in the address book 121 is registered. If there is no corresponding record (NO in S903), the image processing apparatus 100 changes the record to be changed in the address book 121 and ends the process (S908).

[0066] On the other hand, if there is a corresponding record (YES in S903), the image processing device 100 then determines whether the user who performed the change operation in the address book 121 is the same as the user who executed the first job. If they are different users (NO in S904), the changes in the address book 121 are not reflected in the management table 122, and therefore the image processing device 100 changes only the record to be changed in the address book 121 and ends the process (S908).

[0067] On the other hand, if it is the same user (YES in S904), the image processing device 100 inquires of the user whether or not to change the management table 122 (S905). If the image processing device 100 receives a user instruction to change the management table 122 (YES in S906), the image processing device 100 changes the address book 121 and also changes the management table 122 to reflect the changes (S907). On the other hand, if the image processing device 100 receives a user instruction not to change the management table 122 (NO in S906), the image processing device 100 changes only the record to be changed in the address book 121 without changing the management table 122, and ends the process (S908).

[0068] <Reflection of changes to shared information based on the processing results of the processing execution server> When processing of data to be processed is requested to the processing execution server 200, the storage destination of the processing results may be determined depending on the results of the processing performed by the processing execution server 200. For example, the type of document data to be processed may be identified based on the results of the analysis processing performed by the processing execution server 200, and the storage location of the document may be determined depending on this type, or the storage destination may be described in the text of the document data to be processed and read by the analysis performed by the processing execution server 200. In such cases, the storage destination of the processing results is determined based on information obtained from the data to be processed by the processing performed by the processing execution server 200.

[0069] Here, if information on the storage destination of the processing results is added to the data to be processed that was sent in the first job, this additional information may differ from the information on the storage destination determined by the processing of the processing execution server 200. In other words, this is the case when the information recorded in the corresponding record in the management table 122 differs from the information obtained from the data to be processed by the processing of the processing execution server 200. In such a case, it is considered that, in principle, the information obtained from the data to be processed is given priority.

[0070] Furthermore, the image processing device 100 may change its response depending on whether or not there is a conflict between the information in the management table 122 (hereinafter referred to as "first information") and the information obtained from the data to be processed by the processing execution server 200 (hereinafter referred to as "second information"). A case in which the first information and the second information are inconsistent would be, for example, if the first information and the second information specify different servers or paths as information indicating the storage destination of the processing results. On the other hand, a case in which the first information and the second information are not inconsistent would be, for example, if one of the first information and the second information is inclusive of the content of the other. For example, this would be the case if one of the pieces of information indicating the storage destination of the processing results specifies a path that is lower in level than the other. Specifically, this would be the case where the first information specifies folder A on server A, as shown in FIG. 7A, and the second information specifies a subfolder in folder A on server A.

[0071] If the first information and the second information are inconsistent, the image processing device 100, for example, inquires of the user as to which information to use and uses the information specified by the user. The inquiry is made, for example, by displaying a message on the display unit 140 shown in FIG. 2. On the other hand, if the first information and the second information are not inconsistent, the image processing device 100 prioritizes the second information, which is information obtained from the data to be processed. The information to be prioritized may also be specified depending on the type of information. For example, in the case of the above-mentioned storage destination information, information specifying a lower-level path may be prioritized.

[0072] When the first information and the second information are different and the second information takes priority, the image processing device 100 may simply prioritize and use the second information, which is the information acquired from the process execution server 200, regardless of the information recorded in the management table 122, which is the first information. Also, the image processing device 100 may update the information in the management table 122 based on the second information, and use the updated information in the management table 122.

[0073] FIG. 10 shows a state in which the information in the management table 122 has been updated using information obtained from the process execution server 200. FIG. 10(A) shows the state of the management table 122 before the update, and FIG. 10(B) shows the state after the update. Assume that the address book 121 has been changed after the first job has been executed, and that the address book 121 and management table 122 are in the state shown in FIG. 7(B) before the second job is executed. Assume also that storage destination information has been added to the processing result information obtained from the process execution server 200 in the second job. Assume also that this additional information specifies the folder "Invoice" set in the storage device "Store" of server A as the storage destination.

[0074] 10, the image processing device 100 executes the second job and, upon receiving the additional information from the processing execution server 200, updates the file path item in the corresponding record in the management table 122 based on the additional information. Here, the information in the file path item is changed to "Store / Bill," which indicates the folder "Bill" in the storage device "Store." Thereafter, the image processing device 100 stores the processing results of the processing execution server 200 in the storage destination specified by the information in the updated record in the management table 122.

[0075] <Other application examples> In the above embodiment, an example has been described in which the second job is the transmission of the processing results by the processing execution server 200 to the management server 300, but the second job is not limited to the above processing. This embodiment can be applied to various processes in which, when part of a series of processes by the information processing device 100 is requested to the processing execution server 200, the operations up to transmitting the data to be processed to the processing execution server 200 and the operations after the processing result is obtained by the processing execution server 200 are performed as separate jobs.

[0076] As an example, consider a case where an image processing device 100 serving as an information processing device 100 sends an image to a processing execution server 200 to perform image processing, and the processed image is returned to the image processing device 100 for printing. The image processing device 100 has multiple trays that hold paper of different sizes as print media, and can select a tray depending on the size of the paper to be printed. Setting information indicating the correspondence between each tray and the type of paper it holds is stored as shared information, for example, in the storage unit 120 (see FIG. 2).

[0077] In the first job, the image processing device 100 adds additional information to the image to be processed and transmits it to the processing execution server 200, requesting image processing. The additional information is assumed to include identification information of the tray that holds the paper used to print the processed image.

[0078] As a specific example, when the first job is executed, A4 paper is held in tray 1, A3 paper in tray 2, and A5 paper in tray 3, and in the first job, the identification information of tray 1 is added as additional information to the image to be processed.

[0079] Here, it is assumed that after the first job is executed, the tray settings in the common information are changed and the type of paper held in each tray is changed. At this time, the image processing device 100 registers information in a tray management table (not shown) serving as an example of a primary storage means, in which each tray before and after the setting change is associated with the size of paper held in each tray.

[0080] In the previous example, it is assumed that the tray settings have been changed so that A5 paper is held in Tray 1, A3 paper in Tray 2, and A4 paper in Tray 3. In this case, information that indicates that Tray 1 held A4 paper before the change and A5 paper after the change, information that indicates that Tray 2 held A3 paper before the change and A3 paper after the change, and information that indicates that Tray 3 held A5 paper before the change and A4 paper after the change are registered in the records associated with each tray in the tray management table. Also, as described with reference to Figures 7 to 9, job information and user information for identifying jobs that require the information in each record are registered in the tray management table.

[0081] Next, for the second job, the image processing device 100 obtains an image of the processing result from the process execution server 200. This processing result is accompanied by additional information indicating the tray that was added to the transmission data for the first job. The image processing device 100 identifies the specified tray based on this additional information and references the corresponding record in the tray management table. Then, from the information in the referenced record, the image processing device 100 determines in which tray the paper that was held in the tray identified by the additional information when the first job was executed is held after the setting change. The image processing device 100 then performs print output for the second job using the paper in the identified tray.

[0082] In the previous example, the tray information obtained from the additional information of the processing result is "Tray 1." The image processing device 100 references the tray management table and recognizes that the A4 paper that was held in Tray 1 is now held in Tray 3 after the setting change. Therefore, the image processing device 100 prints out the image of the processing result by the processing execution server 200 using the paper in Tray 3.

[0083] As described above, this embodiment can be applied to various processes performed in the first job and the second job when part of a series of processes performed by the information processing device 100 is requested to the process execution server 200.

[0084] Although the embodiments of the present invention have been described above, the technical scope of the present invention is not limited to the above embodiments. For example, in the embodiment described with reference to Figures 7 to 9, the shared information recorded in the additional information is stored in the primary storage unit when the first job is executed. However, as described in the application example above, when the shared information is changed, the changed shared information may be stored in the primary storage unit.

[0085] Furthermore, in the above embodiment, it is assumed that the shared information stored in the storage device (storage unit 120) provided in the information processing device 100 is changed, and the information before the change is stored in the primary storage unit. In contrast, this embodiment can also be applied to a case where shared information recorded in a storage device external to the information processing device 100 is used. In this case, too, when the first job is executed or the shared information is changed, the shared information recorded in the additional information or the changed shared information can be stored in the primary storage unit and used in the second job. In this embodiment, the primary storage unit may be the storage device (storage unit 120) of the information processing device 100, or an external storage device. Various other modifications and alternative configurations that do not depart from the scope of the technical concept of the present invention are included in the present invention. [Explanation of symbols]

[0086] 100...information processing device (image processing device), 110...control unit, 111...CPU, 112...RAM, 113...ROM, 120...storage unit, 121...address book, 122...management table, 130...operation unit, 140...display unit, 150...image reading unit, 160...image forming unit, 170...communication unit, 180...image processing unit, 200...processing execution server, 300...management server

Claims

1. a processor; The processor: As a first job, the device connects to an external server that can be connected to, specifies shared information stored in a storage device that can be shared by a plurality of jobs, instructs the external server to execute processing, stores the specified shared information in temporary storage means, and releases resources used in the first job; acquiring a result of the processing by the external server as a second job separate from the first job, and executing the processing using the shared information designated in the first job and held in the temporary storage means; An information processing device characterized in that, when an operation to change the shared information is performed after the first job is executed and before the second job is started, the shared information stored in the storage device is changed, and the shared information stored in the temporary storage means is not changed.

2. 2. The information processing device according to claim 1, wherein the processor performs user authentication when executing the first job and when accepting a change operation to the shared information, and if the user performing the first job and the change operation is the same, changes the shared information stored in the temporary storage means in accordance with the change operation, along with the shared information stored in the storage device.

3. 3. The information processing device according to claim 2, wherein, when the user who performs the change operation for the first job and the shared information is the same, the processor inquires the user as to whether or not to change the shared information stored in the temporary storage means in accordance with the change operation, and when an instruction to change is received, the processor changes the shared information in the temporary storage means.

4. The processor: In the first job, the data to be processed is transmitted to the external server together with instruction information specifying a destination of a processing result by the external server as the shared information, and the instruction information and information on the destination specified by the instruction information are stored in the temporary storage means; 2. The information processing device according to claim 1, characterized in that in the second job, the instruction information is received from the external server along with data of the processing result for the data to be processed, information of the destination is obtained from the temporary storage means based on the instruction information, and the data of the processing result is transmitted to the destination based on the obtained information.

5. In the second job, when the data of the processing result received from the external server is added with information of a destination created by the external server, If there is no contradiction between the destination information acquired from the temporary storage means based on the instruction information and the destination information created by the external server, transmitting the processing result data based on the destination information created by the external server; 5. The information processing device according to claim 4, characterized in that, if there is a contradiction between the destination information obtained from the temporary storage means based on the instruction information and the destination information created by the external server, the information processing device inquires of the user as to the destination of the processing result data.

6. On the computer, a function of connecting to an external server connectable from the device itself as a first job, specifying shared information stored in a storage device that can be shared by a plurality of jobs, instructing the external server to execute processing, storing the specified shared information in temporary storage means, and releasing resources used in the first job; a function of acquiring a result of the processing by the external server as a second job separate from the first job, and executing processing using the shared information designated in the first job and stored in the temporary storage means; a function of changing the shared information stored in the storage device and not changing the shared information stored in the temporary storage means when an operation to change the shared information is performed after the first job is executed and before the second job is started; A program characterized by realizing the above.

Citation Information

Patent Citations

  • Plug device

    JP1987064800A

  • Link processing system

    JP1995219751A

  • Changeset conflict rebasing

    US20200117445A1