Information processing system, image forming system, and information processing method
The integration of cloud and local devices in an information processing system enables automated task distribution and execution, addressing the challenge of combining cloud-side and local-side tasks, thereby enhancing flexibility, reliability, and reducing storage costs.
Patent Information
- Application Number
- JP2024091086
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-09
- Filing Date
- 2024-06-05
- Publication Date
- 2024-12-19
AI Technical Summary
Existing technologies fail to automate workflows by combining cloud-side tasks with local (intra-area) side tasks, such as those performed by multifunctional peripherals (MFPs) and distributed information processing systems.
An information processing system comprising a cloud device and a local device, where the cloud device distributes tasks to either itself or the local device, and includes a cloud control unit for task distribution, a client control unit for communication, and a local task execution unit for executing tasks on the local device.
This configuration allows for the automation of workflows by combining and distributing tasks between cloud and local servers, enhancing flexibility, reliability, and reducing storage costs while improving user convenience and security.
Smart Images

Figure 2024177111000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention particularly relates to an information processing system, an image forming system, and an information processing method that include a cloud device and a local device and executes a workflow of image formation on a document. [Background technology]
[0002] 2. Description of the Related Art Conventionally, there have been image forming apparatuses such as multifunctional peripherals (MFPs) capable of printing documents and images. There are also information processing systems that execute various tasks in a distributed manner, including image forming apparatuses.
[0003] As a typical example of this technology, Patent Document 1 describes a system in which a dynamic job scheduler (DJS) on a server that manages distributed processing by multiple printers with power saving modes connected to a computer network acquires device information and operating status of the printers, selects target devices for distributed processing based on the device information and operating status, and notifies a task manager (TM) of the client PC that requested the distributed processing. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2006-343955 A Summary of the Invention [Problem to be solved by the invention]
[0005] However, the technology of Patent Document 1 cannot combine so-called cloud-side tasks and local (regional) tasks such as those on an intranet and process them in an automated workflow. [Means for solving the problem]
[0006] The information processing system of the present invention is an information processing system that comprises a cloud device and a local device and executes a workflow for image formation on a document, wherein the cloud device comprises a cloud control unit that assigns each task of the workflow to the cloud device or the local device, and a cloud task execution unit that executes the tasks assigned to the cloud device by the cloud control unit, and the local device comprises a client control unit that transmits and receives the tasks assigned from the cloud device and the results of task execution between the cloud device and the local device, and a local task execution unit that executes the tasks assigned to the local device obtained by the client control unit. The image forming system of the present invention is an image forming system that comprises a cloud device and a local device and executes a workflow for image formation on a document, wherein the cloud device comprises a cloud control unit that assigns each task of the workflow to the cloud device or the local device, and a cloud task execution unit that executes the tasks assigned to the cloud device by the cloud control unit, and the local device comprises a client control unit that transmits and receives the tasks assigned from the cloud device and the results of task execution between the cloud device and the local device, and a local task execution unit that executes the tasks assigned to the local device obtained by the client control unit. The information processing method of the present invention is an information processing method executed by an information processing system that has a cloud device and a local device and executes a workflow of image formation for a document, characterized in that the cloud device assigns each task of the workflow to the cloud device or the local device, the cloud device executes the tasks assigned to the cloud device, the local device receives the tasks assigned to the local device from the cloud device, the local device executes the tasks assigned to the local device, and the local device transmits the results of task execution to the cloud device. Effect of the Invention
[0007] According to the present invention, it is possible to provide an information processing system that can automate a combination of cloud-side and local-side tasks by assigning each task in a workflow to a cloud server or a local server, and having the local server send and receive the execution results of the tasks assigned by the cloud server to and from the cloud server. [Brief description of the drawings]
[0008] [Figure 1] 1 is a system configuration diagram of an information processing system according to an embodiment of an image forming apparatus of the present invention. [Diagram 2] 2 is a block diagram showing a control configuration of a cloud server and a local server shown in FIG. 1. [Diagram 3] 1 is a block diagram showing a functional configuration of an information processing system according to an embodiment of the present invention. [Figure 4] 11 is a flowchart of a workflow creation process according to an embodiment of the present invention. [Diagram 5] 11 is a flowchart of a task allocation execution process according to an embodiment of the present invention. [Figure 6] FIG. 6 is a conceptual diagram of the task allocation execution process shown in FIG. 5. [Figure 7] 11 is a flowchart of a file restoration process according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] <Embodiment Mode> [System configuration of image forming system X] First, the system configuration of the image forming system X will be described with reference to FIG. An image forming system X according to an embodiment of the present invention is an example of an information processing system including a cloud server 1, a local server 2, an image forming device 3, a terminal 4, a network 5, and the like.
[0010] Cloud server 1 is an example of a cloud device according to this embodiment. Cloud server 1 may be composed of, for example, a PC (Personal Computer) server, a dedicated machine, a general-purpose machine, etc. Cloud server 1 is connected to local server 2, image forming device 3, etc., and is a server that mainly handles billing and services. Furthermore, in this embodiment, the cloud server 1 mainly processes document data 300 (FIG. 3) of an original captured from the image forming apparatus 3, and causes each image forming apparatus 3 and the local server 2 to share and execute the process in accordance with a processing flow set as a workflow, which will be described later. As will be described later, this workflow may include, for example, image processing, OCR (Optical Character Recognition) processing, classification processing, and transmission processing to e-mail, shared folders (document boxes, storage folders), business or administrative DMS (Document Management System), etc.
[0011] The local server 2 is an example of a local device according to the present embodiment. The local server 2 is, for example, an information processing device such as an intranet server that controls the image forming device 3 in the intranet, a PC on which a dedicated application for the image forming device 3 is installed, a smartphone, a NAS (Network-Attached Storage), or a highly functional image forming device. The local server 2 is capable of transmitting and receiving various data to and from the image forming device 3 on the local side. In addition, the local server 2 transmits and receives various data to and from the cloud server 1 on the cloud side, and executes the assigned processing. For this reason, the local server 2 may have a function such as a router.
[0012] The image forming device 3 is an MFP, a network scanner, a document scanner, a network FAX, a printer with a scanner function, etc. The image forming device 3 may execute application software (hereinafter simply referred to as an “app”) for connecting to the cloud server 1. In this embodiment, the image forming device 3 may have a function of reading (scanning) a set document, and an image forming function of printing or digitalizing a document. The image forming device 3 may be connected to the local server 2 via an intranet of the network 5, or a Universal Serial Bus (USB), etc.
[0013] The terminal 4 is a PC, a smartphone, a mobile phone, a tablet terminal, a dedicated terminal, a PDA (Personal Digital Assistant), etc. The terminal 4 is capable of installing and executing applications such as a web browser for accessing the cloud server 1 and the local server 2, a device driver for the image forming system X, and other dedicated applications. This enables a user of the terminal 4 to access the cloud server 1 and transmit instructions via a UI (User Interface).
[0014] The network 5 is an IP (Internet Protocol) network, etc. In the configuration example shown in Fig. 1, the network 5 is separated into a cloud side and a local side. The cloud side of this network 5 is a WAN (Wide Area Network) such as the Internet or a mobile phone network, which is a so-called "cloud." In the example of Fig. 1, a cloud server 1 and a terminal 4 are connected to the cloud side of this network 5. On the other hand, the local side of the network 5 is an intranet, a LAN (Local Area Network), a dedicated line, etc. In the example of Fig. 1, a local server 2 and an image forming device 3 are connected to the local side of the network 5.
[0015] A firewall 6 including a router, a gateway, etc. may be configured between the cloud side and the local side of this network 5. This firewall 6 may be configured with specific rules so as to allow packets of specific ports to pass through. A VPN (Virtual Private Network) may be set between the cloud side and the local side. Furthermore, the image forming device 3 may be located on the cloud side. The terminal 4 may also be located on the local side.
[0016] Next, the control configuration of the cloud server 1 and the local server 2 will be described with reference to Fig. 2. In this embodiment, an example in which the cloud server 1 and the local server 2 have the same configuration will be described. The cloud server 1 and the local server 2 each include a control unit 10, 20, a network transmission / reception unit 15, and a storage unit 19, 29.
[0017] The control units 10 and 20 are information processing units such as a General Purpose Processor (GPP), a Central Processing Unit (CPU), a Micro Processing Unit (MPU), a Digital Signal Processor (DSP), a Graphics Processing Unit (GPU), or an Application Specific Processor (ASIC). The control units 10 and 20 read out the control programs stored in the ROM, SSD, or HDD of the storage units 19 and 29, and load and execute the control programs in the RAM, thereby operating as each component of the functional blocks described below. In addition, the GPUs and the like of the control units 10 and 20 may be provided with a function for accelerating OCR, etc.
[0018] The network transceiver unit 15 is a network connection unit including a LAN board, a wireless transceiver, and the like for connecting to the network 5 .
[0019] The storage units 19 and 29 are storage units of non-transient recording media. The storage units 19 and 29 may include a RAM (Random Access Memory) or the like as a main storage unit. The storage units 19 and 29 may also include a ROM (Read Only Memory) and an HDD (Hard Disk Drive) or the like as auxiliary storage units. The ROM may be configured with a flash memory, or may be an eMMC (embedded Multi Media Card), an SSD (Solid State Drive), or the like. The storage units 19 and 29 may also include external storage media such as various flash memories and optical recording media.
[0020] As described below, the storage units 19 and 29 store data for the cloud server 1 and the local server 2, respectively. Furthermore, the auxiliary storage units of the storage units 19 and 29 may store control programs for executing workflows and controlling the operation of the image forming apparatus 3, which will be described later. The storage units 19 and 29 may also include public and private keys for sending and receiving files. Furthermore, the storage units 19 and 29 may store information on document boxes (storage folders, shared folders) for each user, apps that can be executed on the cloud server 1 and the local server 2, performance, functions, and the like.
[0021] The control units 10 and 20 may be integrally formed as a CPU with a built-in GPU, a chip-on-module package, a system on a chip (SOC), or the like. Furthermore, the control units 10 and 20 may include built-in RAM, ROM, flash memory, and the like.
[0022] [Control configuration of image forming system X] Here, with reference to FIG. 3, a control configuration of the image forming system X according to the embodiment of the present invention will be described. In the following, an example will be described in which the cloud server 1 causes the cloud server 1 and the local server 2 to share the processing of a workflow, which is a series of tasks.
[0023] The control unit 10 of the cloud server 1 includes a cloud control unit 100, a cloud task execution unit 110, and an update accumulation unit 120. The memory unit 19 of the cloud server 1 includes a cloud storage unit 190 . The control unit 20 of the local server 2 includes a client control unit 200 and a local task execution unit 210 . The memory unit 29 of the local server 2 includes a local storage unit 290 .
[0024] The cloud control unit 100 distributes, delivers, or distributes each task of the workflow set in the workflow information 320 to the cloud server 1 or the local server 2 (hereinafter, simply referred to as "distribution"). The cloud control unit 100 can change the allocation of each task according to the authority information 310 of the user who instructs the execution of the workflow. Alternatively, the cloud control unit 100 can change the allocation according to the authority of the application executed on the local server 2 as the authority information 310. Furthermore, the cloud control unit 100 can specify executable authorities and users. The cloud control unit 100 can also generate a workflow that includes a script for executing an app on the local server 2. In addition, the cloud control unit 100 can also present the progress of the workflow execution in response to a request from another device. In this embodiment, this presentation can be made in response to a user's access from the terminal 4 or the image forming device 3 as another device. In addition, the cloud control unit 100 can also set and restrict the storage destination and the execution of the application based on the metadata of the document data 300 processed in the workflow.
[0025] In this embodiment, the cloud control unit 100 can also acquire the document data 300 from the terminal 4 and store it in the storage unit 19 temporarily. Furthermore, the cloud control unit 100 can also transmit update information 340 to the local server 2 at the user's instruction. This makes it possible to restore the task file 400 for each version. Here, the cloud control unit 100 can select the update information 340 based on the user's instruction and restore the task file 400 stored in the local storage unit 290 of the local server 2 to an older version. Alternatively, the cloud control unit 100 may select the update information 340 based on the execution result 330 of the workflow and restore the old version. In this case, specifically, if the workflow execution result 330 is a failure, the cloud control unit 100 may be able to restore the workflow to the version before the failure.
[0026] The cloud task execution unit 110 executes the tasks assigned to the cloud server 1 by the cloud control unit 100 . In this embodiment, the cloud task execution unit 110 causes each application to execute a task that the cloud control unit 100 has determined to be executed on the cloud server 1, and obtains the execution result 330.
[0027] The update accumulation unit 120 accumulates the update information 340 of the task file 400 that has been distributed to the local server 2 by the cloud control unit 100 .
[0028] The client control unit 200 transmits and receives document data 300, task file 400, execution results 330 of tasks assigned from the cloud server 1, and update information 340 to and from the cloud server 1. Specifically, the client control unit 200 can also transmit document data 300 stored in the storage unit 29, and input data and output data of tasks to the cloud server 1. More specifically, the client control unit 200 acquires the tasks assigned to the local server 2, which are included in the workflow information 320, and causes the local task execution unit 210 to execute the local side processing. Furthermore, the client control unit 200 is capable of acquiring output data of each task executed on the client's local server 2 and transmitted from the image forming device 3 or the like as document data 300 or a task file 400. In addition, the client control unit 200 is also capable of passing the document data 300 or the task file 400 to the cloud server 1 as input data for the next task. The client control unit 200 can also transmit the execution result 330 to the cloud side.
[0029] The local task execution unit 210 executes the task that is acquired by the client control unit 200 and assigned to the local server 2 . In this embodiment, the local task execution unit 210 causes each application to execute the task determined by the cloud control unit 100 to be executed on the local server 2, and acquires the execution result 330. At this time, the local task execution unit 210 can store a task file 400 related to the received task in the local storage unit 290, or pass it to the application to be executed. In this embodiment, the local task execution unit 210 can also obtain document data 300 from the image forming apparatus 3 and store it in the storage unit 29 temporarily. The local task execution unit 210 can also obtain output data of each task of the workflow from the image forming apparatus 3 and store the data as a task file 400 in the storage unit 19 .
[0030] The cloud storage unit 190 is a database, cloud storage, etc. that stores files related to the workflow that are saved and accumulated on the cloud side. Details will be described below.
[0031] The local storage unit 290 is a database, local storage, etc. that stores files that are saved and accumulated locally regarding the workflow, as will be described in detail below.
[0032] Here, the files stored in the cloud storage unit 190 and the local storage unit 290 will be described in detail. In this embodiment, the cloud storage unit 190 stores document data 300 , authority information 310 , workflow information 320 , execution results 330 , and update information 340 . In this embodiment, the local storage unit 290 stores a task file 400 .
[0033] The document data 300 is data that is the target of various processes in a workflow. In this embodiment, the document data 300 may be a file of image data of a document read by a scanner of the image forming apparatus 3, a file created by a user and acquired from the terminal 4, or the like. Among these, the image data may be, for example, bitmap data such as BMP, compressed bitmap data such as TIFF or jpg, electronic document data such as PDF (Portable Document Format), or the like. The document data 300 may also be a file of an application such as a word processor, a spreadsheet, or a presentation. The document data 300 may also be a file previously stored in a document box of a user of the image forming apparatus 3 or the cloud server 1. Alternatively, the document data 300 may be a file acquired from the terminal 4 or another cloud server, or the like. Alternatively, the document data 300 may be other types of data.
[0034] Furthermore, document data 300 may not be a single file, but may be a collection of multiple files. Alternatively, document data 300 may be a collection of image data or page data for each page. In addition, document data 300 may include various character data, intermediate data, and task files 400 corresponding to the progress of the processing of each of the above-mentioned tasks.
[0035] Furthermore, the document data 300 may include metadata. This metadata may include, for example, information such as whether or not information on the user's ID (identification), name, company name, amount, tax, etc. can be obtained, and if so, the type of information. The document data 300 may also include, for example, email addresses of users or groups, application addresses, document box (storage folder, shared folder) addresses, or names and addresses of each application, account information of each application, etc. This user ID, etc. may also be used in billing or service databases.
[0036] The authority information 310 is information on the authority of a user who instructs execution of a workflow. The authority information 310 may include, for example, information such as account settings for each user and authority of each application on the local server 2. Among these, the account settings may include a user ID and password for accessing the cloud server 1, the local server 2, or a local application executed on the local server 2, a group to which the user belongs, an email address, an address of a document box (storage folder, shared folder), or an application name or account of the DMS, etc.
[0037] The workflow information 320 is information that includes settings for the process flow of a "workflow," which is a series of tasks that a user instructs to be executed. For example, in the case of a scan workflow related to capturing an original, the workflow information 320 includes settings for the order of tasks such as image processing, OCR processing, classification processing, and transmission processing, and parameters for each task. The workflow information 320 may include, for example, a script for executing a task, a "macro," and settings for an RPA (Robotic Process Automation) tool (hereinafter, these will be simply referred to as "scripts"). The script may include settings for an account and contents when executing an application on the local server 2. Furthermore, the workflow information 320 can be set by an administrator of the image forming apparatus 3, the local server 2, or the cloud server 1 through an application installed in the image forming apparatus 3, or from the local server 2 or the cloud server 1.
[0038] The execution result 330 is a file indicating the execution result of a workflow task. The execution result 330 may be, for example, a file in an XML (Extensible Markup Language) or JSON (JavaScript Object Notification) format. In addition, the execution result 330 may include, for example, a flag indicating success or failure, character or numerical settings, etc. for each task. Furthermore, the execution result 330 may include the data itself that is the result of the document data 300 being processed by the task. This result data may be packaged with data similar to the task file 400. In addition, the execution result 330 may be accumulated for each workflow or task as log data of the execution of the task.
[0039] The update information 340 is update data of the task file 400 related to the task assigned to the local server 2 by the cloud control unit 100. In this embodiment, the update information 340 may be a file cache of the task file 400 of the application executed on the local server 2. More specifically, the update information 340 may include various information for version management and identification of the task file 400 in the local storage unit 290 of the local server 2. This various information may include, for example, a file name and path (address), date and time, and version information. Furthermore, the update information 340 may include difference data of the update (difference) of the task file 400 between versions as is, in an encrypted or compressed state.
[0040] The task file 400 is a file for each task in the workflow. That is, intermediate data executed or after being executed by the application of each task may be stored as the task file 400. Specifically, the task file 400 may be, for example, character data obtained by OCR of the document data 300, character and numerical data of a spreadsheet, a DMS or accounting information file, or other electronic document file. The task file 400 for each task may be updated according to the progress of the task in the workflow. That is, the difference between each task file 400 may become the above-mentioned update information 340 in a format such as a file cache.
[0041] Here, the control unit 10 of the cloud server 1 executes a control program stored in the storage unit 19, thereby functioning as a cloud control unit 100, a cloud task execution unit 110, and an update accumulation unit 120. Moreover, the control unit 20 of the local server 2 executes a control program stored in the storage unit 29, thereby functioning as a client control unit 200 and a local task execution unit 210. Moreover, each component of the image forming system X described above serves as a hardware resource for executing the image forming method of the present invention. Note that a part or any combination of the above-mentioned functional configurations may be configured in terms of hardware or circuits using ICs, programmable logic, FPGAs (Field-Programmable Gate Arrays), or the like.
[0042] [Workflow creation process by image forming system X] Next, a workflow creation process by the image forming system X according to the embodiment of the present invention will be described with reference to FIG. In the workflow creation process according to this embodiment, the user accesses the cloud server 1 and creates a workflow. At this time, the user specifies executable permissions for the user's app in the workflow information 320. In addition, the workflow information 320 may include a script for executing the app on the local server 2. In the workflow creation process according to this embodiment, the control unit 10 of the cloud server 1 mainly executes a program stored in the storage unit 19 in cooperation with each unit, using hardware resources. The workflow creation process according to this embodiment will be described in detail below for each step with reference to the flowchart in FIG.
[0043] (Step S101) First, the cloud control unit 100 performs cloud login processing. In this embodiment, a user such as an administrator of the image forming system X logs into the cloud server 1 from a terminal 4 using a web browser or a dedicated application for workflow (hereinafter simply referred to as a "dedicated application"). At this time, the cloud control unit 100 may perform authentication based on the account settings in the authority information 310.
[0044] (Step S102) Next, the cloud control unit 100 performs a workflow instruction acquisition process. After the authentication is successful, a UI for a workflow creation screen is displayed by a web browser or a dedicated application on the display unit of the terminal 4. Based on this UI, the cloud control unit 100 obtains instructions from the user and generates workflow information 320. In this embodiment, as an example, workflow information 320 is generated that includes a series of tasks, such as scanning and uploading a paper document (T1), OCR (T2), extracting price and supplier information (T3), updating accounting information (T4), and saving as a PDF (T5), as shown in Fig. 6. In other words, the cloud control unit 100 can set the content of the applications to be executed and the order of execution, according to user specifications. In this case, the workflows that can be generated may be limited depending on the user's authority. Specifically, the cloud control unit 100 may allow a user who has access to business partner information and accounting information to create such workflows.
[0045] (Step S103) Next, the cloud control unit 100 performs a local server designation process. When the task specified by the user is to be performed on the local server 2, the cloud control unit 100 specifies the local server 2 as the cooperation destination and sets it in the workflow information 320. At this time, the cloud control unit 100 generates a workflow that includes a script for executing an application on the local server 2. This script may be set in advance by the user, or may be generated by an automatic generation AI (Artificial Intelligence) such as a transformer.
[0046] (Step S104) Next, the cloud control unit 100 performs an authorized user designation process. The cloud control unit 100 sets the authority to execute a workflow and the user in the workflow information 320 based on the user authority in the authority information 310. The cloud control unit 100 stores this workflow information 320 in the cloud storage unit 190. This completes the workflow creation process according to the embodiment of the present invention.
[0047] [Task allocation execution process by image forming system X] Next, a task allocation execution process by the image forming system X according to the embodiment of the present invention will be described with reference to FIGS. In the task allocation execution process according to this embodiment, tasks on the cloud side and local side are combined and automated via a workflow. In the task allocation execution process of this embodiment, mainly, on the cloud side, the control unit 10 of the cloud server 1 executes a program stored in the memory unit 19, and on the local side, the control unit 20 of the local server 2 executes a program stored in the memory unit 29 in cooperation with each unit, using hardware resources. The task allocation execution process according to this embodiment will be described in detail below for each step with reference to the flowchart in FIG.
[0048] (Step S111) First, the cloud control unit 100 of the cloud server 1 performs a workflow start process. Here, the user logs in from the terminal 4. This process is similar to the cloud login process in step S101 described above in FIG. 4. Then, in the cloud application, the user selects an arbitrary workflow and instructs execution. Then, the cloud control unit 100 transmits an instruction to start the workflow to the local server 2. Alternatively, the cloud control unit 100 can select a workflow and instruct execution according to the settings on the local side. That is, a user can log in to the cloud server 1 from the image forming apparatus 3 or a terminal on the local side, select a workflow, and instruct execution. Alternatively, if the image forming device 3 is configured to execute a workflow, the cloud control unit 100 may obtain a user instruction such as a button press via the local server 2, and select and start a workflow based on this instruction.
[0049] (Step S211) Here, the client control unit 200 of the local server 2 performs a client start process. When a workflow instruction is received from the cloud server 1, the client control unit 200 of the local server 2 starts execution and waits for instructions and files from the cloud server 1. At this time, communication between the local side and the cloud side can be performed securely using public key cryptography or the like. This makes it possible to execute processing on the local side according to the workflow. Alternatively, the client control unit 200 may be constantly running as a resident program or may be executed according to the settings of the task manager of the local server 2 or the OS such as CRON.
[0050] (Step S112) The following describes again the processing of the cloud server 1. The cloud control unit 100 of the cloud server 1 performs the task distribution processing. The cloud control unit 100 refers to the workflow information 320 according to the progress of the workflow, and distributes each task to the cloud server 1 or the local server 2. That is, the cloud control unit 100 distributes tasks executed by applications on the cloud side to the cloud server 1. On the other hand, it distributes tasks executed by applications on the local side to the local server 2. Specifically, for example, when acquiring document data 300, if a user uploads the document data 300 directly to the cloud side, the cloud control unit 100 may distribute the document data 300 to the cloud server 1. Alternatively, if the document data 300 is scanned and uploaded from the image forming device 3, the cloud control unit 100 may distribute the document data 300 to the local server 2.
[0051] Here, the cloud control unit 100 can also refer to the authority information 310 and change the allocation of each task according to the authority information 310 of the user who instructs the execution of the workflow. Specifically, for example, if the user does not have the authority to scan on the image forming device 3 according to the authority information 310, the cloud control unit 100 may assign a task of acquiring the document data 300 to the cloud server 1. In other words, the cloud control unit 100 may only permit uploading of files to the cloud server 1. Alternatively, if the user does not have the authority to access files on the cloud server 1, the task may be assigned to be executed on the local server 2 side.
[0052] Furthermore, the cloud control unit 100 can also change the allocation depending on the authority of the application executed on the local server 2. Specifically, for example, if the logged-in user has authority to execute an application related to the task in the local server 2 (hereinafter referred to as a "local application"), the cloud control unit 100 may assign the task to the local server 2. Conversely, if the logged-in user does not have permission to execute a local app but has permission to execute an app related to the task in cloud server 1 (hereinafter referred to as a "cloud app"), the cloud control unit 100 may assign the task to cloud server 1.
[0053] In addition, the cloud control unit 100 can set and restrict the storage destination and execution of the application based on the metadata of the document data 300 processed in the workflow. In this case, it may be possible to set in the workflow information 320 which document data 300 is to be used in the workflow according to a user's instruction before the workflow is executed.
[0054] (Step S113) Next, the cloud control unit 100 judges whether or not to execute the task in the cloud. The cloud control unit 100 judges Yes for a task assigned to the cloud server 1. The cloud control unit 100 judges No for other cases, that is, for a task assigned to the local server 2. If the answer is Yes, the cloud control unit 100 advances the process to step S114. If the result is No, the cloud control unit 100 advances the process to step S212.
[0055] (Step S114) In the case of a task assigned to the cloud server 1, the cloud task execution unit 110 performs cloud task execution processing. The cloud task execution unit 110 executes a task assigned to the cloud server 1 of the workflow. Specifically, the cloud task execution unit 110 executes a cloud app, for example, by issuing a task command according to the settings of the workflow information 320. At this time, the cloud task execution unit 110 can execute any process by a script that executes the cloud app. The execution result 330 of this cloud app and the task file 400 may be handed over to a subsequent task on the cloud side, or may be sent to the local server 2 for a local app on the local side. In other words, the file of the execution result 330 of the task may be obtained and handed over as input data for the next task. The cloud task execution unit 110 then advances the process to step S115.
[0056] (Step S212) In the case of a task assigned to the local server 2, the client control unit 200 performs a task receiving process. The client control unit 200 receives instructions for tasks assigned to the local server 2 from the cloud server 1, task files 400 for these tasks, and the like, and stores them in the local storage unit 290. At this time, the client control unit 200 may decrypt the encrypted instructions and task file 400. Alternatively, the client control unit 200 may directly pass the instructions and task file 400 to the local task execution unit 210.
[0057] (Step S213) Next, the local task execution section 210 performs local task execution processing. The local task execution unit 210 executes the tasks of the workflow assigned to the local server 2. Specifically, the local task execution unit 210 causes a local application to execute the tasks in accordance with the settings of the workflow information 320. At this time, the local task execution unit 210 may use a task file 400 that may be acquired from the cloud server 1. Alternatively, the local task execution unit 210 may execute a local application only in response to a task instruction based on the settings of the local server 2. At these times, the local task execution unit 210 is capable of executing any process by a script. Here, a task file 400 may be generated as a result of execution of the local app. In this case, in this embodiment, the local task execution unit 210 stores this task file 400 in the local storage unit 290. Then, the local task execution unit 210 generates a file cache of the difference from the previous version of the task file 400 as update information 340.
[0058] (Step S214) Next, the client control unit 200 performs an execution result transmission process. The client control unit 200 returns the execution result 330, the task file 400, the document data 300, etc. to the cloud side. As a result, the document data 300 and the task file 400 are processed, and other files are exchanged between the cloud server 1 and the local server 2. As a result, the cloud task execution unit 110 and the local task execution unit 210 process each task as a workflow, which is a series of tasks. The local task execution unit 210 may create and transmit a temporary file of the execution result 330 or the task file 400, or may transmit and receive data in specific units such as pages. If an error occurs during the execution of a local app or the generation of a file, the local task execution unit 210 may transmit information about this as the execution result 330.
[0059] (Step S215) Next, the client control unit 200 performs an update information transmission process. The client control unit 200 transmits to the cloud server 1 update information 340 of the task file 400 that is generated as a result of the execution of the local application.
[0060] (Step S115) Here, we will again explain the processing in the cloud server 1. The cloud control unit 100 and the update accumulation unit 120 of the cloud server 1 perform the result update accumulation processing. At this time, the cloud control unit 100 stores the execution result 330 in the cloud storage unit 190. At this time, the cloud control unit 100 may store the local side execution result 330 in the cloud storage unit 190 as a log. The cloud control unit 100 also acquires update information 340. The update accumulation unit 120 stores the update information 340 of the local-side task file 400 in the cloud storage unit 190 as a file cache for each version of the task file 400.
[0061] (Step S116) Here, the cloud control unit 100 performs a progress presentation process. In this process, the cloud control unit 100 can present the progress of the workflow execution in response to a request from another device. Specifically, when instructed by a user who has logged in from the terminal 4 or the image forming apparatus 3, the cloud control unit 100 presents the execution status of the workflow tasks. This allows the user to check the execution status from the web browser or dedicated app of the terminal 4, the operation panel of the image forming apparatus 3, etc. In other words, when the workflow processing is completed, an error has occurred, or has stopped, the user can check these via the UI. In addition, the cloud control unit 100 can also directly notify the user that a workflow task has been completed via email, SMS (Short Message Service), SNS (Social Networking Service), messenger service, IRC (Internet Relay Chat), etc.
[0062] (Step S117) Next, the cloud control unit 100 judges whether all tasks have been executed. The cloud control unit 100 judges Yes when all tasks of the workflow are completed. Here, the cloud control unit 100 may also judge Yes when the workflow is stopped due to an error. The cloud control unit 100 judges No in other cases. If the answer is Yes, the cloud control unit 100 ends the task allocation execution process. If an error occurs, it is possible to notify the user of the error. If No, the cloud control unit 100 returns the process to step S112 and continues executing the workflow task. This completes the task allocation execution process according to the embodiment of the present invention.
[0063] Now, with reference to FIG. 6, a specific example of this task allocation execution process will be described. 6 shows an example of executing a series of tasks T1 to T5 included in workflow information 320. In this example workflow, a cloud app and a local app must be combined to execute the series of tasks. For this reason, cloud server 1 distributes each task to cloud server 1 and local server 2. Specifically, the cloud app performs OCR processing, and the accounting information is updated in the local accounting app that is stored only on local server 2.
[0064] Execute workflows that you create to automate the execution of a series of tasks. First, as a task T1, a user logs in to the image forming apparatus 3, issues a workflow instruction, and scans a paper document. Then, the document data 300 is uploaded to the cloud side. Next, as task T2, the uploaded document data 300 is subjected to OCR processing. Next, in task T3, the character and numeric data obtained by this OCR is delivered as a task file 400, and price and supplier information is extracted. Next, for task T4, this price and supplier information are sent as a task file 400 to the local server 2, and the local accounting application is executed. This updates the accounting information, and this accounting information is stored in the local storage unit 290 as a new version of the task file 400. At this time, a file cache, which is a difference file between the new version of the task file 400 and the old accounting information, is generated as update information 340. Then, at least a portion of this task file 400 is included in the execution result 330, and sent to the cloud server 1 together with the generated update information. Next, as task T5, cloud server 1 receives execution result 330, converts it into a PDF, and stores this PDF in cloud storage unit 190. Cloud server 1 also receives update information 340, and stores it in cloud storage unit 190 as a log. This completes the execution of the workflow.
[0065] [File restoration process by image forming system X] Next, file restoration processing in a workflow by the image forming system X according to the embodiment of the present invention will be described with reference to FIG. In the file restoration process according to this embodiment, an older version of the task file 400 is restored via the workflow information 320 based on the update information 340 stored on the cloud side. In other words, the workflow can be reversed and the saved task file 400 can be restored to a previous version. At this time, since only the file cache, which is the update information 340, is stored on the cloud side, the capacity on the cloud side is not strained. The file restoration process in this embodiment mainly involves the control unit 10 of the cloud server 1 on the cloud side executing a program stored in the memory unit 19, and the control unit 20 of the local server 2 on the local side executing a program stored in the memory unit 29, in cooperation with each unit and using hardware resources. The file restoration process according to this embodiment will be described in detail below for each step with reference to the flowchart in FIG.
[0066] (Step S121) First, the cloud control unit 100 performs cloud login processing. Here, the user logs in to the cloud application via the terminal 4 or the image forming apparatus 3. This login process is similar to step S101 in FIG. 4 and step S111 in FIG.
[0067] (Step S122) Here, the cloud control unit 100 of the cloud server 1 judges whether the workflow was successful. The cloud control unit 100 refers to the log of the workflow execution result 330, and judges Yes if the series of tasks in the workflow were successful and the workflow execution is completed. In other cases, the cloud control unit 100 judges No as the workflow has failed. For example, the cloud control unit 100 can judge that the series of tasks in the workflow have failed if at least one of the workflow execution results 330 indicates a failure. If the answer is Yes, the cloud control unit 100 advances the process to step S123. If the answer is No, the cloud control unit 100 advances the process to step S124.
[0068] (Step S123) If the workflow is successful, the cloud control unit 100 performs an update file selection process. The cloud control unit 100 selects the file name of the task file 400, etc., according to instructions from the user via the UI. Then, the cloud control unit 100 selects the update information 340 of the workflow when the task file 400 to be restored to an older version was output. In other words, this update information 340 is the file cache when the task file 400 to be restored was output.
[0069] (Step S124) If the workflow fails, the cloud control unit 100 performs a failure result selection process. When the workflow execution result 330 is a failure, the cloud control unit 100 selects the update information 340 at the time of the failure. This makes it possible to select the update information 340 of the workflow that has output the task file 400 to be restored to the version before the failure.
[0070] (Step S125) Here, the cloud control unit 100 performs the update information transmission process. The cloud control unit 100 transmits update information 340, which becomes a file cache of the task file 400 to be restored, and a restoration instruction (command) to the local server 2. Here, the cloud control unit 100 may transmit multiple pieces of update information 340 if there are multiple previous versions up to that version.
[0071] (Step S221) Here, the client control unit 200 of the local server 2 judges whether or not the corresponding task file 400 exists. The client control unit 200 receives the update information 340 and the restoration instruction from the cloud server 1, and searches the local storage unit 290 to see whether or not the task file 400 to be restored exists. If the corresponding task file 400 exists, the client control unit 200 judges Yes. Otherwise, that is, if the task file 400 has been deleted or altered for some reason, the client control unit 200 judges No. If the answer is Yes, the client control unit 200 advances the process to step S222. If the answer is No, the client control unit 200 advances the process to step S224.
[0072] (Step S222) If the corresponding task file 400 exists, the client control unit 200 performs a file restoration process. The client control unit 200 executes a file restoration to restore an old version of the task file 400. Specifically, the client control unit 200 reads the task file 400 stored in the local storage unit 290, and generates a file restored to the old version based on the file cache of the update information 340.
[0073] (Step S223) Next, the client control unit 200 performs a cache storage process. The client control unit 200 stores the task file 400 before restoration execution as a file cache separately in the local storage unit 290. In other words, this file is a new version and is backed up just in case.
[0074] (Step S224) Here, the client control unit 200 performs a restoration result transmission process. The client control unit 200 notifies the cloud application that the task file 400 has been restored to the older version. Alternatively, if the corresponding task file 400 does not exist, the client control unit 200 can notify the cloud application of that fact. Furthermore, the client control unit 200 may transmit the task file 400 itself restored to the old version to the cloud server 1. This enables a user to access the cloud server 1 from the terminal 4 or the image forming device 3 and download and obtain the task file 400 of the old version. Alternatively, the client control unit 200 may transmit the file cache of the old version or the new version described above to the cloud server 1 again as update information 340. This completes the file restoration process according to the embodiment of the present invention.
[0075] With the above configuration, the following effects can be obtained. In typical technology, files processed by cloud apps are stored on the cloud side, meaning that the results of cloud app processing cannot be directly stored on a local server or client PC. However, depending on the user's environment, in the image formation workflow, there are cases where after a task is processed, the file for the next task needs to be transferred to the local side. In this case, the task file on the cloud side needs to be saved on the local side once. This requires double work. For this reason, there has been a demand for an information processing system that combines cloud-side tasks and local-side tasks and automates the processing using a workflow.
[0076] In contrast, an image forming system X according to an embodiment of the present invention is an information processing system that includes a cloud server 1 and a local server 2 and executes a workflow of image formation on a document, in which the cloud server 1 includes a cloud control unit 100 that assigns each task of the workflow to the cloud server 1 or the local server 2, and a cloud task execution unit 110 that executes the tasks assigned to the cloud server 1 by the cloud control unit 100, and the local server 2 includes a client control unit 200 that transmits and receives tasks and task execution results 330 between the cloud server 1 and the local server 2, and a local task execution unit 210 that executes the tasks assigned to the local server 2 obtained by the client control unit 200.
[0077] With this configuration, it is possible to combine cloud-side tasks and local-side tasks and automate and process them in a workflow. That is, the local server 2 is provided with a client control unit 200 that receives tasks from the cloud, and can receive and process tasks from the cloud server 1. This allows cloud-side and local-side tasks to be combined and automated in the image formation workflow.
[0078] Furthermore, in the image forming system X according to the embodiment of the present invention, the cloud control unit 100 changes the allocation of each task according to the authority information 310 of the user who instructs the execution of the workflow. With this configuration, it is possible to restrict the processing contents on the local side using the user authority information 310, etc., managed on the cloud side. This makes it possible to set or restrict the destination to save the task file 400, the execution of the application, etc., based on the user account settings, etc., set in the authority information 310. This makes it possible to set or restrict the contents of the task on the local side using the user information, etc. on the cloud side.
[0079] In addition, in the image forming system X according to the embodiment of the present invention, the cloud control unit 100 changes the allocation of each task according to the authority of the application executed on the local server 2 as the authority information 310. With this configuration, the content and order of task processing can be changed depending on the authority of the local application that cooperates on the local side. This makes it possible to execute tasks in a workflow more flexibly. Also, tasks can be processed more reliably.
[0080] In addition, in the image forming system X according to the embodiment of the present invention, the cloud control unit 100 is characterized in that it specifies executable authorities and users, and generates a workflow that includes a script for executing an app on the local server 2. With this configuration, it is possible to reliably execute a local application on the local side, and therefore, in a workflow, it is possible to reliably execute a series of tasks by linking the cloud side and the local side.
[0081] Furthermore, in the image forming system X according to the embodiment of the present invention, the cloud control unit 100 is characterized in that it presents the progress of the execution of the workflow in response to a request from another device. With this configuration, the user can check how far the workflow has progressed and where it failed on the UI, etc. In other words, since the log of the local side execution result 330 is stored on the cloud side, the progress of task execution on the local side can also be checked via the UI of a dedicated cloud app, etc. This meets the needs of users who want to manage local workflows on the cloud side.
[0082] In addition, while typical technologies allow users to synchronize files between the cloud and a local PC, this technology does not meet the needs of users who want to "not store files on the cloud" or "want to keep cloud storage costs as low as possible."
[0083] In contrast, an image forming system X according to an embodiment of the present invention is an information processing system that includes a cloud server 1 and a local server 2 and executes a workflow of image formation on a document, the cloud server 1 includes a cloud control unit 100 that assigns each task of the workflow to the cloud server 1 or the local server 2, and an update accumulation unit 120 that accumulates update information 340 of a task file 400 related to the task assigned to the local server 2 by the cloud control unit 100, and the local server 2 includes a client control unit 200 that transmits and receives the execution results 330 of the tasks assigned from the cloud server 1 and the update information 340 between the cloud server 1 and the cloud server 1, and a local storage unit 290 that stores the task file 400 related to the task assigned to the local server 2, which is obtained by the client control unit 200.
[0084] With this configuration, the actual task file 400 is stored on the local side, and only the update information 340 is provided on the cloud side, so there is no need to store the task file 400 on the cloud side. In other words, a file cache for version management can be saved on the cloud side as the update information 340, and old versions of files can be restored via a workflow. In addition, since the task file 400 itself is not stored on the cloud side, storage costs on the cloud side can be reduced. Furthermore, security can be improved.
[0085] Furthermore, in the image forming system X according to an embodiment of the present invention, the cloud control unit 100 transmits update information 340 to the local server 2 in response to instructions from a workflow user, and the client control unit 200 restores the task file 400 stored in the local storage unit 290 to an older version based on the update information 340. With this configuration, it is possible to trace the workflow in reverse and restore the task file 400 stored locally to a previous version, improving usability for the user.
[0086] Furthermore, in the image forming system X according to the embodiment of the present invention, the cloud control unit 100 is characterized in that it selects update information 340 based on the workflow execution result 330 and restores the task file 400 to an older version. With this configuration, any old version of the task file 400 can be restored based on a user instruction, thereby improving user convenience.
[0087] Furthermore, in the image forming system X according to the embodiment of the present invention, the cloud control unit 100 is characterized in that, if the workflow execution result 330 is a failure, the task file 400 is restored to the version before the failure. With this configuration, even if a series of tasks in the workflow fails midway, it is possible to return to the state immediately prior to the failure. This makes it easy to correct the workflow information 320 and execute the workflow again, improving user convenience.
[0088] Other Embodiments In the above embodiment, an example has been described in which tasks are assigned based on the workflow information 320 that has already been set. However, in an image forming system X according to another embodiment of the present invention, the cloud control unit 100 may set and restrict the storage destination and the execution of the application based on metadata of the document data 300 processed in the workflow.
[0089] With this configuration, it is possible to dynamically set or restrict the save destination and application execution according to the metadata of the document data 300. Therefore, for example, workflow information 320 can be selected according to the document data 300 uploaded by the user. In addition, task allocation can be changed according to the conditions set in the selected workflow information 320. In other words, it is possible to change whether each task is allocated to the cloud side or the local side depending on the metadata setting of the document data 300. Therefore, for example, for each task in the workflow, for document data 300 of a user who does not have permission to use a local application on the local server 2, a cloud application can be executed on the cloud server 1. Conversely, for document data 300 of a user who does not have permission to use a cloud application on the cloud server 1, a local application can be executed on the local server 2.
[0090] In the above embodiment, a series of tasks is shared between the cloud server 1 and the local server 2. However, the entire series of tasks may be executed by either device. For example, if processing by the local server 2 is more convenient in terms of processing time, convenience, security, etc., the entire series of tasks may be executed by the local server 2. Alternatively, in a configuration in which the local server 2 is equipped with only the client control unit 200, the local server 2 may simply store the task file 400, and the cloud server 1 may execute all the actual tasks.
[0091] In the above embodiment, an example has been described in which the cloud server 1 is provided as the cloud device, and the local server 2 is provided as the local device. However, the local device on the local side may be a user's client PC or an image forming device 3. If the local device is a highly functional image forming device 3, it may execute a series of tasks such as image processing, OCR processing, classification processing, and transmission processing. In addition, the cloud server 1 may also be assigned to execute the tasks. By configuring in this way, a series of tasks can be executed with optimal efficiency and speed according to the installation environment.
[0092] In the above embodiment, an example in which only one local server 2 is provided has been described in FIG. 1. However, there may be a plurality of local servers 2. In this case, a local server 2 may exist for each intranet. In addition, tasks may be distributed to each local server 2 and image forming device 3. In addition, there may be a plurality of cloud servers 1. Such a configuration allows tasks to be flexibly allocated to each device for efficient processing.
[0093] In the above embodiment, the execution result 330 is obtained after the task of the workflow is executed. However, the cloud server 1 may obtain the execution result 330 after the execution of successive tasks on the local side is completed or has failed, or after all tasks on the cloud side and the local side are completed or have failed. With this configuration, it is possible to reduce the processing load and network load for obtaining the execution result 330, and to obtain the execution result 330 that matches the state of the device at the time of execution. Therefore, it is possible to increase the possibility of efficiently executing the processing of each task.
[0094] The present invention can also be applied to a document reading device other than the image forming device 3. Also, the document reading device and the local server 2 may be directly connected to each other without using the network 5. In other words, the present invention may be configured to use a network scanner, a server to which a scanner is separately connected via USB or the like. With this configuration, it becomes possible for document reading devices other than the image forming device 3 to share tasks and perform efficient processing at high speed.
[0095] In the above embodiment, the task sharing of the scan workflow related to capturing an original is described as the image formation workflow. However, other types of workflows can be supported. Tasks other than image processing, OCR processing, extraction processing, classification processing, and transmission processing can also be shared. Such a configuration allows tasks to be flexibly shared and executed.
[0096] Furthermore, the cloud server 1 and the local server 2 may include a control and calculation unit for performing OCR processing, classification processing, etc. at high speed, in addition to the control units 10 and 20. This control and calculation unit may be an ASIC, DSP, or an external accelerator for performing specific calculations such as an artificial neural network at high speed.
[0097] Additionally, in the terms used herein, the singular forms "a," "an," and "the" include the plural forms as well, unless the context clearly indicates otherwise.
[0098] Furthermore, it goes without saying that the configurations and operations of the above-described embodiments are merely examples and can be modified as appropriate without departing from the spirit and scope of the present invention. [Explanation of symbols]
[0099] 1. Cloud Server 2. Local Server 3. Image forming equipment 4. Terminal 5. Network 6. Firewall 10, 20 Control section 15 Network Transmitter / Receiver 19, 29 Memory section 100 Cloud Control Unit 110 Cloud Task Execution Unit 120 Update storage section 190 Cloud Storage 200 Client control section 210 Local Task Execution Unit 290 Local Storage 300 Document Data 310 Authority Information 320 Workflow Information 330 Execution result 340 Update information 400 Task Files X Image Formation System
Claims
1. An information processing system including a cloud device and a local device, and executing a workflow of image formation on a document, The cloud device includes: a cloud control unit that distributes each task of the workflow to the cloud device or the local device; a cloud task execution unit that executes a task assigned to the cloud device by the cloud control unit, The local device includes: a client control unit that transmits and receives the tasks and the execution results of the tasks assigned to the local device from the cloud device to the cloud device; a local task execution unit that executes the task assigned to the local device, the task being acquired by the client control unit; An information processing system comprising:
2. The cloud control unit, The allocation of each of the tasks is changed according to the authority information of the user who instructs the execution of the workflow.
2. The information processing system according to claim 1 .
3. The cloud control unit, The allocation of each of the tasks is changed according to the authority of the application executed on the local device as the authority information.
3. The information processing system according to claim 2.
4. The cloud control unit, Generate the workflow with a script to run the app on the local device, specifying the executable permissions and users.
4. The information processing system according to claim 3.
5. The cloud control unit, The progress of the execution of the workflow is presented in response to a request from another device.
2. The information processing system according to claim 1 .
6. An image forming system including a cloud device and a local device, and executing a workflow of image formation on a document, The cloud device includes: a cloud control unit that distributes each task of the workflow to the cloud device or the local device; a cloud task execution unit that executes a task assigned to the cloud device by the cloud control unit, The local device includes: a client control unit that transmits and receives the tasks and the execution results of the tasks assigned to the local device from the cloud device to the cloud device; a local task execution unit that executes the task assigned to the local device, the task being acquired by the client control unit; 1. An image forming system comprising:
7. The cloud control unit, The allocation of each of the tasks is changed according to the authority information of the user who instructs the execution of the workflow.
7. The image forming system according to claim 6.
8. The cloud control unit, The allocation of each of the tasks is changed according to the authority of the application executed on the local device as the authority information.
8. The image forming system according to claim 7.
9. The cloud control unit, Generate the workflow with a script to run the app on the local device, specifying the executable permissions and users.
9. The image forming system according to claim 8.
10. The cloud control unit, The progress of the execution of the workflow is presented in response to a request from another device.
7. The image forming system according to claim 6.
11. An information processing method executed by an information processing system that includes a cloud device and a local device and executes a workflow of image formation on a document, the method comprising: The cloud device distributes each task of the workflow to the cloud device or the local device; Executing the tasks assigned to the cloud device by the cloud device; receiving, by the local device, the task assigned to the local device from the cloud device; executing the task assigned to the local device by the local device; The local device transmits a result of the execution of the task to the cloud device.
23. An information processing method comprising:
12. The allocation of each of the tasks is changed according to the authority information of the user who instructs the execution of the workflow.
12. The information processing method according to claim 11.
13. The allocation of each of the tasks is changed according to the authority of the application executed on the local device as the authority information.
13. The information processing method according to claim 12.
14. Generate the workflow with a script to run the app on the local device, specifying the executable permissions and users.
14. The information processing method according to claim 13.
15. The progress of the execution of the workflow is presented in response to a request from another device.
12. The information processing method according to claim 11.
Citation Information
Patent Citations
Information processor and control method thereof
JP2006343955A
