This application claims priority to korean patent application No. 10-2015-0119821, filed in the korean intellectual property office at 25/8/2015, the entire disclosure of which is incorporated herein by reference.
Detailed Description
The following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of various embodiments of the disclosure as defined by the claims and their equivalents. It includes various specific details to assist understanding, but these should be considered exemplary only. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the various embodiments described herein can be made without departing from the scope and spirit of the present disclosure. In addition, descriptions of well-known functions and constructions may be omitted for clarity and conciseness.
The terms and words used in the following description and claims are not limited to dictionary meanings, but are used only by the inventor to enable a clear and consistent understanding of the disclosure. Accordingly, it should be apparent to those skilled in the art that the following description of the various embodiments of the present disclosure is provided for illustration only and not for the purpose of limiting the disclosure as defined by the appended claims and their equivalents.
It should be understood that the singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to "a component surface" includes reference to one or more of such surfaces.
By the term "substantially" it is meant that the characteristic, parameter or value does not need to be exactly achieved, but rather a deviation or variation, including for example tolerances, measurement error, measurement accuracy limitations and other factors known to those skilled in the art, may occur in an amount that does not preclude the effect that the characteristic is intended to provide.
When terms such as "including" or "comprising" are used in the present specification, these terms, which may be used to mean all of several components or operations disclosed in the specification, are necessarily included, and some of the components or operations thereof may not be included, or additional components or operations may be further included.
In addition, terms including ordinal numbers such as "first" and "second" used in the present specification may be used to describe various elements, but the elements are not limited by the terms. The term is used only to classify one element from another.
Embodiments herein relate to an apparatus for supporting a cloud print service and a method of providing the cloud print service, and thus, detailed descriptions of features well known to those of ordinary skill in the art to which the following embodiments belong will be omitted.
Fig. 1 illustrates an image forming apparatus for generating a workflow according to an embodiment of the present disclosure.
Referring to fig. 1, in an image forming apparatus 100 according to an embodiment of the present disclosure, a user may generate and manage a workflow of an image forming job through a User Interface (UI). Here, the work flow defines the content and the running order of jobs by using various functions provided by the image forming apparatus 100.
The image forming apparatus 100 may be a device such as a printer, a scanner, a facsimile machine, or a multifunction product (MFP), supports the execution of image forming jobs such as scanning, printing, and facsimile transmission and reception, and may provide various functions such as a printing function, a scanning function, a copying function, a facsimile function, an e-mail transfer function, a storage function, a character recognition function, and a File Transfer Protocol (FTP) function. The image forming apparatus 100 may also provide a monitoring function that can be periodically operated without a user request, such as a toner (toner) remaining amount monitoring function.
The user can generate a workflow by combining various functions in a desired order via the image forming apparatus 100. For example, the user may sequentially select a scan function and an email transfer function in order to scan a document and send image data by email. The image forming apparatus 100 may receive an input of a user, and generate and store a first workflow in which a scanning function and an email transfer function are combined so as to be sequentially executed.
By selecting workflows stored in the image forming apparatus 100, a user can quickly and easily use various functions provided by the image forming apparatus 100. In addition, the image forming apparatus 100 may provide a list of selectable functions to a user through the UI so that the user can easily generate and manage a workflow.
More specifically, when generating a first workflow defined as sequentially executing a first function and a second function, the image forming apparatus 100 may provide a list of selectable first functions to a user through the UI. The image forming apparatus 100 may determine functions available for composing a workflow by acquiring and analyzing metadata of an application for running various functions. For example, the image forming apparatus 100 may provide a function that generates output data as a result of the operation of the function to the list of the first function by analyzing the metadata.
In addition, by using information on the selected first function, the image forming apparatus 100 may provide a list of second functions that can be continuously run following the first function selected by the user from the first function list. For example, the image forming apparatus 100 may use information on the output data of the selected first function. The image forming apparatus 100 may provide a second function having information on input data corresponding to information on output data of the selected first function to the list of second functions. Alternatively, the image forming apparatus 100 may provide a function that requires input of data to operate the function to the list of the second function.
By receiving a user input for selecting any one of the second functions from the list of second functions, the image forming apparatus 100 may generate and store a first workflow defined to sequentially execute the selected first function and second function.
Fig. 2 to 4 illustrate operations of an image forming apparatus generating a workflow according to an embodiment of the present disclosure.
The operations illustrated in fig. 2 to 4 may be performed by an application (dynamic workflow (DW) application) installed in the image forming apparatus 100 to generate a workflow. For example, the screen image 200 of fig. 2 is an example of a running screen image of the DW application installed in the image forming apparatus 100.
Referring to fig. 2, a user may select a first function 210 and a second function 220 on the image forming apparatus 100 to be included in a first workflow. However, the present embodiment is not limited thereto, and the user may select more functions on the image forming apparatus 100 when generating a workflow including three or more functions.
The first function and the second function are various functions that the image forming apparatus 100 can provide, and may include, for example, a printing function, a scanning function, a copying function, a facsimile function, an e-mail transfer function, a storage function, a character recognition function, and an FTP function. The image forming apparatus 100 may transmit job data to various network servers such as an FTP server and a Server Message Block (SMB) server, a user terminal, or another image forming apparatus through a wired and/or wireless network connection. However, the first function and the second function are not limited to the above-described examples, and may include various functions in which an application installed in the image forming apparatus 100 can be run. Each application installed in the image forming apparatus 100 may perform one or more functions.
The image forming apparatus 100 can determine functions usable to constitute a workflow by DW application among various functions provided by the image forming apparatus 100. For example, the image forming apparatus 100 may determine available functions by acquiring and analyzing metadata of applications installed in the image forming apparatus 100 for running various functions. The image forming apparatus 100 may provide the determined available function to the first function list or the second function list.
The image forming apparatus 100 may acquire information about each function by analyzing metadata of the application. For example, the information on each function may include a name of the function, information on input data of the function, information on output data, icon information, and the like.
For example, for a "scan function" run by a scan application, the information about the output data of the function may include, for example, a jpg format as information indicating a file format of image data that may be scanned. In addition, the information on the "scan function" may not include information on the input data. For example, the "scan function" does not require input data.
In addition, for the "print" function executed by the print application, the information on the input data of the function may include, for example, a pdf format which is information indicating a file format printable by the image forming apparatus 100. In addition, the information on the "print function" may not include information on the output data. For example, the "print function" does not require output data.
In addition, the "box (box) function" may include a function of storing data in the image forming apparatus 100 or reading data stored in the image forming apparatus 100. For the "box function", the information on the input data of the function may include, for example, a pdf format as information indicating a file format storable in the image forming apparatus 100. In addition, the information on the output data of the "box function" may include a pdf format or the like as information indicating a file format readable from the image forming apparatus 100.
In addition, the information on the input data of the "FTP function" may indicate a file format transmittable to the FTP server, and may not include information on the output data of the "FTP function".
In addition, the information on the input data of the "character recognition function" may include, for example, a pdf format as information indicating a file format that may be a target of performing character recognition. In addition, the information on the output data of the "character recognition function" may include, for example, doc format, which is information indicating a file format of data in which character recognition can be performed.
In addition, the monitoring function may include a "toner remaining amount monitoring function" or the like. For example, the output data of the "toner remaining amount monitoring function" may indicate the monitoring result, and may not include the input data thereof.
The present embodiment is not limited to the above-described example, and the image forming apparatus 100 can acquire information on various functions.
The image forming apparatus 100 may provide the first function list or the second function list to the user by using the acquired information on each function. The user may select a first function or a second function for composing the workflow from the provided first function list or second function list.
For example, referring to fig. 2, the image forming apparatus 100 may provide the first function list 230 to the user through the DW application. In other words, the image forming apparatus 100 may provide the list 230 of available first functions determined based on the information on the functions. The image forming apparatus 100 may provide the first function list 230 by displaying the determined available first function as an activated state among all functions.
The image forming apparatus 100 may provide all the first functions available to constitute the workflow to the first function list 230. Alternatively, the image forming apparatus 100 may provide the first function list 230 with a first function that does not require input of data. Alternatively, the image forming apparatus 100 may provide the first function list 230 with the first function that causes data to be output.
Alternatively, the image forming apparatus 100 may provide the first function list 230 with the first function according to the right constraint of the user.
The user may select any one of the first functions from the first function list 230. For example, the user may select the scan function by touching and dragging a scan function icon in the first function list 230 on the screen image 200 to the location of the first function 210.
The image forming apparatus 100 may display the selected scan function icon at the position of the first function 210. Referring to fig. 3, an icon of a "scan function" is displayed at the position of the first function 210. In this case, if the first function 210 is selected, the image forming apparatus 100 may disable (shade) the functions in the first function list 230.
Referring to fig. 3, the image forming apparatus 100 may provide a list 330 of second functions that can continuously run next to the selected first function 310 by using information about the first function 310.
More specifically, the image forming apparatus 100 may acquire and use information about output data of the first function 310. The image forming apparatus 100 may determine a second function having information on input data corresponding to information on output data of the first function 310 among functions that may constitute a workflow as a selectable second function and display the selectable second function in the second function list 330. For example, the image forming apparatus 100 may display the determined selectable second function as an activated state and display the other functions as a deactivated state.
For example, referring to fig. 3, the information on the output data of the selected first function (scan function) 310 may indicate a jpg format. In this case, the image forming apparatus 100 may determine a print function, a box function, and the like having information on input data corresponding to the jpg format as a selectable second function, and display the determined selectable second function in the second function list 330. The image forming apparatus 100 can display a function having information on input data that does not correspond to the jpg format, such as a character recognition function, as a disabled state in the second function list 330.
The image forming apparatus 100 may provide the second function list 330 with the second functions available for composing the entirety of the workflow. Alternatively, the image forming apparatus 100 may provide the second function list 330 with a second function that does not require output data. Alternatively, the image forming apparatus 100 may provide the second function list 330 with a second function that requires data to be input.
Alternatively, the image forming apparatus 100 may provide the second function list 330 with the second function restricted according to the right of the user.
The user can select any one of the second functions from the second function list 330. For example, the user may select a print function by touching and dragging a print function icon in the second print function list 330 on the screen image 300 to the position of the second function 320.
The image forming apparatus 100 may display the selected print function icon at the position of the second function 320.
Referring to fig. 4, the image forming apparatus 100 may provide a user with various UIs 430 for generating (adding), storing, deleting, and editing workflows, and generate and manage workflows according to user input.
For example, in fig. 4, when an input for adding a workflow is received from a user through the UI 430, the image forming apparatus 100 may generate and store a first workflow defined to sequentially execute the first function 410 and the second function 420.
In addition, the image forming apparatus 100 can dynamically display the functions of the applications installed in the image forming apparatus 100 by updating the function list on the screen images 200, 300, and 400 of fig. 2 to 4. For example, when an application having a new function is installed, the image forming apparatus 100 may dynamically add the function of the application to the first function list or the second function list and provide the updated first function list or the second function list.
For example, after the screen image 200 of fig. 2 is displayed by the DW application, a new application may be installed in the image forming apparatus 100. In this case, the image forming apparatus 100 may acquire and analyze metadata of the newly installed application.
The image forming apparatus 100 can acquire information on functions that can be provided by the new application by analyzing the metadata. The image forming apparatus 100 may update the first function list or the second function list according to the acquired information on the function.
For example, the image forming apparatus 100 may determine that a function list, which is at least one of the first function list and the second function list, is to be updated according to the acquired information on the function. When the acquired information on the function has information on the output data, the image forming apparatus 100 may update the first function list by additionally displaying the function in the first function list. In addition, when the acquired information on the function has information on the input data, the image forming apparatus 100 may update the second function list by additionally displaying the function in the second function list.
In addition, when the acquired information on the function has both information on the output data and information on the input data, the image forming apparatus 100 may display the function in both the first function list and the second function list.
For example, when an application such as Google Drive is used to provide a cloud service, the image forming apparatus 100 may update the function list according to information about the cloud service function. The information on the input data of the cloud service function may indicate a file format transmittable to the cloud server, and the information on the output data of the cloud service function may not exist. Accordingly, the image forming apparatus 100 may add the cloud service function to the second function list according to the information on the cloud service function. The second function list may be updated to include icons of cloud service functions.
Fig. 5 illustrates a screen image of options for setting functions included in a workflow in an image forming apparatus according to an embodiment of the present disclosure.
Referring to fig. 5, the image forming apparatus 100 may provide a UI for setting options of respective functions. More specifically, when the first function is selected, the image forming apparatus 100 may run an application for running the selected first function. The image forming apparatus 100 may receive a setting value for the first function from the user through the UI for setting an option provided by the application being operated. When receiving the setting value, the image forming apparatus 100 may end the application for running the first function. The image forming apparatus 100 may match the received setting value with the first function.
For example, when the scan function is selected as the first function, the image forming apparatus 100 may provide a UI screen image for setting options provided by the scan application by operating the scan application. The image forming apparatus 100 can receive a format, a resolution, a size, and the like of a scanned document as setting values from a user through option settings corresponding to a scanning function.
In addition, when the user selects the second function, the image forming apparatus 100 can acquire the setting value corresponding to the second function by the same operation as described above.
The image forming apparatus 100 may generate and store a workflow including the received setting values corresponding to the first function and the second function, respectively.
Fig. 6 illustrates a list of workflows generated by an image forming apparatus according to an embodiment of the present disclosure.
The screen image 600 of fig. 6 is another example of a running screen image of the DW application installed in the image forming apparatus 100.
Referring to fig. 6, the image forming apparatus 100 may display and provide the stored workflow to the user. For example, the image forming apparatus 100 may display information about the name, type, creation date, and the like of the workflow as a list.
Alternatively, the image forming apparatus 100 may selectively display workflows available according to the rights of the user among the stored workflows. For example, the image forming apparatus 100 may display a workflow available according to the right of the user as an activated state.
The user may select any of the displayed workflows to run the selected workflow. The image forming apparatus 100 may sequentially execute each function included in the selected workflow. More specifically, the image forming apparatus 100 may run the workflow by sequentially running respective applications for running respective functions included in the workflow.
In addition, if a predefined condition is satisfied, the image forming apparatus 100 may run the workflow without a selection of the user.
Fig. 7 illustrates a flowchart of a method of generating a workflow by an image forming apparatus according to an embodiment of the present disclosure.
Referring to fig. 7, in operation 710, the image forming apparatus 100 may provide a list of selectable first functions. For example, the image forming apparatus 100 can determine each function available to constitute the workflow by acquiring and analyzing metadata of an application for running each function.
The image forming apparatus 100 may acquire information about each function by analyzing metadata of the application. For example, the information on each function may include a name of the function, information on input data of the function, information on output data, icon information, and the like.
The image forming apparatus 100 may provide the first function list to the user by using the acquired information on each function. For example, the image forming apparatus 100 may provide the first function to the first function list that does not require input of data. Alternatively, the image forming apparatus 100 may provide the first function list with the first function according to the right constraint of the user. The image forming apparatus 100 may provide the first function list by displaying the available first function determined from all the functions as an activated state.
In operation 720, the image forming apparatus 100 may receive a user input for selecting any one of the first functions from the list of the first functions.
When the first function is selected, the image forming apparatus 100 may run an application for running the first function to provide a UI for setting options provided by the application. The image forming apparatus 100 may receive a setting value of an option corresponding to the first function from the user through the provided UI.
In operation 730, the image forming apparatus 100 may provide a list of second functions continuously executable following the selected first function by using information on output data of the selected first function.
More specifically, the image forming apparatus 100 can acquire and use information on output data of the first function. The image forming apparatus 100 may determine a second function having information on input data corresponding to information on output data of the first function among functions that may constitute a workflow as a selectable second function, and display the determined selectable second function in a second function list. For example, the image forming apparatus 100 may display the determined selectable second function as an activated state and display the other functions as a deactivated state.
Alternatively, the image forming apparatus 100 may provide the second function list with all the second functions available for constituting the workflow. Alternatively, the image forming apparatus 100 may provide the second function list with a second function that does not require output data. Alternatively, the image forming apparatus 100 may provide the second function list with the second function according to the right constraint of the user.
In operation 740, the image forming apparatus 100 may receive a user input for selecting any one of the second functions from the list of the second functions.
When the second function is selected, the image forming apparatus 100 may run an application for running the second function to provide a UI for setting options provided by the application. The image forming apparatus 100 may receive a setting value of an option corresponding to the second function from the user through the provided UI.
In operation 750, the image forming apparatus 100 may generate and store a workflow defined to sequentially execute the selected first and second functions.
The image forming apparatus 100 may provide a user with various UIs for generating (adding), storing, deleting, and editing workflows, and generate and manage workflows according to user input.
In addition, the image forming apparatus 100 may generate and store a workflow including additionally received setting values corresponding to the first function and the second function, respectively.
Fig. 8 illustrates a block diagram of an image forming apparatus for generating a workflow according to an embodiment of the present disclosure.
Referring to fig. 8, the image forming apparatus 100 according to the embodiment may include a UI unit 110, a controller 120, and a storage device 130. In fig. 8, only components related to the present embodiment are shown to prevent obscuring the features of the present embodiment. However, those of ordinary skill in the art will appreciate that general purpose hardware components other than those shown in FIG. 8 may be included.
The UI unit 110 may be a hardware configuration configured to provide information to a user and receive input from the user. The UI unit 110 may include a display having a display function such as a monitor, a touch screen, a Liquid Crystal Display (LCD), or a Light Emitting Diode (LED), and an input device having an input function such as a touch panel, a keyboard, a mouse, and physical buttons.
The UI unit 110 may provide the first function list and the second function list to the user and receive a user input for selecting the first function and the second function.
In addition, the UI unit 110 may provide a UI for setting options when receiving a user input for selecting the first function or the second function.
In addition, the UI unit 110 may provide the user with a list of stored workflows. Alternatively, the UI unit 110 may selectively display workflows available according to the user's rights among the stored workflows.
The controller 120 is configured to control general operations of the image forming apparatus 100, and may include, for example, a Central Processing Unit (CPU).
The controller 120 may run a DW application installed in the image forming apparatus 100 for generating a workflow.
The controller 120 can determine a first function selected to be provided to the first list of functions. More specifically, the controller 120 may acquire information about functions and determine the first function list based on the acquired information.
In addition, the controller 120 may acquire information on functions by acquiring and analyzing metadata of applications for respectively running the functions. The controller 120 may synthesize the acquired information about the function and store the synthesized information as an extensible markup language (XML) file.
The controller 120 can provide the first function list with a first function that does not require input data. Alternatively, the image forming apparatus 100 may provide the first function list with the first function according to the right constraint of the user. The image forming apparatus 100 may provide the first function list by displaying the available first function determined from all the functions as an activated state.
In addition, the controller 120 may determine a second function that is selectable. The controller 120 may acquire information on functions and determine the second function list based on the acquired information. More specifically, the controller 120 may determine a second function continuously executable following the selected first function by using information on output data of the selected first function to provide a list of the second functions.
More specifically, the controller 120 may determine a second function having information on input data corresponding to information on output data of the first function among the functions that may constitute the workflow as a selectable second function, and display the determined selectable second function in a second function list. For example, the controller 120 may display the determined selectable second function as an activated state and display the other functions as a deactivated state.
Alternatively, the controller 120 may provide all of the second functions available to compose the workflow to the second function list. Alternatively, the controller 120 may provide a second function that does not require output data to the second function list. Alternatively, the controller 120 may provide the second function list with the second function according to the right constraint of the user.
The controller 120 can generate a workflow defined to sequentially run the selected first and second functions.
The controller 120 can generate (add), store, delete, and edit workflows according to the user's input.
In addition, when a workflow is selected by the user, the controller 120 may read information about the selected workflow and execute the selected workflow. The controller 120 may sequentially run the functions included in the selected workflow.
For example, when a first workflow including a first function and a second function is selected, the controller 120 may execute the first function by operating an application for executing the first function, and after completing the operation of the first function, execute the second function by operating an application for executing the second function.
The storage device 130 is configured to store various data in order to support a cloud print service in the image forming apparatus 100, and may include, for example, a volatile memory such as a Random Access Memory (RAM), a non-volatile memory such as a Read Only Memory (ROM), a Hard Disk Drive (HDD), or a Solid State Drive (SSD).
For the functions provided by the image forming apparatus 100, the storage 130 may integrate and store information about the functions acquired from metadata of applications for respectively running the functions.
When generating the workflow, the storage 130 may store information about the content and an operation order of functions included in the workflow. When the setting value corresponding to each function is received in the generation of the workflow, the storage device 130 may also store the setting value corresponding to each function.
Fig. 9 illustrates a signaling diagram of a method of generating a workflow by an image forming apparatus according to an embodiment of the present disclosure.
Referring to fig. 9, the DW application 901, the first function application 903, and the second function application 905 may be a module for running the DW application, a module for running an application of a first function, and a module for running an application of a second function, respectively. All of the DW application 901, the first function application 903, and the second function application 905 may be installed inside the image forming apparatus 100.
When a user desires to generate a workflow, the user can run the DW application 901. The user can access the user account of the DW application 901 by inputting user identification information. The DW application 901 may restrictively provide the user with functions of generating, managing, and running workflows according to user rights corresponding to user accounts.
In operation 910, the DW application 901 may receive a request from a user to generate a workflow.
If a request to generate a workflow is received, the DW application 901 may request information about the first function from the first function application 903 in operation 915. The DW application 901 may request information about a first function from a plurality of first function applications 903.
In operation 920, the DW application 901 may receive information about the first function from the first function application 903.
In operation 925, the DW application 901 may provide a first function list based on the received information about the first function.
In operation 930, the DW application 901 may receive a user input for selecting any one of the first functions from the first function list.
In operation 935, the DW application 901 may run the first function application 903 to set an option corresponding to the selected first function.
In operation 940, the running first function application 903 may receive a setting value corresponding to the first function from the user through the UI for option setting of the first function application 903.
In operation 945, the first function application 903 may transmit the received setting value to the DW application 901.
In operation 950, the DW application 901 may provide a second function list by using the information on the first function. For example, the DW application 901 may provide the second function having information on the input data corresponding to the information on the output data of the first function to the second function list.
In operation 955, the DW application 901 may receive a user input for selecting any one of the second functions from the second function list. In this case, as described above for the first function, the DW application 901 may run the second function application 905 to set an option corresponding to the selected second function, and receive a setting value corresponding to the selected second function from the second function application 905.
In operation 960, the DW application 901 may generate and store a workflow defined to sequentially run the selected first and second functions. The DW application 901 may also store the received setting values corresponding to each function when receiving the setting values corresponding to each function.
Fig. 10 illustrates a signaling diagram of a method of an image forming apparatus running a workflow according to an embodiment of the present disclosure.
Referring to fig. 10, the DW application 1001, the first function application 1003, and the second function application 1005 may be a module for running the DW application, a module for running an application of a first function, and a module for running an application of a second function, respectively. All of the DW application 1001, the first function application 1003, and the second function application 1005 may be installed inside the image forming apparatus 100.
By selecting workflows stored in the image forming apparatus 100, a user can quickly and easily use various functions provided by the image forming apparatus 100. For example, when a user desires to use a workflow, the user may select the workflow by running the DW application 1001. The user can access the user account of the DW application 1001 by entering user identification information. The DW application 1001 may restrictively provide the user with functions of generating, managing, and running workflows according to user rights corresponding to user accounts.
More specifically, the DW application 1001 may provide a list of workflows stored in the image forming apparatus 100 to the user.
In operation 1010, the DW application 1001 may obtain a run request for any of the workflows in the list. The DW application 1001 may read information about the selected workflow and run the selected workflow. The information on the selected workflow may include contents and an operation order of functions included in the workflow, and may further include a setting value corresponding to each function.
In operation 1015, the DW application 1001 may run a first function application 1003 for running a first function.
In operation 1020, the first function application 1003 may execute a first function. If the first function has input data, the first function application 1003 may receive and use the input data of the first function from the DW application 1001 and also receive and use a setting value corresponding to the first function.
If the execution of the first function is completed, the first function application 1003 may transmit the execution result of the first function to the DW application 1001 in operation 1025. For example, the operation result of the first function may include output data according to the operation of the first function and information indicating whether the first function has been successfully operated.
In operation 1030, the DW application 1001 may receive the execution result of the first function and determine whether a subsequent function to be executed exists. The DW application 1001 may determine whether a subsequent function to be executed exists based on the execution result of the first function and information on the selected workflow.
If a second function exists as a subsequent function to be executed, the DW application 1001 may operate the second function application 1005 for executing the second function in operation 1035.
In operation 1040, the second function application 1005 may execute a second function. If the second function has input data, the second function application 1005 may receive and use the input data of the second function from the DW application 1001 and also receive and use a setting value corresponding to the second function. The input data of the second function may be output data of the first function, which is included in the operation result of the first function.
If the execution of the second function is completed, the second function application 1005 may transmit the execution result of the second function to the DW application 1001 in operation 1045. For example, the operation result of the second function may include output data according to the operation of the second function and information indicating whether the second function has been successfully operated.
In operation 1050, the DW application 1001 may receive the execution result of the second function and determine whether a subsequent function to be executed exists. If there is no subsequent function to be executed, the DW application 1001 may store the execution result of the workflow in the image forming apparatus 100 in operation 1055. The results of the execution of the workflow may include output data and information indicating whether the workflow has been successfully executed. The DW application 1001 may provide the user with the results of the execution of the workflow.
Fig. 11 illustrates a signaling diagram of a method of an image forming apparatus running a workflow according to an embodiment of the present disclosure.
Referring to fig. 11, a DW application 1101, a first function application 1103, and a second function application 1105 may be a module for running the DW application, a module for running an application of a first function, and a module for running an application of a second function, respectively. All of the DW application 1101, the first function application 1103, and the second function application 1105 may be installed inside the image forming apparatus 100.
The image forming apparatus 100 may execute a workflow including a monitoring function that may be periodically executed without a request of a user among the stored workflows. For example, the first function application 1103 may be an application for executing a toner remaining amount monitoring function, and the second function application 1105 may be an application for executing an alarm sending function.
In operation 1110, the DW application 1101 may detect the occurrence of an event. When a predefined event occurs, the DW application 1101 may automatically run a workflow including a first function corresponding to the predefined event in operation 1115. The predefined event may be one of the events registered by the user or stored by default. The event may include an error, lack of toner, lack of paper, or the like that may occur in the image forming apparatus 100.
For example, if an event corresponding to the absence of toner occurs, the DW application 1101 may run a first function application 1103 for performing a toner remaining amount monitoring function. If there is no workflow including a function corresponding to the occurred event among the stored workflows, the DW application 1101 may end the work without running the workflow.
In operation 1120, the first function application 1103 may perform a toner remaining amount monitoring function and output a monitoring result. The first function application 1103 may determine whether the monitored remaining amount of toner satisfies a preset condition according to an option set when the workflow is generated. For example, the first functional application 1103 may output a result indicating a lack of toner if the monitored remaining amount of toner is less than a preset value, and output a result indicating a sufficient color separation if the monitored remaining amount of toner is greater than the preset value.
In operation 1125, the first function application 1103 may send the running result of the toner remaining amount monitoring function to the DW application 1101.
In operation 1130, the DW application 1101 may receive the operation result of the toner remaining amount monitoring function and determine whether a subsequent function to be operated exists. If the operation result of the toner remaining amount monitoring function indicates the absence of toner, the DW application 1101 may determine whether a subsequent function to be operated exists based on the information on the corresponding workflow.
If a second function exists as a subsequent function to be executed, the DW application 1101 may operate a second function application 1105 for executing an alarm sending function as the second function in operation 1135.
In operation 1140, the second function application 1105 may execute an alarm sending function. For example, the image forming apparatus 100 may send a message for notifying the user of the lack of toner.
If the execution of the second function is completed, the second function application 1005 may transmit the execution result of the second function to the DW application 1101 in operation 1145. For example, the result of the operation of the second function may include information indicating whether the message has been successfully transmitted.
In operation 1150, the DW application 1101 may receive the execution result of the second function and determine whether a subsequent function to be executed exists. If there is no subsequent function to be executed, the DW application 1101 may store the execution result of the workflow in the image forming apparatus 100 in operation 1155. The results of the execution of the workflow may include output data and information indicating whether the workflow has been successfully executed. The DW application 1101 may provide the user with the results of the execution of the workflow.
Certain aspects of the present disclosure may also be embodied as computer readable code on a non-transitory computer readable recording medium. The non-transitory computer readable recording medium is any data storage device that can store data which can be thereafter read by a computer system. Examples of the non-transitory computer readable recording medium include read-only memory (ROM), random-access memory (RAM), compact disc-ROMs (CD-ROMs), magnetic tapes, floppy disks, and optical data storage devices. The non-transitory computer readable recording medium may also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. In addition, functional programs, codes, and code segments for implementing the present disclosure can be easily construed by programmers skilled in the art to which the present disclosure pertains.
It should be noted at this point that the various embodiments of the present disclosure as described above typically involve some degree of processing of input data and generation of output data. This input data processing and output data generation may be implemented in hardware or software in combination with hardware. For example, particular electronic components may be employed in a mobile device or similar or related circuitry for implementing the functionality associated with the various embodiments of the present disclosure as described above. Alternatively, one or more processors operating in accordance with stored instructions may implement the functions associated with the various embodiments of the disclosure as described above. If this is the case, it is within the scope of the disclosure that such instructions may be stored on one or more non-transitory processor-readable media. Examples of the processor-readable medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device. The processor-readable medium can also be distributed over network-coupled computer systems so that the instructions are stored and executed in a distributed fashion. In addition, functional computer programs, instructions, and instruction segments for implementing the present disclosure may be readily interpreted by programmers skilled in the art to which the present disclosure pertains.
It is to be understood that the embodiments described herein are to be considered in a descriptive sense only and not for purposes of limitation. Descriptions of features or aspects within each embodiment should typically be considered as available for other similar features or aspects in other embodiments of the present disclosure.
While the disclosure has been shown and described with reference to various embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the disclosure as defined by the appended claims and their equivalents.