Information processing apparatus, control method, and program

The information processing apparatus enhances workflow management by integrating job issuing and status acquisition to handle workflows combining multiple online services, improving job execution and status monitoring.

JP2025113577APending Publication Date: 2025-08-04CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024007809
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-23
Publication Date
2025-08-04

AI Technical Summary

Technical Problem

Existing workflow management systems fail to effectively manage the statuses of workflows constructed by combining various online services, as they assume centralized management by a single platform.

Method used

An information processing apparatus that includes job issuing, workflow status acquisition, and action determination means to manage and execute jobs based on the statuses of workflows combining multiple online services.

Benefits of technology

Improves the management of workflows constructed by integrating various online services, enabling efficient job execution and status monitoring across multiple platforms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025113577000001_ABST
    Figure 2025113577000001_ABST
Patent Text Reader

Abstract

To improve the management of the status of workflow built by combining various online services.SOLUTION: An information processing apparatus comprises: job issuing means for causing an image forming apparatus to execute a job; workflow status acquisition means for acquiring, from an external workflow platform, a workflow status of workflow currently being executed for a user who has logged in to the information processing apparatus; job status acquisition means for acquiring a job status regarding the workflow being executed; and action determination means for determining whether an action can be executed based on the workflow status and the job status.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

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

[0002] In recent years, the use of workflow platforms that allow users to build their own workflows and automate tasks has been increasing. These workflow platforms also provide a means for users and third-party developers to add functionality for linking with external online services.

[0003] Meanwhile, efforts are being made to execute jobs on a printer in cooperation with a workflow. Patent Document 1 discloses a method for checking the status of a workflow being executed and displaying an action button according to the status. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent Publication No. 2021-90102 Summary of the Invention [Problem to be solved by the invention]

[0005] However, Patent Document 1 assumes that the workflow platform manages all workflow statuses. Furthermore, Patent Document 1 does not take into consideration the fact that a workflow is built by combining various online services and that statuses are managed by the various online services, as described above. For this reason, there has traditionally been room for improvement in the management of statuses of workflows built by combining various online services.

[0006] The present invention aims to improve the management of the status of a workflow that is constructed by combining various online services.

Means for Solving the Problem

[0007] An information processing apparatus according to an embodiment of the present invention includes: job issuing means for causing an image forming apparatus to execute a job; workflow status acquisition means for acquiring, from an external workflow platform, the workflow status of an ongoing workflow regarding a user logged in to the information processing apparatus; job status acquisition means for acquiring the job status regarding the ongoing workflow; and action determination means for determining whether an action can be executed based on the workflow status and the job status.

Advantages of the Invention

[0008] According to the present invention, it is possible to improve the management of the status of a workflow constructed by combining various online services.

Brief Description of the Drawings

[0009]

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

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Mode for Carrying Out the Invention

[0010] Hereinafter, embodiments of the present invention will be described with reference to the drawings. Note that the following embodiments do not limit the invention according to the claims, and not all combinations of the features described in the embodiments are essential for the solution means of the invention.

[0011] (First Embodiment) <Regarding System Configuration> FIG. 1 is a block diagram showing the configuration of a printing / scan system according to a first embodiment of the present invention. The printing / scan system 100 includes a client device 101, an image forming device 102, a relay server 104, a workflow platform 105, a cloud service 106, and a chat service 107. The image forming device 102 is, for example, an MFP. MFP is an abbreviation for Multi Function Printer.

[0012] Each device included in the printing / scan system 100 can communicate with a communication partner device via the network 103 when it recognizes the address of the communication partner device. Note that the network 103 is, for example, a LAN, a WAN, a telephone line, or a dedicated digital line. LAN is an abbreviation for Local Area Network. WAN is an abbreviation for Wide Area Network. Also, the network 103 is, for example, an ATM, a frame relay line, a cable TV line, or a wireless line for data broadcasting. ATM is an abbreviation for Asynchronous Transfer Mode. Also, the network 103 is, for example, a so-called communication network such as the Internet realized by a combination of the above-mentioned lines. In this embodiment, it is assumed that communication between the devices constituting the printing / scan system 100 is performed via the Internet.

[0013] The client device 101 is an example of a first information processing device. In this embodiment, the client device 101 is a PC. PC is an abbreviation for Personal Computer. The client device 101 is not limited to a PC, and various devices such as a mobile terminal, a smartphone, a tablet terminal, a PDA, or a digital camera can be applied as the information processing device. PDA is an abbreviation for Personal Degital Assistant.

[0014] In this embodiment, the client device 101 is equipped with a web browser, and can perform printing and scanning by means of the printing / scan service provided by the relay server 104 using the web browser.

[0015] The image forming apparatus 102 is a multifunction peripheral having a plurality of functions such as a copying function, a fax function, a printing function, and a scanning function. Further, the image forming apparatus 102 is assumed to be a printer (image forming apparatus) that executes a printing function by an electrophotographic method or an inkjet method. Further, the image forming apparatus 102 is equipped with a web browser, and can display the screen of the printing / scan service provided by the relay server 104 using the web browser. The printing / scan system 100 provides a printing / scan service by the relay server 104.

[0016] Note that a workflow is data for executing actions, which are individual processes, in a determined order. Actions are, for example, a process of printing by the image forming apparatus 102 or the like, and a process of scanning by the image forming apparatus 102 or the like. A process related to printing such as a process of printing by the image forming apparatus 102 or the like may be referred to as a print action. A process related to scanning such as a process of scanning by the image forming apparatus 102 or the like may be referred to as a scan action. Actions are not limited to processes related to printing or scanning, and may be processes in which the image forming apparatus such as the image forming apparatus 102 is not involved, such as an approval request, a notification request, a file save, a conditional branch, and a loop process.

