Information processing device, information processing method, and program
The information processing device enables the use of substitute applications without additional licensing, addressing the inefficiency caused by failed processing programs in workflows by providing execution authority, thus maintaining workflow continuity.
Patent Information
- Application Number
- JP2022009582
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-01-25
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2042-01-25
AI Technical Summary
Existing technologies fail to address situations where a user cannot use an alternative program due to the need for a license, leading to decreased work efficiency when a processing program fails in a workflow.
An information processing device with a determination unit to identify application failures, an identification unit to find substitute applications, and a granting unit to provide execution authority for those substitute applications when the user lacks initial authority.
Prevents a decrease in user work efficiency by allowing the use of substitute applications without additional licensing, ensuring workflow continuity.
Smart Images

Figure 0007771781000001 
Figure 0007771781000002 
Figure 0007771781000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing device, an information processing method, and a program. [Background technology]
[0002] Conventionally, there are applications that can realize a workflow, which is an ordered combination of multiple processes. In order to use such an application properly, all of the processes that make up the workflow must be able to operate normally. In other words, if a failure occurs in one of the processes that make up the workflow, the user will not be able to obtain the final deliverable of the workflow.
[0003] Conventionally, for a workflow in which multiple processing programs are executed in sequence, if there is a failure in one of the processing programs, a technology has been proposed that allows the workflow to continue operating by executing an alternative program that is a processing program that can substitute for the functions of the processing program whose execution is prevented by the failure, instead of the processing program whose execution is prevented by the failure (for example, Patent Document 1). Summary of the Invention [Problem to be solved by the invention]
[0004] However, Patent Document 1 does not take into consideration situations in which a user cannot use an alternative program. For example, some programs cannot be executed unless the user has acquired execution authority by purchasing a license in advance. With the technology of Patent Document 1, in order to use such a program as an alternative program, the user must purchase a license for the program.
[0005] The present invention has been made in view of the above-mentioned points, and has as its object to suppress a decrease in the user's work efficiency when a desired application cannot be used. [Means for solving the problem]
[0006] To solve the above problem, the information processing device has a determination unit that determines whether a failure has occurred in a first application, an identification unit that identifies a second application that can replace the functions of the first application, and, if the failure has occurred and the user of the first application does not have execution authority for the second application, a granting unit that grants the execution authority to the user. [Effects of the Invention]
[0007] This can prevent a decrease in the user's work efficiency when the desired application cannot be used. [Brief explanation of the drawings]
[0008] [Figure 1] 1 is a diagram illustrating an example of a configuration of an information processing system according to an embodiment of the present invention. [Figure 2] 1 is a diagram illustrating an example of a hardware configuration of a service providing system 10 according to an embodiment of the present invention. [Figure 3] 1 is a diagram illustrating an example of a hardware configuration of an image forming apparatus 20 according to an embodiment of the present invention. [Figure 4] 1 is a diagram illustrating an example of a functional configuration of a service providing system 10 according to an embodiment of the present invention. [Figure 5] FIG. 10 is a sequence diagram illustrating an example of a processing procedure executed in the information processing system. [Figure 6] FIG. 10 is a sequence diagram illustrating an example of a processing procedure executed in the information processing system. [Figure 7] FIG. 2 illustrates an example of the configuration of a license information storage unit 123. [Figure 8] FIG. 2 is a diagram illustrating an example of the configuration of an application setting information storage unit 122. [Figure 9] FIG. 10 is a diagram illustrating an example of application data. [Figure 10] FIG. 2 is a diagram illustrating an example of the configuration of a service status storage unit 121. [Figure 11]FIG. 10 is a diagram illustrating a display example of an application list screen. [Figure 12] FIG. 10 is a diagram illustrating an example of adding license information of a substitute application. DETAILED DESCRIPTION OF THE INVENTION
[0009] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. Fig. 1 is a diagram showing an example of the configuration of an information processing system according to an embodiment of the present invention. In Fig. 1, the information processing system includes a service providing environment E1, a user environment E2, and one or more external storage systems 40. The service providing environment E1, the user environment E2, and the external storage systems 40 are communicatively connected via a wide area network N1 such as the Internet.
[0010] The service providing environment E1 is a system environment that provides external services such as cloud services via the network N1. In this embodiment, a cloud service is used as a specific example of an external service, but this embodiment may also be applied to services provided via a network, such as services provided by an ASP (Application Service Provider) or web services.
[0011] The service providing environment E1 has a service providing system 10 configured with one or more information processing devices (computers). The service providing system 10 provides predetermined services via a network N1. For example, the service providing system 10 provides a service of executing an application defined in advance as a workflow on image data generated by an image forming device 20 in the user environment E2 by scanning a document. The service providing system 10 also provides a service of causing the image forming device 20 to print an electronic file stored in an external storage system 40 by executing an application defined in advance as a workflow.
[0012] The user environment E2 is, for example, a system environment in a company or the like that is a user of the image forming apparatus 20. The user environment E2 includes one or more image forming apparatuses 20. Each image forming apparatus 20 is connected to a network N1 via a network such as a LAN (Local Area Network).
[0013] The image forming apparatus 20 is an image forming apparatus having a print function and a scan function. Note that the image forming apparatus 20 may be a multifunction device or the like having a copy function, a fax communication function, etc. in addition to the print function and the scan function.
[0014] The external storage system 40 is a computer system that provides a cloud service called a storage service (or online storage) via the network N1. The storage service is a service that rents out a storage area of the storage of the external storage system 40. For example, the storage area is used as a storage destination (upload destination) for electronic files to be processed in a workflow. Furthermore, the electronic files stored in the storage area are downloaded as input data for the workflow.
[0015] Fig. 2 is a diagram showing an example of the hardware configuration of a service providing system 10 according to an embodiment of the present invention. In Fig. 2, the service providing system 10 includes an input device 11, a display device 12, an external I / F 13, a RAM 14, a ROM 15, a CPU 16, a communication I / F 17, and an HDD 18, all of which are interconnected by a bus B. The input device 11 and the display device 12 may be connected and used when necessary.
[0016] The input device 11 includes a keyboard, a mouse, a touch panel, etc., and is used by the user to input various operation signals. The display device 12 includes a display, etc., and displays the processing results of the service providing system 10.
[0017] The communication I / F 17 is an interface that connects the service providing system 10 to various networks. This allows the service providing system 10 to perform data communication via the communication I / F 17.
[0018] The HDD 18 is an example of a non-volatile storage device that stores programs and data. The stored programs and data include an OS, which is basic software that controls the entire service providing system 10, and software that provides various functions on the OS. Note that the service providing system 10 may use a drive device that uses flash memory as a recording medium (e.g., a solid state drive (SSD)) instead of the HDD 18.
[0019] The external I / F 13 is an interface with an external device. The external device may be a recording medium 13a. This allows the service providing system 10 to read and / or write data from and to the recording medium 13a via the external I / F 13. The recording medium 13a may be a flexible disk, a CD, a DVD, an SD memory card, a USB memory, or the like.
[0020] The ROM 15 is an example of a non-volatile semiconductor memory (storage device) that can retain programs and data even when the power is turned off. The ROM 15 stores programs and data such as BIOS, OS settings, and network settings that are executed when the service providing system 10 is started. The RAM 14 is an example of a volatile semiconductor memory (storage device) that temporarily retains programs and data.
[0021] The CPU 16 is a computing device that controls the entire service providing system 10 and realizes its functions by reading programs and data from storage devices such as the ROM 15 and HDD 18 onto the RAM 14 and executing the processes.
[0022] Fig. 3 is a diagram showing an example of the hardware configuration of an image forming apparatus 20 according to an embodiment of the present invention. In Fig. 3, the image forming apparatus 20 includes a controller 21, an operation panel 22, an external I / F 23, a communication I / F 24, a printer 25, and a scanner 26. The controller 21 also includes a CPU 211, a RAM 212, a ROM 213, a NVRAM 214, and a HDD 215. The ROM 213 stores various programs and data. The RAM 212 temporarily stores programs and data. The NVRAM 214 stores, for example, setting information, etc. The HDD 215 stores various programs and data.
[0023] The CPU 211 reads programs, data, setting information, etc. from the ROM 213, NVRAM 214, HDD 215, etc. onto the RAM 212 and executes the processes, thereby realizing the overall control and functions of the image forming apparatus 20.
[0024] The operation panel 22 includes an input unit that accepts input from a user and a display unit that displays information. The external I / F 23 is an interface with an external device. The external device is, for example, a recording medium 23a. In this case, the image forming apparatus 20 can read and / or write data from and to the recording medium 23a via the external I / F 23. The recording medium 23a is, for example, an IC card, a flexible disk, a CD, a DVD, an SD memory card, a USB memory, etc.
[0025] The communication I / F 24 is an interface that connects the image forming apparatus 20 to a network. That is, the image forming apparatus 20 can perform data communication via the communication I / F 24. The printer 25 is a printing device that prints print data. The scanner 26 is a reading device that reads an original document and generates an image file (electronic file).
[0026] FIG. 4 is a diagram illustrating an example of a functional configuration of the service providing system 10 according to the embodiment of the present invention. As illustrated in FIG. 4, the service providing system 10 includes a dependent service monitoring unit 111, a UI control unit 112, an authentication unit 113, an application usage determination unit 114, a substitutable application search unit 115, a substitute license determination unit 116, and a license management unit 117. Each of these units is implemented by the CPU 16 executing one or more programs installed in the service providing system 10. The service providing system 10 also uses a service status storage unit 121, an application setting information storage unit 122, a license information storage unit 123, and the like. Each of these storage units can be implemented using, for example, the HDD 18 or a storage device connectable to the service providing system 10 via a network.
[0027] The dependent service monitoring unit 111 periodically monitors the status of each external service (hereinafter referred to as "dependent service") on which each application provided by the service providing system 10 depends (uses), and stores information indicating whether a failure has occurred for each dependent service in the service status storage unit 121. An example of a dependent service is a storage service provided by the external storage system 40.
[0028] The UI control unit 112 transmits screen data indicating a screen constituting a user interface for a user (hereinafter referred to as a "target user") who operates the image forming apparatus 20 to the image forming apparatus 20. The UI control unit 112 receives a request transmitted from the image forming apparatus 20 in response to an operation on the screen, and controls processing in accordance with the request. The screen data is, for example, data constituting a Web page (HTML data, etc.).
[0029] The authentication unit 113 identifies the target user by authenticating the target user.
[0030] The application usability determination unit 114 identifies applications for which the target user has a license by referring to the license information storage unit 123, and determines whether each identified application is usable by referring to the application setting information storage unit 122 and the service status storage unit 121. The license information storage unit 123 stores, for each user, information related to the license (execution authority) held by the user (hereinafter referred to as "license information"). The license information includes information indicating the application covered by the license and information indicating the validity period of the license. The application setting information storage unit 122 stores setting information for each application (hereinafter referred to as "application setting information"). The application setting information includes information indicating dependent services of the application. The application usability determination unit 114 determines whether each application is usable based on whether a failure has occurred in a dependent service of each application related to a valid license held by the target user.
[0031] The substitutable application search unit 115 searches for (identifies) one or more corresponding applications (hereinafter referred to as "substitutable applications") when a target user instructs to search for applications that can substitute for the functions of an application determined to be unusable by the application usability determination unit 114. The substitutable applications are searched for from among the group of applications determined to be usable by the application usability determination unit 114.
[0032] The substitute license determination unit 116 determines whether the target user already has a license for an application (hereinafter referred to as "substitute application") selected by the target user from the group of substitutable applications as the application to be executed, by referring to the license information storage unit 123.
[0033] If the target user does not have a license for the alternative application, the license management unit 117 executes a process for granting the license for the alternative application to the target user.
[0034] The following describes the processing procedures executed in the information processing system: Figures 5 and 6 are sequence diagrams illustrating an example of the processing procedures executed in the information processing system.
[0035] When a target user who operates the image forming apparatus 20 inputs his / her own authentication information into a login screen displayed on the operation panel 22 of the image forming apparatus 20, the image forming apparatus 20 transmits a login request including the authentication information to the UI control unit 112 (S101). The authentication information is, for example, a user ID and a password. However, the authentication information is not limited to specific information as long as it is information that can be used for user authentication, such as information recorded on an IC card or biometric information.
[0036] When the UI control unit 112 receives a login request, it requests the authentication unit 113 to authenticate authentication information included in the login request (hereinafter referred to as "input authentication information") (S102). The authentication unit 113 performs authentication by comparing the input authentication information with correct authentication information that is managed in advance for each legitimate user. If the input authentication information matches any correct authentication information, the authentication unit 113 responds to the UI control unit 112 with an authentication result including a user ID associated with the correct authentication information (S103). That is, the user ID is identified as the user ID of the target user (hereinafter referred to as a "target user ID"). On the other hand, if there is no correct authentication information that matches the input authentication information, the authentication unit 113 responds to the UI control unit 112 with an authentication result indicating authentication failure (S103). If an authentication result including the target user ID is responded, steps S104 and subsequent steps are executed; if not, steps S104 and subsequent steps are not executed.
[0037] In step S104, the UI control unit 112 transmits a query request for a list of applications for which the target user has a license (hereinafter referred to as a "user-owned application list") to the application usage determination unit 114. The query request includes the target user ID. In response to the query request, the application usage determination unit 114 searches the user-owned application list from the license information storage unit 123 based on the target user ID (S105, S106).
[0038] Fig. 7 is a diagram showing an example of the configuration of the license information storage unit 123. As shown in Fig. 7, the license information storage unit 123 stores, in association with a user ID, a list of license information relating to licenses owned by (granted to) a user associated with the user ID. Although Fig. 7 shows an example of license information L1 and L2 relating to only one user, the license information storage unit 123 stores license information for each license owned by each of all users.
[0039] The license information includes parameters such as a license ID, a usage fee, and one or more pieces of application information. The license ID is identification information for the license. The usage fee is the usage fee for the license. The application information is information about the application that becomes available under the license. Each piece of license information illustrated in FIG. 7 corresponds to only one application and therefore includes one piece of application information, but license information related to a license that corresponds to multiple applications includes multiple pieces of application information corresponding to the multiple applications.
[0040] Application information for a normal license (a license that is not a trial license) includes parameters such as an ID, a failure use, and the last day of the usable period. The ID is identification information for the application. The failure use is a parameter indicating whether the license for the application was temporarily granted in the event of a failure (true) or not (false). The last day of the usable period is the last day of the period during which the license can be used (the expiration date of the license). On the other hand, license information for a trial license does not include the failure use but does include the trial. The trial is a parameter indicating whether the license is a trial license, and in the case of a trial license, the value is true. In Figure 7, license information L2 is the license information for a trial license.
[0041] The application usability determination unit 114 acquires application IDs from each piece of license information whose usage period has not yet ended, and identifies a list of the application IDs as a list of user-owned applications. Note that applications associated with each application ID constituting the list of user-owned applications are hereinafter referred to as "user-owned applications."
[0042] Next, the application usability determining unit 114 acquires application setting information of each application from the application setting information storage unit 122 (S107, S108). Here, application setting information is acquired for all applications, not just user-owned applications.
[0043] FIG. 8 is a diagram illustrating an example of the configuration of the application setting information storage unit 122. As shown in FIG. 8, the application setting information storage unit 122 stores application setting information for each application, including an application ID, an application type, an application function tag, application data, and a maximum usable period in the event of a failure. The application type is information indicating the type of workflow executed by the application. The application type value is classified as, for example, scan or print. Scan is an application type that takes image data scanned by the image forming apparatus 20 as input and executes processing defined in a workflow on the image data. Print is an application type that downloads data from the external storage system 40, executes processing defined in a workflow on the data, and causes the image forming apparatus 20 to print the data obtained as a result of the processing.
[0044] An application function tag is a set of tags (identifiers) that indicate the functions that make up the workflow realized by the application. Application function tags may be assigned to the application by the application developer, or may be assigned automatically based on the operationName of the application data described below. For example, if the operationName is putFile, Storage may be assigned as the application function tag.
[0045] The maximum usable period during failure is the maximum period during which the application can be used as a substitute application when another application fails. When another application fails, this refers to when a failure occurs in an external service on which the other application depends (for example, an external service provided by the external storage system 40).
[0046] The application data will be described with reference to Fig. 9. Fig. 9 is a diagram showing an example of application data. Fig. 9 shows an example in which application data is written in the format of JSON (JavaScript (registered trademark) Object Notation), but the notation of application data is not limited to a predetermined one.
[0047] As shown in FIG. 9, application data includes an appName element and an appId element. The value of the appName element is the name of the application. The value of the appId element is the application ID. Furthermore, application data for an application that depends on one or more external services includes a components element. The components element includes a componentName element, an operationName element, and a parameters element for each dependent service. The value of the componentName element is the name of the dependent service (service name). The value of the operationName element is the operation to be executed by the dependent service. In the example of FIG. 9, putFile means saving a file. The value of the parameters element includes a group of parameters related to the operation to be executed by the dependent service, and the configuration of these parameters may vary depending on the dependent service. In the example of FIG. 9, the value of the parameters element includes parameters related to the folder name and file name in which the file will be saved.
[0048] Next, the application usability determining unit 114 acquires the status of each dependent service from the service status storage unit 121 (S109, S110).
[0049] Fig. 10 is a diagram showing an example of the configuration of the service status storage unit 121. As shown in Fig. 10, the service status storage unit 121 stores a status for each dependent service of any application in association with the service name. The status value is "normal" or "failure." "Normal" indicates that the dependent service is available for use. "Failure" indicates that the dependent service is unavailable due to a failure.
[0050] The dependent service monitoring unit 111 periodically monitors (checks) the status of each dependent service. If a failure occurs in any dependent service, the dependent service monitoring unit 111 updates the status value of the dependent service to "failure," and if a dependent service whose status value was "failure" has recovered from the failure, the dependent service monitoring unit 111 updates the status value of the dependent service to "normal." However, the dependent service monitoring unit 111 may check the status of each dependent service immediately before step S110.
[0051] Next, the application usability determination unit 114 determines whether or not the target user can use each application (not limited to user-owned applications) based on the state (status) of each dependent service (S111). Specifically, the application usability determination unit 114 determines whether or not the target user can use each application based on whether the status of a dependent service associated with a service name that matches the componentName in the application data (FIG. 9) of the application is "normal" or "failed." That is, the application usability determination unit 114 determines that an application whose status is "failed" is unusable, and determines that an application whose status is not "failed" is usable. The application usability determination unit 114 stores the determination result for each application in, for example, the RAM 14 or the HDD 18. Specifically, the application usability determination unit 114 stores information indicating whether or not the application is usable in the RAM 14 or the HDD 18, in association with the application setting information of the application.
[0052] Next, application usability determination unit 114 transmits application setting information for each user-owned application and information indicating whether each user-owned application is usable to UI control unit 112 (S112). Next, UI control unit 112 generates screen data for an application list screen including each user-owned application as an option (candidate) to be executed, based on the information received from application usability determination unit 114, and transmits the screen data to image forming apparatus 20 (S113). At this time, application usability determination unit 114 generates the screen data so that the option of a user-owned application determined to be unusable cannot be selected and so that a search instruction for a substitutable application for the user-owned application can be received.
[0053] Upon receiving the screen data, the image forming apparatus 20 displays an application list screen on the operation panel 22 based on the screen data.
[0054] FIG. 11 is a diagram showing an example of an application list screen. FIG. 11 shows an example of an application list screen 510 that is displayed when there are two user-owned applications. The application list screen 510 is a screen for accepting selection of an application to be executed from among the user-owned applications. Icon c1 is an option corresponding to one user-owned application, and icon c2 is an option corresponding to the other user-owned application. However, icon c2 is not selectable (the dashed frame in the figure indicates that it is not selectable). This is because it has been determined that the user-owned application corresponding to icon c2 is unusable. Therefore, button b1 is displayed to accept an instruction to search for a replaceable application for icon c2. Button b1 may be displayed constantly, or may be displayed when the mouse cursor is over icon c2.
[0055] If the application that the target user wants to execute (hereinafter referred to as the "target application") is the application corresponding to icon c2, the target user can input a search instruction for a replaceable application by selecting button b1.
[0056] When button b1 is selected, image forming apparatus 20 transmits a search request for substitutable applications to UI control unit 112 based on the definition of the screen data of application list screen 510 (S114). The search request includes the application ID of the target application corresponding to button b1 (hereinafter referred to as the "target application ID"). Upon receiving the search request, UI control unit 112 transmits the search request to substitutable application search unit 115 (S115).
[0057] In response to the search request, the substitutable application search unit 115 transmits an acquisition request for application setting information of applications that can be used as substitute applications (hereinafter referred to as "usable applications") to the application usability determination unit 114 (S116). In response to the acquisition request, the application usability determination unit 114 identifies, as usable applications, applications that were determined to be usable in step S111 and whose maximum usable period in the event of a failure is greater than 0, and transmits the application setting information of the usable applications to the substitutable application search unit 115 (S117). Therefore, applications other than user-owned applications (applications for which the target user does not have a license) can also be identified as usable applications. Furthermore, multiple usable applications can be identified.
[0058] Next, the substitutable application search unit 115 searches all the available applications for an application that can substitute for the function of the target application (substitutable application) (S118).
[0059] The search for substitutable applications from among the available applications is performed based on a comparison between the application type and application function tag of the target application and the application type and application function tag of each available application. Among available applications of the same application type as the target application, available applications that have a relatively high degree of match with the application function tag of the target application are identified as substitutable applications. For example, the substitutable application search unit 115 assigns points to each available application of the same application type as the target application according to the number of application function tags that match the application function tag of the target application (e.g., 1 point for each tag match), and identifies the top N (N≧1) available applications with points as substitutable applications. In this case, available applications with points below a certain level may not be included in the substitutable applications. Furthermore, the points (weight) of each application function tag may be changed according to the importance of the function. This makes it easier to search for available applications with important functions as substitutable applications.
[0060] Next, the substitutable application search unit 115 transmits a list of application setting information of the substitutable applications (substitutable application list) to the UI control unit 112 (S119). The substitutable application list may be a list in which the application setting information of each substitutable application is sorted in descending order of the points of each substitutable application. Upon receiving the substitutable application list, the UI control unit 112 generates screen data for a screen (hereinafter referred to as a "substitutable application list screen") showing the search results for the substitutable applications based on the substitutable application list, and transmits the screen data to the image forming apparatus 20 (S120). The image forming apparatus 20 displays the substitutable application list screen on the operation panel 22 based on the screen data.
[0061] The substitutable application list screen is a screen that displays options for each substitutable application in the order in which they are arranged in the substitutable application list, from top to bottom. Each option may be an icon or the like including an image that indicates the characteristics of the substitutable application based on the application function tag of the corresponding substitutable application or a dependent service of the substitutable application.
[0062] When the target user selects one of the options for a substitutable application, the image forming device 20 notifies the UI control unit 112 of the application selected as the substitutable application by sending the application ID of the selected substitutable application (hereinafter referred to as the "substitutable application") to the UI control unit 112 (S121 in FIG. 6).
[0063] When receiving the application ID of the alternative application (hereinafter referred to as "alternative application ID"), the UI control unit 112 transmits a determination request to the alternative license determination unit 116 to determine whether or not the target user owns a license (trial license or purchased license) for the alternative application (S122). The determination request includes the target user ID and the alternative application ID.
[0064] In response to the determination request, the substitute license determination unit 116 obtains license information associated with the target user ID from the license information storage unit 123 (FIG. 7), and determines whether the target user owns a license for the substitute application (S123, S124). Specifically, if there is license information that includes the substitute application ID and whose usage period has not yet expired, the substitute license determination unit 116 determines that the target user owns a license for the substitute application, and if not, determines that the substitute user does not own a license for the substitute application.
[0065] Next, the substitute license determination unit 116 transmits the determination result as to whether or not the target user owns a license for the substitute application to the UI control unit 112 (S125). Here, it is assumed that the target user does not own a license for the substitute application.
[0066] If the target user does not have a license for the alternative application, the UI control unit 112 transmits a request for delegation of screen processing (interaction with the image forming apparatus 20) to the license management unit 117 (S126). At this time, the UI control unit 112 includes in the delegation request the target application ID, the alternative application ID, and information indicating that the transition is from the substitutable application list screen. For example, the information may be included as a query in the URL of the delegation request. Based on the information, the license management unit 117 can determine that the alternative application license should be provided free of charge even if it is subject to a fee.
[0067] Next, the license management unit 117 transmits screen data of an installation screen for the substitute app to the image forming apparatus 20 (S127). The image forming apparatus 20 displays the installation screen on the operation panel 22 based on the screen data. The installation screen is a screen for receiving an instruction to install the substitute app from the target user. The installation screen may include a message indicating that the substitute app can be used free of charge for a limited period of time.
[0068] When the target user inputs an instruction to install the substitute app on the installation screen, the image forming apparatus 20 transmits an installation request for the substitute app to the license management unit 117 (S128). In response to the installation request, the license management unit 117 adds license information for temporarily enabling the substitute app to be used in place of the target app to the license information storage unit 123 based on the substitute app ID and the target app ID (S129). As a result, a license for the substitute app is granted to the target user.
[0069] FIG. 12 is a diagram showing an example of adding license information for a substitute application. In FIG. 12, license information L3 is added to FIG. 7. The license information L3 is license information corresponding to the substitute application. That is, the application information ID of the license information L3 is the application ID of the substitute application. Furthermore, since the license information L3 is a temporary license for use in the event of a failure, the value for use in the event of a failure is true. Furthermore, the license information L3 includes a failed application. The value of the failed application is the application ID of the application (i.e., the target application) to be substituted by the substitute application. The last date of the usage period of the license information L3 is the earlier of the date obtained by adding the maximum usage period in the event of a failure in the application setting information of the substitute application (FIG. 8) to the current date, or the last date of the usage period of the failed application (target application). This is because the substitute application can be used in place of the failed application (target application), and the substitute application cannot be used beyond the period during which the failed application (target application) can be used.
[0070] In addition, if expired license information for the alternative application (license information whose last day of use has passed) is already stored in the license information storage unit 123 in association with the target user ID, the license management unit 117 may update the last day of use of the license information and add information indicating the faulty application and that the license information is for use in the event of a fault to the license information, thereby validating the license for the alternative application.
[0071] Next, license management unit 117 transmits screen data of a screen indicating the completion of installation of the substitute app (hereinafter referred to as the "installation completion screen") to image forming apparatus 20 (S130). Upon receiving the screen data, image forming apparatus 20 displays the installation completion screen on operation panel 22. Note that in this embodiment, since the substitute app is a web-based application, the target user can use the substitute app by being given a license, even without installing a program or the like.
[0072] 5 is executed again, and the application list screen 510 is displayed on the operation panel 22 of the image forming apparatus 20. In this case, since the target user owns a license for the alternative application, the application list screen 510 also includes options (icons) corresponding to the alternative application. The UI control unit 112 may generate screen data for the application list screen 510 based on the license information of the alternative application so that the options (icons) for the alternative application are displayed near the options (icons) for the faulty application (target application).
[0073] The target user can use an alternative app instead of the target app via the redisplayed app list screen 510. As a result, it is possible to reduce the possibility that the target user's work will be hindered by a failure in an external service used by the target app.
[0074] Note that, although the substitute app is basically usable until the last day of the usable period of the license information L3 ( FIG. 12 ) of the substitute app, the license of the substitute app may be cancelled when the failure of a dependent service used by the failed app (target app) is recovered. In this case, for example, the dependent service monitoring unit 111 may detect recovery (resolution) of the failure of a certain dependent service and update the status of the dependent service in the service status storage unit 121 from “failed” to “normal,” after which the license information of the substitute app may be invalidated. For example, in step S111, if there is license information for the substitute app, and it is determined that the application related to the failed app in the license information is usable, the app usability determining unit 114 may exclude the substitute app from the user-owned apps. Alternatively, the dependent service monitoring unit 111 may delete license information including the app ID of an application that uses the dependent service as the value of the failed app from the license information storage unit 123. By doing so, the alternative application is no longer displayed on the application list screen 510, and the alternative application can be made unusable at the time when the faulty application (target application) becomes usable.
[0075] Furthermore, when the alternative application becomes unavailable, the UI control unit 112 may cause the image forming apparatus 20 to display a screen prompting the user to purchase a license for the alternative application. This can be expected to promote sales of the application.
[0076] As described above, according to this embodiment, if a desired application is unavailable, the user can use an alternative application that has similar functions to the desired application without having to obtain a new execution authority (license). This prevents a decrease in user work efficiency when the desired application is unavailable.
[0077] Note that devices other than image forming apparatus 20 may be used as terminals as long as they have a communication function. For example, the present embodiment may be applied to output devices such as PJs (Projectors), IWBs (Interactive White Boards: electronic white boards with a blackboard function that allows mutual communication), digital signage, HUDs (Head Up Display) devices, industrial machinery, imaging devices, sound collection devices, medical equipment, network home appliances, notebook PCs (Personal Computers), mobile phones, smartphones, tablet terminals, game consoles, PDAs (Personal Digital Assistants), digital cameras, wearable PCs, desktop PCs, and the like.
[0078] The functions of the above-described embodiments can be realized by one or more processing circuits. Here, the term "processing circuit" in this specification includes a processor programmed to execute each function by software, such as a processor implemented by an electronic circuit, as well as devices such as an ASIC (Application Specific Integrated Circuit), a DSP (Digital Signal Processor), an FPGA (Field Programmable Gate Array), and conventional circuit modules designed to execute each of the above-described functions.
[0079] In the present embodiment, the service providing system 10 is an example of an information processing device. The application usability determination unit 114 is an example of a determination unit. The substitutable application search unit 115 is an example of an identification unit. The license management unit 117 is an example of a granting unit. The application usability determination unit 114 or the dependent service monitoring unit 111 is an example of a release unit. The UI control unit 112 is an example of a transmission unit. The image forming device 20 is an example of a terminal.
[0080] Although the embodiments of the present invention have been described in detail above, the present invention is not limited to such specific embodiments, and various modifications and variations are possible within the scope of the gist of the present invention as described in the claims. [Explanation of symbols]
[0081] 10 Service provision system 11 Input Devices 12 Display device 13 External I / F 14 RAM 15 ROM 16 CPU 17 Communication I / F 18 HDD 20 Image forming device 21 Controller 22 Operation panel 23 External I / F 24 Communication I / F 25 printers 26 Scanner 40 External Storage Systems 111 Dependent Service Monitoring Department 112 UI control section 113 Authentication Department 114 App usability determination unit 115 Substitute App Search Section 116 Substitute License Determination Unit 117 License Management Department 121 Service status memory unit 122 App setting information storage unit 123 License information storage unit 211 CPU 212 RAM 213 ROM 214 NVRAM 215 HDD [Prior art documents] [Patent documents]
[0082] [Patent Document 1] JP 2015-119251 A
Claims
1. a determination unit that determines whether a failure has occurred in the first application; an identification unit that identifies a second application that can substitute for a function of the first application; a granting unit that grants execution authority to a user of the first application if the user does not have execution authority for the second application when the failure occurs; An information processing device comprising:
2. the granting unit grants the execution authority, for which an expiration date is set, to the user; 2. The information processing apparatus according to claim 1, wherein:
3. a release unit that releases the granting of the execution authority when the resolution of the failure is detected; 2. The information processing apparatus according to claim 1, further comprising:
4. a transmission unit that transmits screen data of a screen including options corresponding to the second application as options to be executed to the terminal; 4. The information processing apparatus according to claim 1, further comprising:
5. a determination procedure for determining whether or not a failure has occurred in the first application; an identifying step of identifying a second application that can substitute for a function of the first application; a granting step of granting execution authority to a user of the first application if the user does not have execution authority to the second application when the failure occurs; An information processing method characterized by being executed by a computer.
6. a determination procedure for determining whether or not a failure has occurred in the first application; an identifying step of identifying a second application that can substitute for a function of the first application; a granting step of granting execution authority to a user of the first application if the user does not have execution authority to the second application when the failure occurs; A program characterized by causing a computer to execute the above.
Citation Information
Patent Citations
Information apparatus, workflow operation control method, and computer program
JP2015119251A
JP2015‐119251A
Information processing system, information processing apparatus, and information processing method
JP2019061383A
Information processing system, and information processing method
WO2020194992A1