1. Field of the Invention
The present invention relates to an information processing apparatus, a method for controlling an information processing apparatus, and a program.
2. Description of the Related Art
An information processing apparatus has been proposed that enables settings to execute multiple processes relevant to image data, using an apparatus connected to a network. For example, Japanese Patent Laid-Open No. 2004-287860 proposes a method for reusing settings relating to the cooperation of multiple processes in other external apparatuses. Specifically, Japanese Patent Laid-Open No. 2004-287860 proposes a configuration in which instruction data that enables multiple processes to cooperate is generated, and this instruction data is made usable by other external apparatuses or other users.
Note that, in the following description, those processes that are to cooperate with each other are referred to as “tasks”. The term “task” as used herein refers to, for example, a process that may be implemented by an individual function of an apparatus such as an image forming apparatus that has multiple functions, or an individual process that may be implemented in an application executed by an information processing apparatus or the like. Examples of tasks in an image forming apparatus include scanning an original, storing scanned data, transmitting an e-mail, transmitting a facsimile, and printing, for example. A task cooperation processing procedure(a process flow) refers to a combination of a series of tasks that is created by connecting multiple tasks as described above for the purpose of processing the tasks in chronological order. For the combination, various combination processes are possible, including use of one task result as an input to execute another task.
Also, in an information processing apparatuses or an image forming apparatuses such as a computer, personal authentication (hereinafter referred to as “login”) may be performed at the time of use in some cases. Moreover, such an apparatus may include a user area that is only usable by a logged in user and a shared area that is commonly usable by multiple users. A task cooperation processing procedure may also include two types of usage, a task cooperation processing procedure for a logged in user that is only usable by a logged in user and a task cooperation processing procedure for shared use that is commonly usable by multiple users.
As described above, the technique for making a task cooperation processing procedure public to other users has been proposed, but it faces the following challenge. For example, in a task cooperation processing procedure that has been defined and registered by a user, individual tasks in the procedure include various parameters as mentioned above. In particular, in a task cooperation processing procedure that is mainly performed by an image forming apparatus, such parameters in the tasks play important roles. Thus, if a task cooperation processing procedure is registered and used without ascertaining the states of parameters, a result not intended by the user is very likely to be output. Thus, for a task cooperation processing procedure that is mainly performed by an image forming apparatus, it is very difficult to use a procedure defined by another user.
For example, even though the order or combination of tasks in a task cooperation processing procedure matches the procedure as expected, the settings for a task therein, for example, the settings for an output process such as printing, may differ from what is expected, such as where the number of copies to be printed is different from the desired number. Or in another case, the destination to save scanned data may not be any of the folders under one's own control. In such cases, the user may not attain the desired result.
It is generally apparent that the combination and order of tasks, in other words, a procedure tree structure, is important for a task cooperation processing procedure. However, it can also be seen from the above description that, for example in a task cooperation processing procedure that is mainly performed by an image forming apparatus, set parameters of each task are no less important than the tree structure. To address such an issue, Japanese Patent Laid-Open No. 2007-129580 has proposed a technique for registering a new task cooperation processing procedure so as to be usable by all users and with parameters in the task cooperation processing procedure changed according to use conditions of each user.
However, the above-described conventional technique has the problem described below. One example of the problem will be described with reference to
In the registration process 403, however, only a user 1 who has registered the task cooperation processing procedure 1 can select setting contents, in other words, the selection cannot be made by other users. Here, even though the user 1 could select registration contents that correspond to other users 2, 3, . . . , N at the time of registration, it would be uncertain for the user 1 how the user 2 wants to operate the task cooperation processing procedure 1_2, for example. Thus, if the person who registers a task cooperation processing procedure differs from the person who executes the procedure, it might not be effective even though the registered person (user 1) can select setting contents for the executor (user 2). Also, user-specific settings cannot be made even though a common task cooperation processing procedure is defined in a shared area.
The following cases are conceivable as the case described above where a person who registers a task cooperation processing procedure differs from a person who executes the procedure. For example, one conceivable case is where, for the purpose of one's own use, a logged in user copies the contents of a task cooperation processing procedure created by another user into his or her own “user group” and uses the copied task cooperation processing procedure. Another conceivable case is where, for the purpose of common use by multiple users, a third party with administrative rights copies the contents of a task cooperation processing procedure created by any other user into a “shared group”, and each logged in user uses the copied task cooperation processing procedure.
The present invention enables realization of a mechanism that reduces a loss of convenience when registering an instruction unit that is only usable by a specific user, as an instruction unit that is commonly usable by multiple users.
One aspect of the present invention provides an information processing apparatus comprising: a registration unit that registers a process flow for executing predetermined processing according to a predefined set value, the process flow being registered as a process flow that is usable by a specific user or a process flow that is commonly usable by a plurality of users; a changing unit that changes the process flow that is usable by the specific user to the process flow that is usable by the plurality of users; and a control unit that, when the changing unit changes the process flow, prompts a user to change the set value to another set value.
Another aspect of the present invention provides an information processing apparatus comprising: a registration unit that registers a process flow for executing predetermined processing according to a predefined set value, the process flow being registered as a process flow that is usable by a specific user or a process flow that is commonly usable by a plurality of users; a changing unit that changes the process flow that is usable by the plurality of users to the process flow is usable by the specific user; and a control unit that, when the changing unit changes the process flow, prompts a user to change the set value to another set value.
Still another aspect of the present invention provides an information processing apparatus comprising: a registration unit that registers a process flow for executing predetermined processing according to a predefined set value, the process flow being registered as a process flow that is usable by a first user or a process flow that is usable by a second user; a changing unit that changes the process flow that is usable by the first user to the process flow that is usable by a second user; and a control unit that, when the changing unit changes the process flow, prompts a user to change the set value to another set value.
Yet another aspect of the present invention provides a method for controlling an information processing apparatus, comprising: registering a process flow for executing predetermined processing according to a predefined set value, the process flow being registered as a process flow that is usable by a specific user or a process flow that is commonly usable by a plurality of users; changing the process flow that is usable by the specific user to the process flow that is usable by the plurality of users; prompting, when the process flow is changed, a user to change the set value to another set value.
Still yet another aspect of the present invention provides a method for controlling an information processing apparatus, comprising: registering a process flow for executing predetermined processing according to a predefined set value, the process flow being registered as a process flow that is usable by a specific user or a process flow that is commonly usable by a plurality of users; changing the process flow that is usable by the plurality of users to the process flow is usable by the specific user an instruction unit that has been stored in the storage unit as an instruction; and prompting, when the process flow is changed, a user to change the set value to another set value.
Yet still another aspect of the present invention provides a method for controlling an information processing apparatus, comprising: registering a process flow for executing predetermined processing according to a predefined set value, the process flow being registered as a process flow that is usable by a first user or a process flow that is usable by a second user; changing the process flow that is usable by the first user to the process flow that is usable by a second user; and prompting when the process flow is changed, a user to change the set value to another set value.
Still yet another aspect of the present invention provides a computer-readable storage medium storing a computer program for causing a computer to perform the method for controlling an information processing apparatus.
Further features of the present invention will be apparent from the following description of exemplary embodiments with reference to the attached drawings.
Embodiments of the present invention will now be described in detail with reference to the drawings. It should be noted that the relative arrangement of the components, the numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present invention unless it is specifically stated otherwise.
First, an image forming system according to an embodiment of the present invention will be described with reference to
The image forming apparatus 510 has a copy function, a facsimile function, an e-mail transmission function, and a data transmission function for reading an original image and transmitting the read image data to apparatuses on the LAN 540. The image forming apparatus 510 is also capable of storing an image that has been read from an original image or data that has been received from a computer connected on the LAN 540 into a specific area in a hard disk of the image forming apparatus 510. The apparatus is also capable of reading and storing an original image as a digital image into the hard disk as well as printing such a digital image.
The image forming apparatus 510 includes an operation unit 511, a scanner unit 512 as an image input device, a printer unit 513 as an image output device, a FAX transmission unit 514 that transmits a facsimile, and an e-mail transmission unit 515 that transmits an e-mail. The scanner unit 512 inputs reflected light obtained by exposing and scanning an image on an original into a CCD and thereby converts image information into an electric signal. The scanner unit 512 further converts the electric signal into luminance signals of colors R, G, and B and outputs the luminance signals as image data to a controller 600. Specifically, when a user gives an instruction from the operation unit 511 to start reading, the controller 600 gives an instruction to the scanner unit 512 to read an original set on an original feeder. Upon receipt of the instruction, the scanner unit 512 feeds the original sheet by sheet from the original feeder to read the original. Note that the method for reading an original is not necessarily an automatic feeding method using an original feeder, and it may be a method for placing an original on a glass surface not shown and scanning the original by moving an exposure unit. The printer unit 513 is an image forming device that forms image data received from the controller 600 as described later on paper. The server computer 530 performs various data processing by the CPU executing an operating system (hereinafter referred to as the “OS”) or various application programs (APs) so that applications run under the control of the OS. The same applies to the client computer 520.
Next, a configuration for controlling the image forming apparatus 510 will be described with reference to
The controller 600 includes a CPU 601, a ROM 602, a RAM 603, a HDD 604, and an operation unit I/F (interface) 605. The controller 600 also includes a network I/F 606, an e-mail transmission I/F 607, a scanner I/F 608, an image processing unit 609, a printer I/F 610, and a FAX I/F 611. Each block is connected via a system bus 612 to the other blocks. The CPU 601 provides centralized control over accesses to various connected devices based on a control program or the like stored in the ROM 602 as well as providing centralized control over various processing performed in the controller 600.
The ROM 602 stores a boot program or the like for the apparatus. The RAM 603 serves as a system work memory for the CPU 601 to operate and also serves as a memory for temporarily storing image data. The RAM 603 is constituted by an SRAM that holds stored contents after power-off or a DRAM that deletes stored contents after power-off, for example. The HDD 604 is a hard disk drive that stores system software or image data.
The operation unit I/F 605 is an interface for connecting the system bus 612 and the operation unit 511. The operation unit I/F 605 receives and outputs image data to be displayed on the operation unit 511 via the system bus 612, and outputs information that has been input from the operation unit 511 to the system bus 612. The network I/F 606 is connected to the LAN 540, a WAN 550, and the system bus 612 in order to input and output information. The scanner I/F 608 corrects, processes, and edits image data that has been received from the scanner unit 512. Note that the scanner I/F 608 determines whether the received image data is a color original or a black and white original, whether received image data is a document original or a photograph original, and so on. The determination results are then associated with the image data. Such associated information is referred to as “attribute data”.
The image processing unit 609 performs image processing such as changing the direction of image data and compressing or expanding an image. The printer I/F 610 receives image data that has been transmitted from the image processing unit 609, performs image processing while referring to the attribute data associated with the image data, and outputs resultant data to the printer unit 513.
The FAX I/F 611 outputs image data that has been transmitted from the image processing unit 609 to the FAX transmission unit 514, and transmits the image data via the LAN 540 or the WAN 550 to the designated transmission destination. The mail I/F 607 outputs image data that has been transmitted from the image processing unit 609 to the e-mail transmission unit 515, which then transmits the image data via the LAN 540 or the WAN 550 to the designated transmission destination.
Note that the presentation of user instructions to the image forming apparatus 510 or the presentation of information to a user may be made through the operation unit 511 or through the client computer 520 connected via the LAN 540, for example.
Next, the configuration of a software module of the image forming apparatus 510 will be described with reference to
The software module processing illustrated in
A login management unit 701 receives login information about a user as an operator from an UI unit 702 and manages user sessions. The UI unit 702 provides display on the operation unit 511 via the operation unit I/F 605 or processes a user input from the operation unit 511. An authority acquisition unit 704 makes an inquiry to the server computer 530 about access control information regarding whether or not a user is allowed to use the functions of the image forming apparatus 510. An authority list management unit 708 manages access control information for logged in users. A copy process execution unit 703 copies a task cooperation processing procedure setting file 709 into a shared area or user areas of other users in the HDD 604. A communication unit 705 provides communication by operating the network I/F 606.
A task cooperation processing procedure execution unit 706 splits the procedure into task settings in functional units (for example, scan task settings, print task settings, transmission task settings) and executes actual processing in the order of the list of the task cooperation processing procedure. A task cooperation processing procedure list management unit 707 manages the task cooperation processing procedure setting file 709 (which may be in XML). It also manages information indicating which “procedure EXECUTE button” (also referred to as a “procedure EXECUTE key”) is to be displayed on the operation unit 511 at the time of user login.
A task cooperation processing procedure (a process flow) registered in the image forming apparatus 510 is defined through the operation unit 511, and regular work procedures for each user may be registered in advance. Examples of functions that may be registered as tasks displayed on an operation panel of the operation unit 511 will be described below: (1) input functions (an original scan function and a scanned-data storage function); (2) processing functions (a scanned-data editing function and an image display function); and (3) output functions (an e-mail transmission function for scanned data, a fax function, and a print function). A combination of any of those functions defines a task cooperation processing procedure.
Referring to, for example, an e-mail transmission function as an output function from among the functions of a task cooperation processing procedure, a case is conceivable where a user who has logged in the image forming apparatus 510 transmits scanned data by e-mail to a specified destination. In this case, the logged in user may acquire and set a parameter (set value) of his or her own e-mail transmission destination from a network server or an address book that has been registered in the HDD 604 of the image forming apparatus 510.
Next, a method for generating a task cooperation processing procedure according to an embodiment of the present invention will be described with reference to
Also, if a parameter may have a different value for each user even though the parameter is not tied to each user, an attribute symbol 302 indicating that fact (for example, “alternative” in the present example) may be appended by a user to each such parameter.
Next, the task cooperation processing procedure that can be used by each user will be described with reference to
Next, the process of copying a task cooperation processing procedure will be described with reference to
However, if parameter information that is effective only for individuals is copied with as-is values, a task cooperation processing procedure will be defined that includes setting parameters that are possibly ineffective for other users. For example, let us assume that a task cooperation processing procedure defined for a user includes a setting of his or her own destination, user1@xxx.com, as a destination for the transmission function. The user can transmit data to his or her own mail destination by executing the cooperation processing procedure. If this task cooperation processing procedure is copied including the as-is value of the setting parameter, the value of user1@xxx.com is also copied as is to the XML data that defines the copied task cooperation processing procedure. Thus, in the case where another user 2 uses this copied task cooperation processing procedure, the setting is such that data is transmitted not to his or her own mail address (the mail address of the user 2) but to the address of the user 1. It is generally desirable that, in the case where the user 2 uses a procedure, parameters therein are set such that data is transmitted to the user 2. Thus, simply copying a procedure is insufficient to satisfy practical functional needs. Now, embodiments that solve the problems as described above will be described.
A first embodiment will be described below with reference to
Referring to
In step S1203, the CPU 601 copies the concerned task cooperation processing procedure into a user group. The copy process as described herein is to change parameters according to the request of the user 2 and store the task cooperation processing procedure including the changed parameters into the user 2's own user area. The detailed copy process will be described later with reference to
Thereafter, the CPU 601 determines in step S1204 that the copy process has been completed. Then, in the case where the user 2 executes this task cooperation processing procedure in step S1205, the CPU 601 executes the “as-is” task cooperation processing procedure that has been copied in the user 2's user group. This allows the user 2 to execute the task cooperation processing procedure as expected.
Next, a procedure for the process of copying a task cooperation processing procedure according to the first embodiment will be described with reference to
On the other hand, if any parameter that has either the “private” or “alternative” attribute has been detected, the CPU 601 extracts a parameter that has the concerned attribute in step S1303. Then, in step S1304, the CPU 601 determines whether or not any parameter has been extracted. Here, if any concerned parameter has been extracted, the process proceeds to step S1305, and if no concerned parameter has been extracted, it is determined that the processing from steps S1303 to S1308 has been completed for all concerned parameters, and the process proceeds to step S1309.
In step S1305, the CPU 601 determines whether or not the concerned parameter has the “alternative” attribute. If the parameter has the “alternative” attribute, the process proceeds to step S1308, in which the CPU 601 stores the concerned parameter into memory. On the other hand, if the concerned parameter has the “private” attribute, the process proceeds to step S1306, in which the CPU 601 determines whether or not a user information holding unit holds data that is tied to the concerned parameter. If there is no such data, the process proceeds to step S1308, and if there is any such data, the process proceeds to step S1307. The user information holding unit as described herein refers to a memory area that holds user-specific information. For example, an e-mail destination address (a parameter having the “private” attribute) is held being tied to user identification information.
In step S1308, the CPU 601 stores the concerned parameter into memory, and the process returns to step S1303. Meanwhile, in step S1307, the CPU 601 stores the tied data and the parameter into memory, and the process returns to step S1303. The above-described processing from steps S1303 to S1308 is repeated, and eventually if there is no more parameter that has the concerned attribute, the process proceeds to step S1309.
In step S1309, the CPU 601 determines whether or not there is any data to be modified. Specifically, it is determined whether or not there are any parameters that have an attribute stored in memory. If there is no such parameter, the process proceeds to step S1313, in which the CPU 601 copies the XML data including the “as-is” parameters into the user 2's “user group”, for example. On the other hand, if there is any such parameter, the process proceeds to step S1310, in which the CPU 601 causes the operation unit 511 to display a change confirmation screen as illustrated in
Here, an example of the change confirmation screen 1400 according to the first embodiment will be described with reference to
The user also determines how to change the value of each parameter. In the case of using a change candidate as is, the user presses a candidate button 1403, and in the case of using originally defined data, the user presses an original button 1404. If the user wants to set user-defined data at this time, a user definition button 1405 is pressed.
After the change confirmation screen 1400 was displayed in step S1310, then in step S1311, the CPU 601 determines whether or not the user 2 has made any change to each parameter on the change confirmation screen 1400. If any change has been made to the data on the change confirmation screen 1400, the CPU 601 converts an XML data file 1500 into an XML data file 1510 in order to reflect specified changes as illustrated in
Then, in step S1313, the CPU 601 copies the XML data into the user 2's “user group”. Here, if no change has been made to the data in step S1311, or if there is no data to be modified in step S1309, or if it is determined in step S1302 that there is no parameter that has a specified attribute, the XML data defined for the user 1 is copied without changing the definition. On the other hand, if any parameter in the XML data defined for the user 1 has been changed in step S1312, the converted XML data is copied into the user 2's “user group”.
As a result, the XML data that belongs to the user 2's user group and defines the copied task cooperation processing procedure will define parameters, the settings for which have been confirmed by the user 2. Accordingly, the user 2 can attain the processing result as expected at the time of executing the concerned task cooperation processing procedure. That is, in the information processing apparatus according to the present embodiment, in the case where a person who registers a task cooperation processing procedure differs from an executor of the procedure, a task cooperation processing procedure including changed parameters is copied into a specified area and executed, which allows the executor to attain the processing result as expected.
Next, the second embodiment will be described with reference to
First, the flow chart in
Next, a procedure for the process of executing a task cooperation processing procedure according to the second embodiment will be described with reference to
Meanwhile, if it is determined in step S1602 that the copy flag has been set, for example, if the copy flag has a value of “1”, the process proceeds to step S1603. In step S1603, the CPU 601 determines whether or not the user information holding unit for holding user-specific information holds any setting parameters that might have been set previously at the time of executing this task cooperation processing procedure. In general, if this is the first time execution of this task cooperation processing procedure, there are not such setting parameters, so the process proceeds to step S1604. For a second or later execution, setting contents may remain, so in that case, the process proceeds to step S1605. In step S1605, the CPU 601 converts the task cooperation processing procedure based on the previously set setting parameters, and then the process proceeds to step S1618, in which the task cooperation processing procedure is executed.
In step S1604, the CPU 601 determines whether or not there are any parameters that have either the “private” or “alternative” attribute in the XML data to be executed. Here, if there is no such parameter, the process proceeds to step S1618, in which the task cooperation processing procedure is executed.
On the other hand, if there is any such parameter, the process proceeds to step S1606, in which the CPU 601 extracts any parameter that has the specified attribute. Then, in step S1607, the CPU 601 determines whether or not any parameter has been extracted. If any parameter has been extracted, the process proceeds to step S1608, and if no parameter has been extracted, it is determined that the processing from steps S1606 to S1611 has been executed for all concerned parameters, and the process proceeds to step S1612.
In step S1608, the CPU 601 determines whether or not the concerned parameter has the “alternative” attribute. If the parameter has the “alternative” attribute, the process proceeds to step S1611, in which the CPU 601 stores the concerned parameter into memory. On the other hand, if the parameter has the “private” attribute, the process proceeds to step S1609, in which the CPU 601 determines whether or not the user information holding unit holds data that is tied to the concerned parameter. If there is no such data, the process proceeds to step S1611, in which the CPU 601 stores the concerned parameter into memory. If there is any such data, on the other hand, the process proceeds to step S1610, in which the CPU 601 stores the tied data and the parameter as a candidate. The above-described processing from steps S1606 to S1611 is repeated, and eventually if there is no more parameter that has the concerned attribute, the process proceeds to step S1612.
In step S1612, the CPU 601 determined whether or not there is any parameters that have an attribute to be changed. Here, if there is no such parameter, the process proceeds to step S1618, in which the task cooperation processing procedure is executed. On the other hand, if there is any such parameter, the process proceeds to step S1613, in which the CPU 601 displays the change confirmation screen 1400 that prompts a user to confirm data including the abovementioned change candidate.
Then, in step S1614, the CPU 601 determines whether or not the user has made any change to the data on the change confirmation screen 1400. Here, if any change has been made, the process proceeds to step S1615, and if no change has been made, the process proceeds to step S1617. The change confirmation screen 1400 has already been described in the first embodiment, so it will not be described herein.
In step S1615, the CPU 601 stores the changed setting contents into the user information holding unit. By this, a second and later determination in step S1603 will end in the result that there is a history of setting contents. Subsequently, the process proceeds to step S1616, in which the CPU 601 converts an XML data file 1700 into an XML data file 1710 in order to reflect the contents changed by the user as illustrated in
Thereafter, the process proceeds to step S1618, in which the CPU 601 executes the task cooperation processing procedure using the changed parameters. If no change has been made to the data in step S1614, the process proceeds to step S1617, in which the CPU 601 stores information indicating that no change has been made to the setting contents, into the user information holding unit. Thereafter, in step S1618, the CPU 601 executes the task cooperation processing procedure.
As described above, in the information processing apparatus according to the present embodiment, in the case where a person who registers a task cooperation processing procedure differs from an executor of the procedure, parameters are changed before execution of the task cooperation processing procedure copied in the shared group. This allows the executor to attain the processing result as expected.
Next, a third embodiment will be described with reference to
As illustrated in
Aspects of the present invention can also be realized by a computer of a system or apparatus (or devices such as a CPU or MPU) that reads out and executes a program recorded on a memory device to perform the functions of the above-described embodiments, and by a method, the steps of which are performed by a computer of a system or apparatus by, for example, reading out and executing a program recorded on a memory device to perform the functions of the above-described embodiments. For this purpose, the program is provided to the computer for example via a network or from a recording medium of various types serving as the memory device (for example, computer-readable medium).
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2009-118039 filed on May 14, 2009, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2009-118039 | May 2009 | JP | national |