[0017] The relay server 104 is an example of a second information processing device. The relay server 104 is a server that provides printing services and scanning services to the client device 101 and the image forming device 102. The printing service is a service that causes the image forming device 102 to print content (data such as image data and document files) transmitted and supplied to the image forming device 102 from a server outside the image forming device 102 via the Internet. The scanning service is a service that enables the image forming device 102 to perform scanning from a server outside the image forming device 102 via the Internet. Further, the scanning service is a service that can transmit image data scanned by the image forming device 102 to an external server via the Internet.

[0018] In the present embodiment, the image forming device 102 is capable of workflow printing, which causes the image forming device 102 to print the content transmitted from the workflow platform 105 to the image forming device 102. Further, the image forming device 102 is capable of workflow scanning, which causes the image forming device 102 to execute scanning and transmit the read image data to the workflow platform 105.

[0019] In the present embodiment, workflow printing and workflow scanning will be described. However, the present invention may be any device that causes the image forming device 102 to execute a job. For example, a copy job that causes the image forming device 102 to perform copying or a job that switches the power ON / OFF may be executed.

[0020] Further, the relay server 104 is not limited to being configured by a single information processing device (for example, a single server PC), and may be configured by a plurality of information processing devices (for example, a plurality of server PCs).

[0021] The workflow platform 105 is an example of a service provided by a third information processing device. The workflow platform 105 is a service that allows users to construct workflows. The workflow platform 105 is a service provided by an OS development company and can be coordinated with services such as cloud storage and chat services provided by the same OS development company to construct a workflow. OS is an abbreviation for Operating System. The workflow platform 105 may be a device external to the relay server 104.

[0022] In addition, the workflow platform 105 has a customization function for coordinating with cloud services other than the OS development company. The workflow platform 105 can, for example, save content to the cloud service 106 or obtain content from the cloud service 106. In this way, the workflow platform 105 can create workflows coordinated with many services.

[0023] The workflow platform 105 has a connector 108. The connector 108 is a component of the workflow that provides a workflow printing function and a workflow scanning function to the workflow constructed on the workflow platform 105. The connector 108 can be connected to the relay server 104 to transmit a printing job to the image forming apparatus 102 to cause the image forming apparatus 102 to perform printing. The connector 108 can be connected to the relay server 104 to cause the image forming apparatus 102 to execute scanning for a scanning job and receive scanned image data.

[0024] In addition, complex processes such as communication between the workflow platform 105 and the relay server 104 and service - to - service authentication are hidden inside the connector 108. Furthermore, the input / output values of the connector 108 are made easier for the user to set. By doing so, the connector 108 enables easy construction of a workflow having the workflow printing function and the workflow scanning function.

[0025] In addition, in this embodiment, the connector 108 provides a workflow printing function and a workflow scanning function. However, it only needs to cooperate with the relay server 104 to cause the image forming apparatus 102 to execute a job. A workflow copy function for causing the image forming apparatus 102 to execute a copy from the workflow platform 105 can also be realized in the present invention. Further, the workflow platform 105 is not limited to being configured by a single information processing apparatus (for example, a single server PC), and may be configured by a plurality of information processing apparatuses (for example, a plurality of server PCs).

[0026] The cloud service 106 is an example of a service provided by a fourth information processing apparatus. The cloud service 106 is a service that can store and download content. Then, the cloud service 106 enables browsing of the content managed by the cloud service 106 on the Web browser or other GUI of the client device 101 or the image forming apparatus 102. The GUI is an abbreviation for Grapical User Interface.

[0027] Note that the cloud service 106 is not limited to being configured by a single information processing apparatus (for example, a single server PC), and may be configured by a plurality of information processing apparatuses (for example, a plurality of server PCs).

[0028] The chat service 107 is an example of a service provided by a fifth information processing apparatus. The chat service 107 can be connected to the relay server 104 to display information on the printing service and the scanning service, and can interactively instruct the execution of a job on the printing service and the scanning service.

[0029] Note that the chat service 107 is not limited to being configured by a single information processing apparatus (for example, a single server PC), and may be configured by a plurality of information processing apparatuses (for example, a plurality of server PCs).

[0030] <Configuration of Each Device> FIG. 2 is a block diagram showing the configuration of the image forming apparatus 102. The image forming apparatus 102 includes a printer unit 201 and a scanner unit 202. In the image forming apparatus 102, the printing function is realized by the printer unit 201, and the scanner function is realized by the scanner unit 202. In the image forming apparatus 102, the copying function is realized by the printer unit 201 and the scanner unit 202.

[0031] The printer unit 201 prints image data received from the outside, image data stored in the disk device 206, document files, etc. on printing paper by a recording method such as an electrophotographic method or an inkjet method. Further, the printer unit 201 also manages toner information including the remaining toner amount or ink information including the remaining ink amount, and paper information including the number of sheets of loaded paper.

[0032] The scanner unit 202 optically reads a document set on a document table (not shown) and converts it into electronic data. Further, the scanner unit 202 converts the optically read image data into a specified file format, transmits it to an external device via a network, or stores it in a storage area such as the disk device 206.

[0033] Also, the copying function is realized when the image data generated by reading the document placed on the document by the scanner unit 202 is transferred to the printer unit 201, and printing based on the image data is executed by the printer unit 201.

[0034] The image forming apparatus 102 further includes a CPU (Central Processing Unit) 203, a program memory 204, a work memory 205, a display unit 207, an operation unit 208, a network communication unit 209, a network connection unit 210, and an authentication unit 211.

[0035] The CPU 203 is a central processing unit for controlling each part within the image forming apparatus 102. The program memory 204 is composed of a ROM or the like, and stores various program codes and an application 212 for communicating with a server device. ROM is an abbreviation for Read Only Memory. Also, the application 212 accesses the printer unit 201 to acquire consumable information such as toner information or ink information, and paper information. The work memory 205 is composed of a RAM or the like, and temporarily stores or buffers image data and the like during the execution of each service. RAM is an abbreviation for Random Access Memory.

