Image forming apparatus and its control program
The image forming apparatus addresses the issue of trial and error in selecting destination applications by using destination application management information to automatically select compatible applications, ensuring seamless data processing and preventing data loss.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- ETRIA CO LTD
- Filing Date
- 2024-11-11
- Publication Date
- 2026-05-21
AI Technical Summary
Existing image forming apparatuses require trial and error to determine an appropriate destination application for data processing, leading to wasted work when the destination application cannot process the data format, necessitating a restart from the source application.
The image forming apparatus includes a storage device and processor that utilize destination application management information to create a list of candidate applications compatible with the source application, allowing for seamless data transfer without trial and error by selecting and launching the appropriate destination application.
Enables efficient data processing by automatically selecting a compatible destination application, eliminating the need for trial and error and preventing data loss due to format incompatibilities.
Smart Images

Figure 2026084465000001_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to an image forming apparatus placed in a workplace and a control program therefor.
Background Art
[0002] Conventionally, image forming apparatuses having various functions are known. Such an image forming apparatus has various applications for executing various functions, and for example, two applications may be linked and processing target data may be passed from the source application to the destination application. At that time, data in a data format that cannot be processed by the destination application may be passed. In that case, the destination application cannot process the processing target data at the stage of processing the data, and an error occurs. Therefore, the user has to redo the work from the stage of starting the source application, and the work that has been done is wasted. On the other hand, a technique for starting an appropriate destination application is known.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In the above-described technique, the destination application is associated with the source application based on the number of startup errors of the destination application. Therefore, in order to determine to start an appropriate destination application, trial and error (trial and error for a certain period) must be performed.
[0005] The problem to be solved by the present invention is to provide an image forming apparatus and a control program therefor that start an appropriate destination application without requiring trial and error.
Means for Solving the Problems
[0006] The image forming apparatus according to the embodiment includes a storage device and a processor. The storage device stores a source application that performs various functions, a destination application that cooperates with the source application, and destination application management information that includes information on whether the source application and the destination application can cooperate. The processor executes the source application and the destination application. Based on the destination application management information, the processor creates a list of candidate destination applications that can cooperate with the source application, provides an environment for selecting a destination application from the candidate list, launches the destination application selected from the candidate list, and passes the data to be processed from the source application to the destination application when the destination application is launched. [Brief explanation of the drawing]
[0007] [Figure 1] Figure 1 shows an example of the configuration of an image forming apparatus according to an embodiment. [Figure 2] Figure 2 shows an example of a file transfer protocol definition. [Figure 3] Figure 3 shows an example of a linked application management table that stores analysis information for file transfer protocol definitions. [Figure 4] Figure 4 shows an example of an application integration sequence. [Figure 5] Figure 5 shows an example of the screen for selecting compatible applications. [Figure 6] Figure 6 is a flowchart showing an example of the installation process for a linked application in an image forming apparatus according to an embodiment. [Figure 7] Figure 7 is a flowchart showing an example of the first application linkage process in the image forming apparatus according to the embodiment. [Figure 8] Figure 8 is a flowchart showing an example of the process for creating the first list of candidate destination applications in the first file transfer process. [Figure 9] Figure 9 is a flowchart showing an example of the process for creating a second list of candidate destination applications in the first file transfer process. [Figure 10] Figure 10 shows an example of a function setting table. [Figure 11] Figure 11 is a flowchart showing an example of the process for creating a third list of candidate destination applications in the first file transfer process. [Figure 12] Figure 12 is a flowchart showing an example of a second application linkage process in an image forming apparatus according to an embodiment. [Figure 13] Figure 13 is a flowchart showing an example of the process for creating a list of candidate applications to link to in the second file linking process. [Modes for carrying out the invention]
[0008] (Image forming apparatus) First, an image forming apparatus 1001 according to an embodiment will be described with reference to Figure 1. Figure 1 is a schematic diagram showing an example of the configuration of the image forming apparatus 1001 according to an embodiment.
[0009] The image forming apparatus 1001 is, for example, an MFP (multifunction peripheral), or a multifunction device. The image forming apparatus 1001 has a print function, a scan function, a copy function, a fax function, etc. The print function is a function to print an image onto paper. The scan function is a function to read an image from a document or the like. The copy function is, for example, a function to print an image read from a document or the like using the scan function onto paper using the print function. The fax function is, for example, a function to send an image read from a document or the like using the scan function to an external location, or to print an image received from an external location onto paper using the print function.
[0010] The image forming apparatus 1001 includes a processor 1011, a ROM (Read Only Memory) 1012, a RAM (Random Access Memory) 1023, a local storage device 1014, an operation key 1015, a touch panel 1016, a display 1017, a scan input unit 1018, a print output unit 1019, a fax input / output unit 1020, a wired LAN transmission / reception unit 1021, a wireless LAN transmission / reception unit 1022, and a system bus 1023.
[0011] The processor 1011 is an arithmetic element that performs arithmetic processing. The processor 1011 controls the image forming apparatus 1001 according to software programs stored in the ROM 1012 and the local storage device 1014. The processor 1011 includes, for example, a CPU (Central Processing Unit) or a GPU (Graphical Processing Unit).
[0012] ROM1012 is a non-volatile memory that constitutes part of the main memory. ROM1012 non-temporarily stores the startup program necessary for starting the image forming apparatus 1001. ROM1012 is composed of, for example, EPROM (Erasable Programmable Read Only Memory) and stores various startup setting data in addition to the startup program.
[0013] RAM1013 is a volatile memory that constitutes part of the main memory. RAM1013 temporarily stores the programs necessary for processing by processor 1011 and the data necessary for executing those programs. RAM1013 functions as the working memory of processor 1011.
[0014] The local storage device 1014 is a non-volatile memory such as a HDD (Hard Disk Drive) or SSD (Solid State Drive). The local storage device 1014 stores non-temporarily a program executed by the processor 1011 and data necessary for the execution of the program. Hereinafter, simply referred to as a program including the data necessary for execution. That is, the program includes the data necessary for execution. The program stored in the local storage device 1014 will be described later.
[0015] The operation key 1015 is an input device that receives instructions from the user. For example, it has a plurality of push keys assigned to each function and receives instructions from the user via the operation of the push keys.
[0016] The touch panel 1016 is an input device that receives instructions from the user and receives instructions from the user via a touch operation with a finger or a touch pen.
[0017] The display 1017 is an output device that presents information to the user. Specifically, it is a display device that presents information to the user by display. For example, it is composed of a liquid crystal display, an organic EL display, etc.
[0018] For example, the touch panel 1016 is provided overlaid on the display 1017, and the display function of the display 1017 and the input function of the touch panel 1016 are combined and used. The touch panel 1016 and the display 1017 constitute an input / output device.
[0019] The scan input unit 1018 is a device that performs a scanning function and reads an image from a document. The scan input unit 1018 includes, for example, a document glass and a reading module. The reading module reads an image from a document placed on the document glass or from a document fed to the document glass by a document feeder. The reading module illuminates the document to be scanned with illumination light, receives the reflected light with an image sensor, and converts it into a digital signal. In this way, the reading module reads an image from the document.
[0020] The print output unit 1019 is a device that performs a printing function and prints an image onto paper transported by the paper transport device based on the supplied image data. The image data used for printing is, for example, image data read from the original document by the scan input unit 1018. Alternatively, the image data is, for example, image data transmitted from an external device separate from the image forming apparatus 1001 and received by the fax input / output unit 1020.
[0021] For example, the print output unit 1019 prints an image on paper by forming a toner image on a transfer belt and transferring the toner image to the paper. Alternatively, the print output unit 1019 prints an image on paper by spraying ink onto the paper using an inkjet head. Furthermore, the print output unit 1019 is not limited to these methods and may print an image on paper by other means.
[0022] The fax input / output unit 1020 and the device that performs fax functions include, for example, transmitting image data read by the scan input unit 1018 to an external device or the cloud via a wired LAN transmission / reception unit 1021 or a wireless LAN transmission / reception unit 1022, and receiving image data for printing from an external device or the cloud by the print output unit 1019.
[0023] The wired LAN transceiver 1021 communicates with external devices and the cloud via a wired LAN (Local Area Network). For example, the wired LAN transceiver 1021 transmits image data read by the scan input unit 1018 to an external device or the cloud, and receives image data for printing from an external device or the cloud to be used by the print output unit 1019.
[0024] The wireless LAN transceiver 1022 communicates with external devices and the cloud via a wirelessly configured LAN. For example, the wireless LAN transceiver 1022 transmits image data read by the scan input unit 1018 to an external device or the cloud, and receives image data for printing from an external device or the cloud for the print output unit 1019.
[0025] The system bus 1023 is a communication path between the processor 1011, ROM 1012, RAM 1013, local storage device 1014, operation keys 1015, touch panel 1016, display 1017, scan input unit 1018, print output unit 1019, fax input / output unit 1020, wired LAN transceiver unit 1021, and wireless LAN transceiver unit 1022. The processor 1011, ROM 1012, RAM 1013, local storage device 1014, operation keys 1015, touch panel 1016, display 1017, scan input unit 1018, print output unit 1019, fax input / output unit 1020, wired LAN transceiver unit 1021, and wireless LAN transceiver unit 1022 can send and receive information, data, control signals, commands, responses, etc. via the system bus 1023.
[0026] The processor 1011, ROM 1012, RAM 1013, and local storage device 1014 constitute a computer that controls the image forming apparatus 1001.
[0027] The local storage device 1014 has the following installed: operating system (OS) 1031, built-in application execution framework 1032, function control application 1033 and storage for the function control application 1034, linked application management table 1035, built-in application 1036 and storage for the built-in application 1037, user management table 1038, function setting table 1039, and application license management table 1040.
[0028] Here, "app" is an abbreviation for "application," and refers to an application. An application is a software program that accomplishes a specific task or purpose.
[0029] Operating system 1031 is system software that provides the operating foundation for applications.
[0030] The function control application 1033 is an executable file containing the main program that executes various functions of the image forming apparatus 1001. The storage for the function control application 1034 is metadata for the function control application 1033 and includes various files and configuration information necessary for the execution of the function control application 1033.
[0031] For example, the function control application 1033 includes a scan application, a print application, a fax transmission application, etc. The scan application controls the scan input unit 1018 to perform the scanning function. The print application controls the print output unit 1019 to perform the printing function. The fax transmission application controls the fax input / output unit 1020 to perform the fax function.
[0032] The built-in application 1036 is an executable file containing a main program that performs other functions in conjunction with various functions of the image forming apparatus 1001. The storage for the built-in application 1037 is metadata for the built-in application 1036 and includes various files and configuration information necessary for the execution of the built-in application 1036.
[0033] For example, the built-in application 1036 includes a cloud transfer application, an email sending application, etc. The cloud transfer application controls the wired LAN transceiver 1021 and the wireless LAN transceiver 1022 to perform cloud transfer of data to be processed by a cooperating source application. The email application controls the wired LAN transceiver 1021 and the wireless LAN transceiver 1022 to perform email sending of data to be processed by a cooperating source application.
[0034] The linked application management table 1035 is a table for managing linked applications in relation to the linked application, and it holds management information for linked applications in relation to the linked application in table format. The linked application management table 1035 includes information on whether or not a linked application can be linked to the linked application in relation to the linked application.
[0035] Here, the source application is the function control application 1033, and the destination application is the built-in application 1036. However, the destination application may be any other function control application 1033.
[0036] For example, the source application is the scan application, which is one of the function control applications 1033. The destination applications include the cloud transfer application and email sending application included in the built-in application 1036, and the print application and fax sending application included in the function control application 1033. The following explanation assumes that the source application is the scan application.
[0037] The user management table 1038 holds user management information in table format. For example, the user management table 1038 includes information for each user, such as identification information and whether or not they have permission to use linked applications. Identification information includes, for example, user ID and password.
[0038] The function setting table 1039 contains, in table format, information on enabling or disabling app integration for each function of the image forming apparatus 1001. In one example, the information on enabling or disabling app integration for each function is set for each image forming apparatus. In another example, the information on enabling or disabling app integration for each function is set for each user.
[0039] The application license management table 1040 holds license information for linked applications in table format. For example, the license information for linked applications includes information such as whether a license is required for the linked application, whether a license exists, and the license expiration date. In one example, the license information for linked applications is set for each image forming apparatus. In another example, the license information for linked applications is set for each user.
[0040] The built-in application execution framework 1032 controls the source application and destination applications (function control application 1033 and built-in application 1036) based on information from the linked application management table 1035, the user management table 1038, the function settings table 1039, and the application license management table 1040.
[0041] The program installed on the local storage device 1014 is provided to the image forming apparatus 1001, for example, via a recording medium. Alternatively, the program may be stored on a server on a network and provided to the image forming apparatus 1001 by download.
[0042] For example, when the computer starts up, the processor 1011 executes the startup program in ROM 1012 and starts the OS 1031. Under the control of OS 1031, the processor 1011 monitors command inputs and the connection of external devices. Also, under the control of OS 1031, the processor 1011 sets up a program area and a data area in RAM 1013.
[0043] For example, the processor 1011 controls each device of the image forming apparatus 1001 and controls the image forming apparatus 1001 as a whole by deploying and executing various function control applications stored in the local storage device 1014 into the RAM 1013.
[0044] Furthermore, for example, the processor 1011 executes various functions of the image forming apparatus 1001, such as printing, scanning, copying, and faxing, by loading various built-in applications stored in the local storage device 1014 into the RAM 1013 and executing them.
[0045] (File transfer protocol definition) Next, we will explain an example of a file transfer protocol definition, referring to Figure 2. Figure 2 is a diagram showing an example of a file transfer protocol definition. The file transfer protocol definition is included in the package file of the linked application. The linked application's package file is a single file that bundles all the files, resources, code, etc., necessary to install the linked application.
[0046] In the example file transfer protocol definition shown in Figure 2, the Embedded Application is defined as being able to receive scanned images (ScanImagesReceivin.isSupported) (True). It is also defined that the file formats of scanned images that the Embedded Application can receive are TIFF, PDF, and JPEG. Furthermore, the embedded application is defined to have a CloudSend function.
[0047] (Management table for linked applications) Next, we will explain an example of a linked application management table, referring to Figure 3. Figure 3 shows an example of a linked application management table 1035.
[0048] The linked application management table 1035 is a table for managing linked applications and has column headers for application ID, application name, linked application enable / disable flag, accepted file formats, and application functions.
[0049] The App ID is the identification code for the linked app, the App Name is the name of the linked app, the Link Enable / Disable Flag indicates whether linking with the scan app is possible, the Acceptable File Formats are the file formats of scanned image files that the linked app can accept (process), and the App Functions represent the processing functions of the linked app for scanned image files.
[0050] The linked application management table 1035 stores the file transfer protocol definitions included in the package file during the installation process of the linked application, and the resulting analysis information is stored in a table format.
[0051] (App integration sequence) Next, we will explain an example of an application integration sequence, referring to Figure 4. Figure 4 is a diagram showing an example of an application integration sequence.
[0052] The app integration sequence shown in Figure 4 begins when the scanning app, acting as the source app, is launched. More specifically, the user instructs the scanning app to launch, and app integration is initiated when it is selected on the scanning app's home screen. When app integration is selected, the save format (file format) of the scanned images of the scanning app, which is the source app, is also set.
[0053] (1) The source application (scanning application) requests the built-in application execution framework 1032 to extract candidates for the destination application and display a list of candidates. At that time, the source application (scanning application) passes information about the file format of the scanned image.
[0054] (2) The built-in application execution framework 1032, upon receiving a request, searches the linked application management table 1035 for candidate linked applications that can be linked with the linked application (scan application).
[0055] (3) The built-in application execution framework 1032 obtains candidate linked applications that can be linked with the source application (scan application) as a result of the search.
[0056] In other words, the built-in application execution framework 1032 determines whether or not it can connect with the source application (scan application) based on the linked application management table 1035, and obtains compatible linked applications as candidates for linked applications.
[0057] For example, the built-in application execution framework 1032 retrieves applications whose integration enable / disable flag is "true" as candidates for compatible applications, based on the integration enable / disable flag in the integration application management table 1035.
[0058] Furthermore, the built-in application execution framework 1032 compares the file format of the scanned image of the scan application with the receivable file formats in the linked application management table 1035, and obtains linked applications that include the scanned image file format in the receivable file formats as candidates for linked applications.
[0059] For example, the built-in application execution framework 1032 retrieves partner applications that can accept scanned images in the "TIFF" file format as candidates for partner applications that can be linked.
[0060] (4) The built-in application execution framework 1032 creates a list of candidate partner applications that can be integrated based on the results of obtaining candidate partner applications that can be integrated. Hereinafter, the list of candidate partner applications that can be integrated will be referred to as the partner application candidate list. The partner application candidate list can also be called the list of compatible applications.
[0061] The built-in application execution framework 1032 instructs the display 1017 to display the created list of candidate linked applications, i.e., the list of compatible applications. The display 1017 displays the list of candidate linked applications. The touch panel 1016 waits for the user to select a linked application from the list of candidate linked applications. In other words, the display 1017 and the touch panel 1016 provide an environment for selecting a linked application from the list of candidate linked applications.
[0062] As an example of an environment in which a partner application is selected from a list of potential partner applications (list of compatible applications), Figure 5 shows an example of a compatible application selection screen displayed on the display 1017 via the touch panel 1016. In this example, the Cloud A transfer application, the Cloud B transfer application, and the fax transmission application, which can be linked with the scan application (the linkage enable / disable flag is "true") and can receive scanned images in "TIFF" file format ("TIFF" is included in the list of accepted file formats), are displayed on the compatible application selection screen.
[0063] On this compatible app selection screen, users can select a compatible app from the candidate list using touch gestures, and confirm their selection by touching (clicking) the "OK" icon. The selection result is passed to the built-in app execution framework 1032.
[0064] (5) The built-in application execution framework 1032 obtains the result of the user's selection of a linked application via the touch panel 1016. For example, the built-in application execution framework 1032 obtains information (application ID) of the selected linked application.
[0065] (6) The built-in application execution framework 1032 instructs the source application (scan application) to perform a scan. At this time, the built-in application execution framework 1032 passes the application ID of the linked application selected by the user to the source application (scan application). The application ID of the linked application is used for the linking settings in the source application (scan application). Subsequently, the source application (scan application) performs a scan, generates a scanned image file, and saves the generated scanned image file.
[0066] (7) The source application (scan application) requests the built-in application execution framework 1032 to cooperate with the destination application. At this time, the source application (scan application) passes the destination application ID and the file path where the scanned image files are saved to the built-in application execution framework 1032.
[0067] (8) The built-in application execution framework 1032 launches the linked application based on the application ID and file path, and also passes the scanned image file, which is the data to be processed by the linked application (scan application), from the linked application (scan application) to the linked application.
[0068] (9) When the linked application obtains the scanned image file, it notifies the built-in application execution framework 1032 that the file has been obtained.
[0069] (10) When the built-in application execution framework 1032 receives a notification of file acquisition, it terminates the source application (scanning application). The destination application is then used for subsequent processing.
[0070] (Installation process for linked applications) Next, with reference to Figure 6, an example of the installation process for a linked application in the image forming apparatus 1001 according to the embodiment will be described. Figure 6 is a flowchart showing an example of the installation process for a linked application in the image forming apparatus according to the embodiment.
[0071] First, in ACT101, the built-in application execution framework 1032 receives an installation command for the linked application, along with the package file of the linked application to be installed, from its internal application installation control program. Here, as an example, we will explain assuming that the linked application is a built-in application.
[0072] Next, in ACT102, the built-in application execution framework 1032 unpacks the compressed and encrypted package file of the linked application. The built-in application execution framework 1032 then installs the unpacked built-in application 1036 and the storage for the built-in application 1037 onto the local storage device 1014.
[0073] The package file of the linked application contains file transfer protocol definition data, as illustrated in Figure 2. In ACT103, the built-in application execution framework 1032 analyzes the file transfer protocol definition data.
[0074] Next, in ACT104, the built-in application execution framework 1032 stores the analysis information in the linked application management table 1035. As a result, a record of the linked application is added to the linked application management table 1035, as illustrated in Figure 3.
[0075] (First application integration process) Next, with reference to Figure 7, an example of the first application linkage process in the image forming apparatus 1001 according to the embodiment will be described. Figure 7 is a flowchart showing an example of the first application linkage process in the image forming apparatus according to the embodiment.
[0076] First, in ACT201, when the built-in application execution framework 1032 receives a request to launch a linked application via operation keys 1015 or touch panel 1016 by the user, it launches the linked application. Here, as an example, the linked application will be described as a scan application included in the function control application 1033.
[0077] Next, upon launching the scan application, the built-in application execution framework 1032 displays the scan application's home screen on the display 1017 and waits for the user to input instructions for operating the scan application. Here, it is assumed that the user has entered instructions for app integration as an operation of the scan application using the operation keys 1015 or the touch panel 1016.
[0078] Upon receiving an instruction for app integration, the built-in app execution framework 1032 in ACT202 instructs the scan app (the app from which the integration is initiated) to perform the app integration operation. In response, the scan app instructs the built-in app execution framework 1032 to create a list of candidate apps for integration. This process creates a list of candidate apps for integration that corresponds to the file integration protocol definition of the scanned image.
[0079] Upon receiving instructions to create a list of potential partner applications, the built-in application execution framework 1032 in ACT203 executes the process of creating a list of potential partner applications based on the partner application management table 1035. The process of creating a list of potential partner applications will be described later.
[0080] Next, the built-in application execution framework 1032 instructs the display 1017 to display the list of candidate applications for integration. In response, ACT204 displays the list of candidate applications for integration on the display 1017. The touch panel 1016 then waits for the user to select an application for integration from the list of candidate applications displayed on the display 1017.
[0081] When the user selects a linked application, the built-in application execution framework 1032 in ACT205 obtains information (application ID) of the selected linked application via the touch panel 1016.
[0082] Next, the built-in application execution framework 1032 instructs the scan application to perform a scan. At this time, the built-in application execution framework 1032 passes the application ID of the selected linked application to the scan application. The application ID is used for linking settings in the scan application. Upon receiving the instruction to perform a scan, the scan application performs the scan in ACT206.
[0083] In ACT207, the scan application generates a scanned image file by executing a scan. The scan application saves the generated scanned image file. Next, the scan application requests the built-in application execution framework 1032 to cooperate with the partner application. At that time, the scan application passes the application ID of the partner application and the file path where the scanned image file is saved to the built-in application execution framework 1032.
[0084] Upon receiving a request to connect with a partner application, the built-in application execution framework 1032 in ACT208 launches the selected partner application via the touch panel 1016 based on the application ID.
[0085] Furthermore, when launching a linked application, the built-in application execution framework 1032 sends the scanned image file, which is the data to be processed by the scan application, from the scan application to the linked application based on the file path in ACT209.
[0086] (Process to create the first list of candidate partner applications) Next, with reference to Figure 8, an example of the process for creating the first list of candidate linked applications in the first application linking process will be described. Figure 8 is a flowchart showing an example of the process for creating the first list of candidate linked applications in the first file linking process.
[0087] In ACT301, the built-in application execution framework 1032 searches the linked application management table 1035 for linked applications that can be linked with the scan application.
[0088] The built-in application execution framework 1032 determines whether each linked application can be linked with the scan application based on the linked application management table 1035, and obtains the linked applications that can be linked as candidates for linked applications.
[0089] For example, the built-in application execution framework 1032 retrieves applications whose integration enable / disable flag is "true" as candidates for compatible applications, based on the integration enable / disable flag in the integration application management table 1035.
[0090] Furthermore, the built-in application execution framework 1032 compares the file format of the scanned image of the scan application with the receivable file formats in the linked application management table 1035, and obtains linked applications that include the scanned image file format in the receivable file formats as candidates for linked applications.
[0091] For example, the built-in application execution framework 1032 retrieves potential partner applications that can accept scanned images in the "TIFF" file format as candidate partner applications.
[0092] In ACT302, the built-in application execution framework 1032 creates a list of candidate partner applications based on the results of obtaining candidate partner applications in ACT301.
[0093] For example, the built-in application execution framework 1032 adds the retrieved candidate application to the candidate application list each time it retrieves a candidate application in ACT301. Once all candidate application applications retrieved in ACT301 have been added to the candidate application list, the creation of the candidate application list is complete.
[0094] Here, we have described an example in which a candidate for a partner application is added to the partner application candidate list each time a candidate for a partner application is obtained in ACT301. However, instead, all candidate partner applications obtained in ACT301 can be stored and the partner application candidate list can be created all at once.
[0095] (Process to create a second list of potential partner applications) Some linked applications require a license to be used. The second linked application candidate list creation process is a process that adds license information for linked applications owned by the image forming apparatus 1001 to the first linked application candidate list creation process to create a linked application candidate list (list of compatible applications).
[0096] The license information for linked applications is stored in the application license management table 1040. For example, the license information for linked applications includes information such as whether a license is required for the linked application, whether a license exists, and the license expiration date. Here, the license information for linked applications is set for each image forming apparatus.
[0097] The following describes an example of the process for creating a second list of candidate linked applications in the first application linking process, with reference to Figure 9. Figure 9 is a flowchart showing an example of the process for creating a second list of candidate linked applications in the first file linking process.
[0098] In ACT401, the built-in application execution framework 1032 searches the linked application management table 1035 for linked applications that can be linked with the scan application. The search method is the same as the search method in ACT301 of the first linked application candidate list creation process.
[0099] In other words, the built-in application execution framework 1032 determines whether each linked application can be linked with the scan application based on the linked application management table 1035, and obtains the linked applications that can be linked as candidates for linked applications.
[0100] For example, the built-in application execution framework 1032 retrieves applications whose integration enable / disable flag is "true" as candidates for compatible applications, based on the integration enable / disable flag in the integration application management table 1035.
[0101] Furthermore, the built-in application execution framework 1032 compares the file format of the scanned image of the scan application with the receivable file formats in the linked application management table 1035, and obtains linked applications that include the scanned image file format in the receivable file formats as candidates for linked applications.
[0102] For example, the built-in application execution framework 1032 retrieves potential partner applications that can accept scanned images in the "TIFF" file format as candidate partner applications.
[0103] In ACT402 to ACT406, the built-in application execution framework 1032 creates a list of candidate partner applications based on the results of obtaining candidate partner applications in ACT401.
[0104] For example, in ACT402 to ACT406, the built-in application execution framework 1032 performs the following processing for each of the linked applications (candidate linked applications) that were found in the search in ACT401.
[0105] In ACT403, the built-in application execution framework 1032 refers to the application license management table 1040 to determine whether the linked application requires a license for use. If the linked application requires a license (ACT403: Required), the process proceeds to ACT404; if the linked application does not require a license (ACT403: Not Required), the process proceeds to ACT405.
[0106] If the linked application requires a license (ACT403: required), in ACT404, the built-in application execution framework 1032 refers to the application license management table 1040 to determine whether the license for the linked application held by the image forming apparatus 1001 is valid. The determination of whether the license is valid is made based, for example, on whether a license exists or the license's expiration date. If the license for the linked application is valid (ACT404: valid), the process proceeds to ACT405; if the license for the linked application is not valid (ACT404: invalid), the process proceeds to ACT406.
[0107] If the linked application does not require a license in ACT403 (ACT404: Not required), or if the license of the linked application is valid in ACT404 (ACT404: Valid), then in ACT405, the built-in application execution framework 1032 adds the linked application found in the search in ACT401 (i.e., candidate linked applications that can be linked) to the list of candidate linked applications.
[0108] In ACT402-ACT406, once all the linked apps that were found in the search in ACT401 (i.e., potential linked apps) have been added to the linked app candidate list, the creation of the linked app candidate list is complete.
[0109] According to this second process for creating a list of candidate partner applications, the subsequent launch of the partner application and the transmission of processing target data (scanned images) from the source application (scanning application) to the partner application will be processes that reflect the license of the partner application held by the image forming apparatus 1001.
[0110] (Process to create a list of candidate applications for the third linked application) One configuration in which the image forming apparatus 1001 is used involves setting the enable / disable status of application integration for each function of the image forming apparatus 1001. The third process for creating a list of candidate application partners is a process that adds the setting information for enabling / disabling application integration for each function to the first process for creating a list of candidate application partners, and creates a list of candidate application partners (list of compatible application partners).
[0111] The settings for enabling or disabling app integration for each function are stored in the function settings table 1039. The function settings table 1039 contains the settings for enabling or disabling app integration for each function in a table format.
[0112] An example of the function setting table 1039 is shown in Figure 10. In this example, the image forming apparatus 1001 has functions such as saving to a local storage device, sending via email, saving via FTP, saving via FTPS, using USB media, sending via fax, etc., and the function setting table 1039 contains setting information for enabling or disabling application integration for each of these functions.
[0113] The following describes an example of the process for creating a third list of candidate linked applications in the first application linking process, with reference to Figure 11. Figure 11 is a flowchart showing an example of the process for creating a third list of candidate linked applications in the first file linking process.
[0114] In ACT501, the built-in application execution framework 1032 searches the linked application management table 1035 for linked applications that can be linked with the scan application. The search method is the same as the search method in ACT301 of the first linked application candidate list creation process.
[0115] In other words, the built-in application execution framework 1032 determines whether each linked application can be linked with the scan application based on the linked application management table 1035, and obtains the linked applications that can be linked as candidates for linked applications. An example of how the feasibility of linking is determined and candidates for linked applications are obtained is as described above.
[0116] In ACT502 to ACT505, the built-in application execution framework 1032 creates a list of candidate partner applications based on the results of obtaining candidate partner applications in ACT501.
[0117] For example, in ACT502 to ACT505, the built-in application execution framework 1032 performs the following processing for each of the linked applications (candidate linked applications) that were found in the search in ACT501.
[0118] In ACT503, the built-in application execution framework 1032 refers to the function setting table 1039 to determine whether the function setting corresponding to the linked application is enabled. If the function setting corresponding to the linked application is enabled (ACT503: enabled), the process proceeds to ACT504; otherwise, the process proceeds to ACT505.
[0119] If the function setting corresponding to the linked app is enabled (ACT503: Required to be enabled), in ACT504, the built-in app execution framework 1032 adds the linked app found in the search in ACT501 (i.e., candidate linked apps that can be linked) to the list of candidate linked apps.
[0120] In ACT502-ACT505, once all the linked apps that were found in the search in ACT501 (i.e., potential linked apps) have been added to the linked app candidate list, the creation of the linked app candidate list is complete.
[0121] According to this third process for creating a list of candidate partner applications, the subsequent launch of the partner application and the transmission of processing target data (scanned images) from the source application (scan application) to the partner application will be processes that reflect the enabled / disabled application linkage settings configured for each function of the image forming apparatus 1001.
[0122] (Second application integration process) When the image forming apparatus 1001 is shared by multiple users, there is a configuration in which each user is given permission to use the image forming apparatus 1001, permission to use the linked application, etc. In the second application linkage process, login authentication is performed when the image forming apparatus 1001 is first used, and when creating the list of candidate linked applications, the list of candidate linked applications (list of compatible applications) is created by considering not only whether the linked application can be linked to the source application, but also the user's permission to use the linked application while logged in.
[0123] The identification information required for login authentication and information regarding the usage rights of linked applications are stored in the user management table 1038. For example, the user management table 1038 contains information for each user in table format, such as user ID, password, and whether or not they have usage rights to linked applications.
[0124] Next, with reference to Figure 12, an example of a second application linkage process in the image forming apparatus 1001 according to the embodiment will be described. Figure 12 is a flowchart showing an example of a second application linkage process in the image forming apparatus according to the embodiment.
[0125] First, in ACT601, when the image forming apparatus 1001 receives a request to start use from a user via operation keys 1015 or touch panel 1016, it performs login authentication to confirm that the user wishing to use the system is a legitimate user. For example, login authentication can be performed by any method, such as entering a user ID and password, or using an authentication system with an IC card. The built-in application execution framework 1032 obtains, for example, a user ID through login authentication.
[0126] Next, in ACT602, when the built-in application execution framework 1032 receives a request from the user to launch the linked application via operation keys 1015 or the touch panel 1016, it launches the linked application. Here again, the linked application is described as a scan application included in the function control application 1033.
[0127] Upon launching the scan application, the built-in application execution framework 1032 displays the scan application's home screen on the display 1017 and waits for the user to input instructions for operating the scan application. Here again, it is explained that the user has entered instructions for app integration as an operation of the scan application using the operation keys 1015 or the touch panel 1016.
[0128] Upon receiving an instruction to link applications, the built-in application execution framework 1032 in ACT603 instructs the scan application (the application from which the application is linked) to perform the application linking operation. In response, the scan application instructs the built-in application execution framework 1032 to create a list of candidate applications to link to.
[0129] Upon receiving instructions to create a list of potential partner applications, the built-in application execution framework 1032 in ACT604 executes the process of creating a list of potential partner applications based on the partner application management table 1035. The process of creating a list of potential partner applications will be described later.
[0130] Next, the built-in application execution framework 1032 instructs the display 1017 to display the list of candidate applications for integration. In response, ACT605 displays the list of candidate applications for integration on the display 1017. The touch panel 1016 then waits for the user to select an application for integration from the list of candidate applications displayed on the display 1017.
[0131] When the user selects a linked application, the built-in application execution framework 1032 in ACT606 obtains information (application ID) of the selected linked application via the touch panel 1016.
[0132] Next, the built-in application execution framework 1032 instructs the scan application to perform a scan. At this time, the built-in application execution framework 1032 passes the application ID of the selected linked application to the scan application. The application ID is used for linking settings in the scan application. Upon receiving the instruction to perform a scan, the scan application performs the scan in ACT607.
[0133] In ACT608, the scan application generates a scanned image file by executing a scan. The scan application saves the generated scanned image file. Next, the scan application requests the built-in application execution framework 1032 to cooperate with the partner application. At that time, the scan application passes the application ID of the partner application and the file path where the scanned image file is saved to the built-in application execution framework 1032.
[0134] Upon receiving a request to connect with a partner application, the built-in application execution framework 1032 in ACT609 launches the selected partner application via the touch panel 1016 based on the application ID.
[0135] Furthermore, when launching a linked application, the built-in application execution framework 1032 sends the scanned image file, which is the data to be processed by the scan application, from the scan application to the linked application based on the file path in ACT610.
[0136] (Process to create a list of potential partner applications) Next, with reference to Figure 13, an example of the process for creating a list of candidate linked applications in the second application linking process will be explained. Figure 13 is a flowchart showing an example of the process for creating a list of candidate linked applications in the second file linking process.
[0137] In ACT701, the built-in application execution framework 1032 searches the linked application management table 1035 for linked applications that can be linked with the scan application. That is, the built-in application execution framework 1032 determines whether each linked application can be linked with the scan application based on the linked application management table 1035, and obtains the linked applications that can be linked as candidates for linked applications. The search method is the same as the search method in ACT301 of the first linked application candidate list creation process, and the example of determining whether linking is possible and obtaining candidate linked applications is as described above.
[0138] For example, in ACT702 to ACT705, the built-in application execution framework 1032 performs the following processing for each of the linked applications (candidate linked applications) that were found in the search in ACT701.
[0139] In ACT703, the built-in application execution framework 1032 refers to the user management table 1038 and determines, for example, whether the logged-in user has permission to use the linked application based on the user ID obtained through login authentication. If the logged-in user has permission to use the linked application (ACT703: Yes), the process proceeds to ACT704; if the logged-in user does not have permission to use the linked application (ACT703: No), the process proceeds to ACT705.
[0140] If the logged-in user has permission to use the linked app (ACT703: Yes), in ACT704, the built-in app execution framework 1032 adds the linked app found in the search in ACT701 (i.e., candidate linked apps that can be linked) to the list of candidate linked apps.
[0141] In ACT702-ACT705, once all the linked apps that were found in the search in ACT701 (i.e., potential linked apps) have been added to the linked app candidate list, the creation of the linked app candidate list is complete.
[0142] According to this process of creating a list of potential linked apps, the subsequent launch of the linked app and the transmission of data to be processed (scanned images) from the source app (scanning app) to the linked app will be processed in accordance with whether or not the logged-in user has permission to use the linked app.
[0143] (effect) As described above, in the image forming apparatus 1011 according to the embodiment, the processor 1011 creates a list of candidate partner applications that can be linked with the source application based on the partner application management table 1035, provides an environment for selecting a partner application from the candidate list (a screen for selecting a partner application), launches the partner application selected from the candidate list, and passes the data to be processed from the source application to the partner application when the partner application is launched. This provides an image forming apparatus 1011 that can launch an appropriate partner program without requiring trial and error.
[0144] Furthermore, according to the embodiment, the processor 1011 of the image forming apparatus 1011 is provided with a control program that performs the above operations. The control program may be transferred while stored in an electronic device, or it may be transferred while not stored in an electronic device. In the latter case, the program may be transferred via a network, or it may be transferred while stored in a storage medium. The storage medium is a non-temporary tangible medium. The storage medium is a computer-readable medium. The storage medium may be any medium that can store a program and is readable by a computer, such as a CD-ROM or memory card, and its form is not limited.
[0145] While several embodiments of the present invention have been described, these embodiments are presented as examples only and are not intended to limit the scope of the invention. These novel embodiments can be carried out in a variety of other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims of the invention and its equivalents. [Explanation of symbols]
[0146] 1001...Image forming apparatus, 1011...Processor, 1012...ROM, 1013...RAM, 1014...Local storage device, 1015...Operation keys, 1016...Touch panel, 1017...Display, 1018...Scan input unit, 1019...Print output unit, 1020...Fax input / output unit, 1021...Wired LAN transmission / reception unit, 1022...Wireless LAN transmission / reception unit, 1023...RAM, 1031...Operating system, 1032...Built-in application execution framework, 1033...Function control application, 1034...Storage for function control application, 1035...Linked application management table, 1036...Built-in application, 1037...Storage for built-in application, 1038...User management table, 1039...Function setting table, 1040...Application license management table.
Claims
1. An image forming apparatus having various functions, A storage device that stores a source application that performs each of the aforementioned functions, a destination application that interacts with the source application, and destination application management information including information on whether or not the destination application can interact with the source application, The system includes a processor that runs the aforementioned source application and the aforementioned destination application. The aforementioned processor, Based on the linked application management information, a list of candidate linked applications that can be linked with the linked application is created. The environment is provided for selecting the linked application from the aforementioned candidate list. The linked application selected from the candidate list is launched, When the linked application is launched, the data to be processed is passed from the linked application to the linked application. Image forming apparatus.
2. The aforementioned storage device stores the license information of the linked application. The processor creates the candidate list based on the license information. The image forming apparatus according to claim 1.
3. The aforementioned storage device stores user management information, including user identification information. The processor performs login authentication based on the user management information. The image forming apparatus according to claim 1.
4. The user management information includes permission information regarding whether or not each user has permission to use the linked application. The processor creates the candidate list based on the authorization information. The image forming apparatus according to claim 3.
5. The aforementioned storage device stores setting information for enabling or disabling app integration for each function. The processor creates the candidate list based on the configuration information. The image forming apparatus according to claim 1.
6. A control program for an image forming apparatus having various functions, A computer having a source application that performs each of the aforementioned functions, a destination application that interacts with the source application, a storage device that stores destination application management information including information on whether or not the destination application can interact with the source application, and a processor that runs the source application and the destination application, Based on the linked application management information, a list of candidate linked applications that can be linked with the linked application is created. Provide an environment in which the linked application is selected from the aforementioned candidate list. The linked application selected from the candidate list is launched, When the linked application is launched, the data to be processed is passed from the linked application to the linked application. Control program for an image forming apparatus.