[0036] The display unit 207 is composed of, for example, an LCD, and displays various information. LCD is an abbreviation for Liquid Crystal Display. The operation unit 208 is composed of switches, a touch panel, and the like for the user to perform various input operations.

[0037] The network communication unit 209 connects the image forming apparatus 102 to a network and performs various communications. It can be connected to a network such as the Internet via the network connection unit 210. The network communication unit 209 supports wired LAN and wireless LAN. In the case of supporting wired LAN, the network connection unit 210 is a connector for connecting a wired LAN cable, and in the case of supporting wireless LAN, the network connection unit 210 is an antenna.

[0038] The authentication unit 211 is, for example, a card reader for reading an IC card or a biometric authentication device for reading biometric information such as fingerprints. The image forming apparatus 102 performs user authentication based on the authentication information provided by the authentication unit 211 and the operation unit 208. Each of the above-described parts included in the image forming apparatus 102 is interconnected by a bus 213.

[0039] In this embodiment, the computer of the image forming apparatus 102 is constituted by the CPU 203, the program memory 204, and the work memory 205. Further, in the following description, the processing described as being executed by the image forming apparatus 102 is processing realized by the CPU 203 expanding and executing a program stored in the program memory 204 or the like in the work memory 205.

[0040] FIG. 3 is a block diagram showing the configuration of an information processing apparatus corresponding to the client apparatus 101, the relay server 104, the workflow platform 105, the cloud service 106, the chat service 107, and the like. The information processing apparatus includes a CPU 301, a disk device 302, an external storage medium reading device 303, a memory 304, a display unit 305, an operation unit 306, a network communication unit 307, and a network connection unit 308.

[0041] The CPU 301 is a central processing unit for controlling the following respective units. The disk device 302 stores the application 310, the database 311, the OS, and various other files that are read by the CPU 301. The external storage medium reading device 303 is a device for reading information such as files stored in an external storage medium such as an SD card. The memory 304 is constituted by a RAM or the like, and the CPU 301 temporarily stores data and performs buffering or the like as necessary.

[0042] The display unit 305 is constituted by, for example, an LCD and displays various kinds of information. The operation unit 306 includes a keyboard, a mouse, and the like for the user to perform various input operations.

[0043] The network communication unit 307 is connected to a network such as the Internet via the network connection unit 308 and performs various communications. The network communication unit 307 supports wired LAN and wireless LAN. When it supports wired LAN, the network connection unit 308 is a connector for connecting a cable of the wired LAN. When it supports wireless LAN, the network connection unit 308 serves as an antenna. The above-mentioned units included in the information processing apparatus are interconnected by a bus 309.

[0044] Note that the client device 101, the relay server 104, the workflow platform 105, the cloud service 106, and the chat service 107 may be virtual computers implemented on other computers.

[0045] Also, in this embodiment, the computers of the client device 101, the relay server 104, the workflow platform 105, and the chat service 107 are configured by the CPU 301, the disk device 302, and the memory 304.

[0046] Also, in the following description, the processes executed by the client device 101, the relay server 104, the workflow platform 105, and the chat service 107 are realized by each CPU 301 executing a program. The CPU 301 expands and executes the program stored in the disk device 302 or the like in the memory 304.

[0047] <Software Configuration Diagram of Relay Server> Figure 4 is a block diagram showing the software configuration of the relay server 104 according to this embodiment. The relay server 104 includes a transmission / reception unit 401, a control unit 402, a user management unit 403, a user DB 404, a device management unit 405, a device DB 406, a job management unit 407, and a job DB 408. DB is an abbreviation for Data Base.

[0048] The transceiver unit 401 receives response requests from a web browser and returns screen configuration information (HTML, CSS, etc.) and data (JSON, XML) necessary for screen display, or receives messages from a queue and sends the processing results to another queue. HTML is the abbreviation of HyperText Markup Language. CSS is the abbreviation of Cascading Style Sheets. JSON is the abbreviation of JavaScript Object Notation. XML is the abbreviation of Extensible Markup Language.

[0049] In response to the requests received by the transceiver unit 401, the control unit 402 instructs each data management unit such as the user management unit 403, the device management unit 405, and the job management unit 407 to acquire, update, create, and delete data, and returns the execution results to the transceiver unit 401.

[0050] The user management unit 403 manages user information managed by the printing / scan system 100 and provides a user authentication function. Furthermore, user attributes included in the user information include permissions or roles and groups associated with permissions. For example, a user having the permission to manage users of the printing / scan system 100 can execute user registration, modification, and deletion. Also, a user having the permission to manage devices of the printing / scan system 100 can execute registration, modification, and deletion of the image forming apparatus 102. In the present embodiment, it is described that the operating user has the necessary permissions for each operation. The user DB 404 persists user information based on instructions from the user management unit 403.

[0051] The device management unit 405 manages device information including the image forming apparatus 102 in the printing / scan system 100. In the present embodiment, it is described that the image forming apparatus 102 is already registered in the printing / scan system 100 and the relay server 104 can execute jobs on the image forming apparatus 102. The device DB 406 persists device information based on instructions from the device management unit 405.

[0052] The job management unit 407 manages jobs in the printing / scan system 100. The jobs include printing jobs, scan jobs, copy jobs, maintenance jobs, and the like. The job DB 408 persists job information based on instructions from the job management unit 407.

[0053] Note that although this embodiment is assumed to be implemented in a multi-tenant architecture that separates and manages data for each tenant, the present invention is not limited thereto. Also, any method of implementing the multi-tenant architecture may be employed.

[0054] <Flow of processing> First, a registration process for associating a first account registered in the printing / scan system 100 with a second account managed by the workflow platform 105 will be described.

[0055] First, the registration process is started when, on the setting screen of the printing / scan system 100, an operation for associating with an account of the workflow platform 105 is received from a user authenticated with the first account. The first account is an account of the printing / scan system 100.

[0056] FIG. 5 is an example of an account linking screen between the printing / scan system 100 and the workflow platform 105. The account linking screen in FIG. 5 is a screen provided to a user authenticated with the first account by the relay server 104.

[0057] On the account linking setting screen 500, a linking status 501 between the first account and the second account is displayed. When the first account is not linked to the second account, an account linking button 502 for linking the first account and the second account is displayed.

[0058] When the account linking button 502 is pressed, the first account and the second account are linked. As a result, it becomes possible to obtain the execution status of the workflow managed by the workflow platform 105 from the printing / scan system 100, and to execute operations related to the workflow on the workflow platform 105.

[0059] FIGS. 6 and 7 are sequence diagrams showing the account linking process between the printing / scan system 100 and the workflow platform 105. That is, FIGS. 6 and 7 are sequence diagrams of the account linking process for linking the first account and the second account. In the present embodiment, a method of account linking using the authorization code flow of OAuth2.0 will be described, but any method may be used as long as the first account and the second account can be linked. The present invention may implement account linking by, for example, federation authentication including SAML2.0. OAuth is an abbreviation for Open Authorization. SAML is an abbreviation for Security Assertion Markup Language.

[0060] Also, the account linking request will be described as being sent from the web browser installed on the client device 101. When sending an account linking request from an application that is not a web application operating on the web browser, it should be confirmed that the authorization code can be safely obtained using PKCE, which is an extension specification of OAuth2.0.

[0061] First, in step S601, the client device 101 detects the pressing of the account linking button 502 on the account linking setting screen 500. Also in step S601, the client device 101 that has detected the pressing of the account linking button 502 sends an account linking request to the workflow platform 105 to the relay server 104.

[0062] Next, in step S602, the relay server 104 receives the account linking request and issues a one-time token called a state. The state is a one-time token for ensuring that the client device that receives the authorization code from the workflow platform 105 is the same as the client device that sends the account linking request. Note that the present invention does not necessarily issue the state, but it is desirable to issue the state from the viewpoint of security.

[0063] In step S603, the relay server 104 that has received the account linking request returns a redirect request to the authorization screen of the workflow platform 105 to the client device 101. Here, the first state is written into the parameters of the redirect request to the authorization screen. The first state is the state issued in step S602. Further, by writing the second state having the same value as the first state into the response header Set-Cookie, it is stored in the cookie of the web browser of the client device 101. As a result, the second state is included in the request header cookie of the request at the time of obtaining the authorization code described later, and the relay server 104 can obtain the second state from the cookie.

[0064] In step S604, the client device 101 that has received the redirect request to the authorization screen of the workflow platform 105 requests the authorization screen from the workflow platform 105. The request for this authorization screen includes the first state.

[0065] In step S605, if the client device 101 is not authenticated on the workflow platform 105, the workflow platform 105 returns an authentication screen as a response.

[0066] In step S606, the client device 101 receives an input of authentication information and transmits the received authentication information to the workflow platform 105. Note that the authentication information is at least one of an ID / password, biometric information, a one-time password, etc.

[0067] In steps S607 and S608, if authorization for the second account has not been performed, authorization regarding the workflow of the second account is performed. The second account is an account managed by the workflow platform 105. The case where authorization for the second account has not been performed means that the acquisition of the workflow status information of the second account and the permissions necessary for operations on the workflow of the second account have not been permitted to the printing / scan system 100.

[0068] In step S609 of FIG. 7, the workflow platform 105 returns a redirect request to the relay server 104 to the client device 101. This redirect request includes an authorization code and a first state as parameters.

[0069] In step S610, the client device 101 transmits the authorization code and the first state received in step S609 to the relay server 104. Also, in step S610, if the second state is stored in the cookie of its own web browser, the client device 101 also transmits the second state stored in the cookie to the relay server 104.

[0070] In step S611, when the relay server 104 receives the authorization code, the first state, and the second state, it performs state verification to confirm that the authorization code is obtained through the correct path. The state verification is performed by confirming that the received first state and the second state match. When the first state and the second state match, it is confirmed in the state verification that the authorization code is obtained through the correct path. When it is confirmed that the authorization code is obtained through the correct path, the process of step S612 is executed.

[0071] Next, in step S612, the relay server 104 sends a token issuance request to the workflow platform 105. This token issuance request includes the authorization code received in step S610.

[0072] In step S613, when the workflow platform 105 successfully verifies the received authorization code, it issues and responds with a token. The tokens in this embodiment are two types: an access token and a refresh token, both of which have an expiration date set. The access token is used to obtain the workflow status information of the second account from the workflow platform 105. The refresh token is a token with an expiration date set longer than that of the access token. By using the refresh token, it is possible to re-obtain the access token of the workflow platform 105 through the OAuth2.0 refresh token flow.

[0073] In step S614, the relay server 104 that has received the token associates it with the first account and saves the received token in the user DB 404.

[0074] In step S615, the relay server 104 returns a screen indicating the completion of cooperation with the workflow platform 105 to the client device 101. As a result, the relay server 104 can acquire the workflow status information of the second account from the workflow platform 105. Also, the relay server 104 can operate the workflow managed by the second account through the workflow platform 105.

[0075] FIG. 8 is a diagram showing an example of a workflow list screen provided by the workflow platform 105. FIG. 8 shows the workflows managed by the disk device 302 of the workflow platform 105. In the present embodiment, the workflow list screen is displayed on the Web browser installed in the client device 101. However, in the present invention, the workflow list screen may be displayed on the Web browser or other GUIs of the client device 101 or the image forming apparatus 102, or the workflow list may be displayed interactively using the chat service 107.

[0076] On the workflow list screen 700, a workflow name 701, a button 702 for transitioning to the workflow editing screen, and a workflow execution button 703 for executing the workflow are displayed. Note that the workflow platform 105 can execute the workflow under various conditions. The workflow platform 105 can also execute the workflow without the workflow execution button 704 being pressed. For example, the workflow platform 105 can also execute the workflow periodically at a predetermined time. In the present embodiment, the workflow platform 105 will be described as executing the workflow when the workflow execution button 704 is pressed.

[0077] On the workflow list screen 700, a list of workflows owned by the second account is displayed. The list of workflows displayed on the workflow list screen 700 includes workflows that cause the image forming apparatus 102 to execute a job in cooperation with the printing / scan system 100.

[0078] Workflow 704 is a workflow that provides a function of acquiring content from the cloud service 106 and printing the content on the image forming apparatus 102 registered in the printing / scan system 100 via the relay server 104. The content is an image, a document file, or the like.

[0079] Workflow 705 is a workflow that saves an image scanned by the image forming apparatus 102 registered in the printing / scan system 100 via the relay server 104 to the cloud service 106.

[0080] The workflow may be any configuration as long as it is a workflow that causes the image forming apparatus 102 to execute a job in cooperation with the printing / scan system 100. The workflow may be a workflow that is automatically executed at a fixed time every day and prints the content stored in a predetermined cloud storage. The workflow may be a workflow that processes a scanned document by OCR and sorts and stores it in the storage based on the read character string. OCR is an abbreviation for Optical Character Recognition / Reader.

[0081] Next, the processing when executing the workflow 704 will be described with reference to FIGS. 9 and 10. FIGS. 9 and 10 are sequence diagrams showing the workflow printing process.

[0082] In step S801, the client device 101 receives that the workflow execution button 703 for the workflow 704 has been pressed, and transmits a workflow execution request for the workflow 704 to the workflow platform 105.

[0083] In step S802, the workflow platform 105 sends a request to the cloud service 106 to obtain a print file.

[0084] In step S803, the cloud service 106 responds with print file information to the workflow platform 105 based on the received request to obtain the print file. Here, the print file information may be print file data or a temporary URL for obtaining the print file. URL is the abbreviation of Uniform Resource Locator.

[0085] In step S804, the workflow platform 105 sends a print job execution request including print job information to the relay server 104. An example of the print job information is shown in FIG. 11. FIG. 11 is a diagram showing an example of the print job information for workflow printing.

[0086] Note that in FIG. 11, the print job information is shown in JSON format, but the data format of the print job information may be a format other than JSON. The print job information in FIG. 11 includes a workflow execution ID 901, a job type 902, information 903 indicating a print file, job settings 904, and a CallbackURL 905.

[0087] The workflow execution ID 901 is a unique ID that is different for each execution of the workflow. By using the workflow execution ID 901, it becomes possible to associate the workflow execution status managed by the workflow platform 105 with the job information managed by the print / scan system 100.

[0088] The job type 902 includes information such as the types of jobs such as print jobs, scan jobs, copy jobs, and maintenance jobs, and information indicating whether to immediately execute the job or hold the job.

[0089] The information 903 indicating the print file shows a URL for obtaining the print file as an example, but other formats may be used as long as the print file can be obtained. The information 903 indicating the print file may be, for example, a character string obtained by stringifying the data of the print file using Base64 or the like.

[0090] The job settings 904 include setting values related to the execution of printing, such as paper size, number of copies, double-sided setting, layout, color setting, and print quality.

[0091] CallbackURL905 is used to send the execution result of the print job to the workflow platform 105. Note that even if CallbackURL905 is not used, it is sufficient if the execution result of the print job can be sent to the workflow platform 105. For example, it is also possible to realize the notification of the execution result of the print job by sending the execution result of the print job to the workflow platform 105 together with the workflow execution ID 901. In that case, CallbackURL905 becomes unnecessary.

[0092] Returning to the description of FIG. 9, in step S805, the relay server 104 that has received the print job execution request checks the received job information.

[0093] In step S806, if the result of the above-mentioned check of the job information indicates that the job execution request is correct, the relay server 104 saves the job information in the database 311. Then, in S807, the relay server 104 sends the acceptance success of the print job to the workflow platform 105. If there is an error in the job execution request, in step S808, the relay server 104 sends the job acceptance failure to the workflow platform 105 and ends the process.

[0094] Next, when the job type 902 of the print job information is a job that immediately executes the job, printing is immediately executed in the flow from step S809 to step S814 of FIG. 10.

[0095] In step S809 of FIG. 10, the relay server 104 transmits a print job to the image forming apparatus 102. The process of step S809 is an example of job issuing means for causing the image forming apparatus 102 to execute a job. The process of step S809 is an example of a process for causing the image forming apparatus 102 to execute a job in response to a job execution request (step S804) from the workflow platform 105.

[0096] In step S810, the image forming apparatus 102 that has received the print job executes printing by the printer unit 201 according to the received print job.

[0097] In step S811, the image forming apparatus 102 transmits the print job execution result to the relay server 104. Here, the print job execution result includes print success, print error, print cancellation, and the like.

[0098] In step S812, the relay server 104 that has received the print job execution result stores the received print job execution result in the database 311.

[0099] In step S813, the relay server 104 notifies the job execution result to the CallbackURL 905 included in the print job information received from the workflow platform 105 in step S804. The process of step S813 is an example of notification means for notifying the workflow platform 105 of the job execution result.

[0100] In step S814, the workflow platform 105 that has received the job execution result updates the workflow status.

[0101] From the above, it is possible to cause the image forming apparatus 102 to execute printing from the workflow platform 105.

[0102] Next, the processing when executing the workflow 705 will be described with reference to FIGS. 12 and 13. FIGS. 12 and 13 are sequence diagrams showing the workflow scan process.

[0103] In step S1001, upon receiving that the workflow execution button 703 for the workflow 705 has been pressed, the client device 101 sends a workflow execution request for the workflow 705 to the workflow platform 105.

[0104] In step S1002, the workflow platform 105 sends a scan job execution request including scan job information to the relay server 104. An example of the scan job information is shown in FIG. 14. FIG. 14 is a diagram showing an example of the scan job information for the workflow scan.

[0105] Note that in FIG. 14, the scan job information is shown in JSON format, but the data format of the scan job information may be a format other than JSON. The scan job information in FIG. 14 includes a workflow execution ID 1101, a job type 1102, job settings 1103, and a CallbackURL 1104.

[0106] The workflow execution ID 1101 is a unique ID that is different for each execution of the workflow. By using the workflow execution ID 1101, it becomes possible to link the workflow execution status managed by the workflow platform 105 and the job information managed by the printing / scan system 100.

[0107] The job type 1102 includes information such as the types of jobs such as print jobs, scan jobs, copy jobs, and maintenance jobs, and whether to immediately execute the job or hold the job.

[0108] The job settings 1103 include setting values related to the execution of the scan, such as the scan mode, scan size, scan quality, and scan direction.

[0109] CallbackURL1104 is used to send the execution result of the scan job and the scan data to the workflow platform 105. Note that even if CallbackURL1104 is not used, it is sufficient if the execution result of the scan job can be sent to the workflow platform 105. For example, it can also be achieved by sending the execution result of the scan job and the scan data to the workflow platform 105 together with the workflow execution ID 1101, in which case CallbackURL1104 becomes unnecessary. Also, the scan data to be sent to the workflow platform 105 may be a URL from which the scan data can be obtained.

[0110] Returning to the description of FIG. 12, in step S1003, the relay server 104 that has received the scan job execution request checks the received job information.

[0111] In step S1004, if the result of the above-described job information check indicates that the job execution request is correct, the relay server 104 saves the job information in the database 311. Then in S1005, the relay server 104 sends the acceptance success of the scan job to the workflow platform 105. Note that if there is an error in the job execution request, in step S1006, the relay server 104 sends the job acceptance failure to the workflow platform 105 and ends the process.

[0112] Next, if the job type 1102 of the scan job information is a job that immediately executes the job, the scan is immediately executed in the flow from step S1007 to step S1015 in FIG. 13.

[0113] In step S1007 of FIG. 13, the relay server 104 transmits a scan job to the image forming apparatus 102. The process of step S1007 is an example of job issuing means for causing the image forming apparatus 102 to execute a job. The process of step S1007 is an example of a process for causing the image forming apparatus 102 to execute a job in response to a job execution request (step S1002) from the workflow platform 105.

[0114] In step S1008, the image forming apparatus 102 that has received the scan job executes a scan by the scanner unit 202 according to the received scan job.

[0115] In step S1009, the image forming apparatus 102 transmits the scan job execution result to the relay server 104. Here, the scan job execution result includes statuses such as scan success, scan error, and scan cancel, and scan data.

[0116] In step S1010, the relay server 104 that has received the scan job execution result stores the received scan job execution result in the database 311.

[0117] In step S1011, the relay server 104 notifies the job execution result to the CallbackURL 1104 included in the scan job information received from the workflow platform 105 in step S1002. This job execution result includes a status indicating the scan result and scan data. The process of step S1011 is an example of notification means for notifying the workflow platform 105 of the job execution result.

[0118] In step S1012, the workflow platform 105 that has received the job execution result updates the workflow status.

[0119] In step S1013, the workflow platform 105 transmits a scan file containing scan data to the cloud service 106, and the cloud service 106 saves the received scan file.

[0120] In step S1014, the workflow platform 105 receives, as a response from the cloud service 106, the save result of the scan file.

[0121] In step S1015, the workflow platform 105 updates the workflow status.

[0122] As described above, it is possible to cause the image forming apparatus 102 to execute scanning from the workflow platform 105 and transmit the scanned image data to the workflow platform 105.

[0123] FIG. 15 is a diagram showing an example of the data structure of job information. FIG. 15 is an example of job information managed by the printing / scan system 100 and is a list of jobs for each first account managed by the printing / scan system 100. The job information shown as an example in FIG. 15 is stored in the database 311 of the relay server 104.

[0124] The job information in the present embodiment is created when a job is received, and the status of the job information is updated as the processing of the job proceeds. The job information includes a job ID 1201, a job name 1202, a job status 1203, a workflow execution ID 1204, a CallbackURL 1205, and job settings 1206.

[0125] Job ID 1201 is a unique ID for uniquely identifying a job and is generated when the job is received. Any name can be assigned to Job Name 1202. Job Status 1203 indicates the progress of job processing, and as the job processing progresses, the relay server 104 updates the job status. Callback URL 1205 is the URL when sending the execution result of the job to the workflow platform 105. Job Settings 1206 are setting information indicating the behavior of the job.

[0126] FIG. 16 is a diagram showing an example of the data structure of workflow information. FIG. 16 is an example of workflow information managed by the workflow platform 105 and shows the workflows in progress for each second account managed by the workflow platform 105. The workflow information shown as an example in FIG. 16 is stored in the database 311 of the workflow platform 105.

[0127] The workflow information in the present embodiment is created when the workflow is executed, and the workflow platform 105 updates the status as the processing progresses. The workflow information includes a workflow execution ID 1301 and a workflow status 1302.

[0128] The workflow execution ID 1301 is an ID generated when the workflow is executed and is a unique ID different for each execution of the workflow. The workflow status 1302 indicates the progress of workflow processing. Also, the workflow status 1302 does not include detailed status such as the job status 1203 managed by the print / scan system 100 that cooperates with the workflow platform 105.

[0129] FIG. 17 is a diagram showing an example of a workflow status list screen. The workflow status list screen 1400 in FIG. 17 is a workflow status list screen provided by the relay server 104 of the printing / scan system 100. In the workflow status list screen 1400, a list of workflows being executed using a second account of the workflow platform 105 associated with a first account logged in to the printing / scan system 100 is displayed.

[0130] The workflow status list screen in this embodiment is displayed on a web browser installed in the client device 101 or a web browser installed in the image forming device 102. However, the present invention is not limited to this, and the workflow status list screen may be displayed on other GUIs, or the workflow status list may be displayed interactively using the chat service 107. The workflow status list screen 1400 includes a workflow execution ID 1401, an execution date and time 1402, a status 1403, and an action button 1404.

[0131] The workflow execution ID 1401 is an ID generated when the workflow is executed, and is a unique ID that is different for each execution of the workflow. The execution date and time 1402 is the execution date and time of the workflow.

[0132] The status 1403 is a status that aggregates the workflow status 1302 and the job status 1203 into one, and detailed job statuses that cannot be managed by the workflow platform 105 alone are also displayed. The workflow information managed by the workflow platform 105 and the job information managed by the printing / scan system 100 can be associated with each other using the workflow execution ID 1301 and the workflow execution ID 1204 as keys. Thereby, for each workflow, a detailed status aggregating the contents of the workflow status 1302 and the job status 1203 can be obtained, and this detailed status is displayed in the status 1403.

[0133] Action 1404 shows the behavior acting on the workflow. When it is detected that the action button displayed in Action 1404 is pressed, the action is executed.

[0134] For Action 1404, an action executable under the condition of Status 1403 is determined and displayed. In FIG. 17, as an example, a print execution button 1405 and a scan execution button 1406 are shown. The print execution button 1405 is a button for an action executable when Status 1403 is waiting for printing. When the print execution button 1405 is pressed, the print job held in the print / scan system 100 is executed. Also, the scan execution button 1406 is a button for an action executable when Status 1403 is waiting for scanning. When the scan execution button 1406 is pressed, the scan job held in the print / scan system 100 is executed.

[0135] Note that according to the device displaying the workflow status list screen 1400, it may be determined whether an action can be executed. For example, execution of an action may be permitted only when the workflow status list screen 1400 is displayed on the Web browser installed in the image forming apparatus 102. Thereby, when executing the held print job, it can be ensured that there is a logged-in user near the image forming apparatus 102, and the risk of information leakage due to the printed matter output from the image forming apparatus 102 being left unattended for a long time can be reduced.

[0136] FIG. 18 is a flowchart showing the status of the workflow status list screen and the display conditions of the workflow action buttons. FIG. 18 is a flowchart showing the conditions when the relay server 104 responds with the workflow status list. The processing of the flowchart in FIG. 18 is started when the relay server 104 receives a request to acquire the workflow status list from the client device 101.

[0137] In step 51, when the relay server 104 receives a request to obtain a workflow status list, it obtains the running workflow from the workflow platform 105. The process of step S1501 is an example of workflow status acquisition means for acquiring the workflow status of the running workflow related to the user logged in to the information processing apparatus 102 from the workflow platform.

[0138] In step S1502, the relay server 104 extracts the workflow in which the connector 108 related to workflow printing / workflow scanning exists from the acquired running workflows.

[0139] In step S1503, the relay server 104 determines whether the connector 108 is running. When the relay server 104 determines that the connector 108 is running, the process of step S1504 is executed. When the relay server 104 determines that the connector 108 is not running, the process of step S1506 is executed.

[0140] In step S1504, the relay server 104 obtains the job status 1203 from the job DB 408 using the workflow execution ID 1204 as a key from the job information managed by the relay server 104. The process of step S1504 is an example of job status acquisition means for acquiring the job status related to the running workflow.

[0141] In step S1505, the relay server 104 sets the response content so as to display the job status 1203 obtained in step S1504 as the status 1403 on the workflow status list screen 1400.

[0142] In step S1506, the relay server 104 sets the response content so as to display the workflow status 1302 as the status 1403 on the workflow status list screen 1400.

[0143] In step S1507, the relay server 104 determines whether an action can be executed and determines the content of the action. The process of step S1507 is an example of an action determination means that determines whether an action can be executed from the workflow status and the job status. When the relay server 104 determines that the action can be executed, the process of step S1508 is executed. When the relay server 104 determines that the action cannot be executed, the process of step S1509 is executed.

[0144] Whether an action can be executed and the content of the action are determined from the status 1403 obtained from the workflow status 1302 and the job status 1203. Note that whether an action can be executed may be determined under one or more various conditions, such as not only the current status 1403 but also the terminal accessing the relay server 104.

[0145] In step S1508, the relay server 104 sets the response content so as to display an action button in the action 1404 of the workflow status list screen 1400. Here, there may be one action button, or a plurality of action buttons may be displayed as a result of determining whether the action can be executed. Note that the relay server 104 may receive a request to obtain an executable action from the chat service 107 and respond with the executable action.

[0146] In step S1509, the relay server 104 sets the response content so as not to display an action button in the action 1404 of the workflow status list screen 1400. Note that when it is determined that the action cannot be executed, it is sufficient that the action cannot be executed. For example, the action button may be displayed in a state where it cannot be pressed.

[0147] In step S1510, the relay server 104 transmits a response to the client device 101 and ends the process. The processes of step S1508, step S1509, and step S1510 are an example of a display control means for causing the client device 101 to display a UI (action 1404) capable of executing an action according to the determination result of the action determination means. UI is an abbreviation for User Interface.

[0148] Next, the processing flow when an action is executed will be described with reference to FIG. 19. FIG. 19 is a sequence diagram showing the processing when a workflow action is executed.

[0149] In step S1601, the client device 101 transmits a request to execute an action to the relay server 104. Note that it may be configured to receive an action execution request from the chat service 107. In step S1602, the relay server 104 checks the job status 1203.

[0150] In step S1603, when the job can be input, the relay server 104 transmits a job to the image forming apparatus 102. The process of step S1603 is an example of a job issuing means for causing the image forming apparatus 102 to execute a job. The process of step S1603 receives a request to execute an action (S1601) and causes the image forming apparatus 102 to execute a job. In step S1604, the relay server 104 responds to the client device 101 that the job input has been successful.

[0151] In step S1605, the image forming apparatus 102 that has received the job executes the received job. In step S1606, the image forming apparatus 102 notifies the relay server 104 of the execution result of the job.

[0152] In step S1607, the relay server 104 that has received the execution result of the job stores the execution result of the job. In step S1608, the relay server 104 notifies the workflow platform 105 of the execution result of the job. In step S1609, the workflow platform 105 that has received the execution result of the job updates the workflow status.

[0153] As described above, it is possible to realize the execution of the job that was held by pressing the action button.

[0154] (Other Embodiments) The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and causing one or more processors in a computer of the system or device to read and execute the program. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

[0155] Although the preferred embodiments of the present invention have been described above, the present invention is not limited to these embodiments, and various modifications and changes are possible within the scope of the gist thereof.

[0156] The disclosure of the present embodiment includes the following configurations and methods. (Configuration 1) An information processing apparatus, job issuing means for causing an image forming apparatus to execute a job, workflow status acquisition means for acquiring, from an external workflow platform, the workflow status of a workflow being executed for a user logged in to the information processing apparatus, job status acquisition means for acquiring the job status regarding the workflow being executed, action determination means for determining whether an action can be executed based on the workflow status and the job status, An information processing apparatus characterized by comprising the above. (Configuration 2) The job issuing means causes the image forming apparatus to execute a job in response to a job execution request from the workflow platform, in the information processing apparatus according to Configuration 1. (Configuration 3) The information processing apparatus according to Configuration 1 or Configuration 2, further comprising display control means for causing a client device to display a UI capable of executing an action according to a determination result of the action determination means. (Configuration 4) The information processing apparatus according to any one of Configurations 1 to 3, further comprising notification means for notifying the workflow platform of a job execution result. (Configuration 5) The information processing apparatus according to any one of Configurations 1 to 4, further comprising display control means for causing a client device to display a status determined from the workflow status and the job status. (Configuration 6) The job issuing means in the information processing apparatus according to Configuration 3 receives a request for execution of the action and causes the image forming apparatus to execute a job. (Configuration 7) The display control means in the information processing apparatus according to Configuration 5 receives a request from a chat service and causes the chat service to display a workflow list in response. (Configuration 8) The job issuing means in the information processing apparatus according to Configuration 6 receives a request for execution of the action from a chat service and causes the image forming apparatus to execute a job. (Method 1) A control method for an information processing apparatus, comprising: a job issuing step of causing an image forming apparatus to execute a job; a workflow status acquisition step of acquiring, from an external workflow platform, a workflow status of a workflow being executed for a user logged in to the information processing apparatus; A job status acquisition step for acquiring a job status regarding a running workflow, action determination means for determining whether an action can be executed from the workflow status and the job status, A control method characterized by comprising the above. (Program 1) A program executed by a computer, causing the computer job issuing means for causing an image forming apparatus to execute a job, workflow status acquisition means for acquiring, from an external workflow platform, the workflow status of a running workflow regarding a user logged in to the information processing apparatus, job status acquisition means for acquiring a job status regarding a running workflow, and action determination means for determining whether an action can be executed from the workflow status and the job status, A program characterized by functioning as the above.

Explanation of Signs

[0157] 100 Printing / Scanning System 101 Client Device 102 Image Forming Apparatus 103 Network 104 Relay Server 105 Workflow Platform 106 Cloud Service The 107 Chat Service

Claims

1. An information processing apparatus, comprising: job issuing means for causing an image forming apparatus to execute a job; workflow status acquisition means for acquiring, from an external workflow platform, a workflow status of a workflow being executed for a user logged in to the information processing apparatus; job status acquisition means for acquiring a job status regarding the workflow being executed; action determination means for determining whether an action can be executed based on the workflow status and the job status; The information processing apparatus characterized by comprising the above.

2. The information processing apparatus according to claim 1, wherein the job issuing means causes the image forming apparatus to execute a job in response to a job execution request from the workflow platform.

3. The information processing apparatus according to claim 1, further comprising display control means for causing a client apparatus to display a UI capable of executing an action according to a determination result of the action determination means.

4. The information processing apparatus according to claim 1, further comprising notification means for notifying a job execution result to the workflow platform.

5. The information processing apparatus according to claim 1, further comprising display control means for causing a client apparatus to display a status determined from the workflow status and the job status.

6. The information processing apparatus according to claim 3, wherein the job issuing means receives a request to execute the action and causes the image forming apparatus to execute a job.

7. The information processing apparatus according to claim 5, wherein the display control means receives a request from a chat service and causes the chat service to display a workflow list in response.

8. The information processing apparatus according to claim 6, wherein the job issuing means receives a request to execute the action from a chat service and causes the image forming apparatus to execute a job.

9. A control method for an information processing apparatus, comprising: a job issuing step of causing an image forming apparatus to execute a job; a workflow status acquisition step of acquiring, from an external workflow platform, a workflow status of a workflow being executed for a user logged in to the information processing apparatus; A job status acquisition step of acquiring a job status regarding a running workflow, An action determination means for determining whether an action can be executed based on the workflow status and the job status, A control method characterized by comprising the above.

10. A program executed by a computer, Causing the computer to A job issuing means for causing an image forming apparatus to execute a job, A workflow status acquisition means for acquiring a workflow status of a running workflow regarding a user logged in to the information processing apparatus from an external workflow platform, A job status acquisition means for acquiring a job status regarding a running workflow, and An action determination means for determining whether an action can be executed based on the workflow status and the job status, A program characterized by functioning as the above.

Citation Information

Patent Citations

  • Image processing device, information processing method, and program

    JP2021090102A