Information processing device, information processing system, and information processing method
The information processing device addresses the challenge of users lacking contract authority by transmitting and analyzing application usage data to enable informed decision-making on application management.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- RICOH CO LTD
- Filing Date
- 2022-07-26
- Publication Date
- 2026-06-30
Smart Images

Figure 0007882036000001 
Figure 0007882036000002 
Figure 0007882036000003
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing apparatus, an information processing system, and an information processing method.
Background Art
[0002] Conventionally, devices that can cooperate with applications provided via a network are known. With such devices, a list screen of a plurality of applications is displayed, and the user is provided with the ability to select an application desired by the user. However, there may be applications that the user cannot use due to licenses or the like. Therefore, a method has been proposed in which both applications that the user can use and applications that the user cannot use are presented to the user, and the user is made aware of the existence of applications that will become available due to changes such as contracts.
Summary of the Invention
Problems to be Solved by the Invention
[0003] However, in the prior art, although it is possible to make the user aware of the existence of applications that will become available due to changes such as contracts, a user who does not have the authority to change the contract or the like cannot change the contract. For this reason, in the prior art, a user with change authority could not manage which applications the user was interested in. That is, in the prior art, it was not possible to easily provide information regarding applications in which the user was interested.
[0004] The present invention has been made in view of the above points, and an object thereof is to provide an information processing apparatus, an information processing system, and an information processing method that can easily provide information regarding applications in which a user is interested.
Means for Solving the Problems
[0005] To solve the above problems, the information processing device includes: a screen information transmission unit that transmits selection screen information of a selection screen that displays a plurality of applications, including a first application that can be used by a user belonging to a tenant which is a contract unit for each of a plurality of plans with different combinations of available applications, and a second application that the user cannot use, to a first information processing terminal; an acquisition unit that acquires behavior information from the first information processing terminal, including selection application information for the application selected by the first user, who is a user belonging to the tenant and does not have the authority to change the plan, via the selection screen, and execution application information for the application that the first user instructed to be executed via the selection screen; a behavior analysis unit that generates report information for the second application based on the behavior information; and a report information transmission unit that transmits the report information to a second information processing terminal operated by a second user, who is a user belonging to the tenant and has the authority to change the plan. When the first user selects the second application via the selection screen, the screen information transmission unit further transmits to the first information processing terminal the input screen information of the input screen for the work time required if the first user were to manually perform the processing performed by the second application, and the report information transmission unit further transmits the report information, including the aggregated results of the work time, to the second information processing terminal operated by the second user. [Effects of the Invention]
[0006] The present invention has the effect of easily providing users with information about applications they are interested in. [Brief explanation of the drawing]
[0007] [Figure 1] Figure 1 shows an example of the configuration of an information processing system according to an embodiment. [Figure 2] Figure 2 shows an example of the hardware configuration of the service provision system in the embodiment. [Figure 3] Figure 3 shows an example of the hardware configuration of an image forming apparatus in an embodiment. [Figure 4] Figure 4 shows an example of the functional configuration of a service provision system and an image forming apparatus in an embodiment. [Figure 5] Figure 5 is an explanatory diagram of an example plan. [Figure 6]Figure 6 is a schematic diagram of an example of the data structure of contract information. [Figure 7] Figure 7 is a sequence diagram showing an example of the information processing flow performed by a service delivery system. [Figure 8] Figure 8 is a schematic diagram of an example of a selection screen. [Figure 9] Figure 9 is a schematic diagram of an example of the data structure of the selected log information. [Figure 10] Figure 10 is a schematic diagram of an example of the execution screen. [Figure 11] Figure 11 is a schematic diagram of an example of the data structure of execution log information. [Figure 12] Figure 12 is a sequence diagram showing an example of the information processing flow performed by a service delivery system. [Figure 13] Figure 13 is a schematic diagram of an example of the data structure of the execution application database. [Figure 14] Figure 14 is a schematic diagram showing an example of the data structure of the selected application database. [Figure 15] Figure 15 is a sequence diagram showing an example of the information processing flow performed by a service delivery system. [Figure 16] Figure 16 is a schematic diagram showing an example of the data structure of behavioral information. [Figure 17] Figure 17 is a schematic diagram showing an example of the data structure of application information. [Figure 18] Figure 18 is a schematic diagram of an example of the data structure of recommendation management information. [Figure 19] Figure 19 is a schematic diagram of an example of the data structure of aggregated information. [Figure 20] Figure 20 is a flowchart showing an example of the aggregation process. [Figure 21] Figure 21 is a schematic diagram of an example of the data structure of plan information. [Figure 22] Figure 22 is a schematic diagram showing an example of the data structure of contract information. [Figure 23] Figure 23 is a schematic diagram showing an example of the data structure of report information. [Figure 24]FIG. 24 is a sequence diagram showing an example of the flow of information processing executed by the service providing system. [Figure 25] FIG. 25 is a schematic diagram of an example of a report screen. [Figure 26] FIG. 26 is a sequence diagram showing an example of the flow of information processing executed by the service providing system of the modified example. [Figure 27] FIG. 27 is a schematic diagram showing an example of the data configuration of the execution application DB of the modified example. [Figure 28] FIG. 28 is a schematic diagram of an example of an input screen. [Figure 29] FIG. 29 is a schematic diagram showing an example of the data configuration of the working time table. [Figure 30] FIG. 30 is a schematic diagram of an example of the report screen of the modified example.
Embodiments for Carrying Out the Invention
[0008] Hereinafter, embodiments of an information processing apparatus, an information processing system, and an information processing method will be described in detail with reference to the accompanying drawings.
[0009] FIG. 1 is a diagram showing a configuration example of the information processing system 1 according to the present embodiment.
[0010] The information processing system 1 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 system 40 are communicably connected via a wide area network N1 such as the Internet.
[0011] The service providing environment E1 is a system environment that provides external services such as cloud services via the network N1. In the present embodiment, a cloud service is adopted as a specific example of the external service for description, but the present embodiment may be applied to services provided via a network such as services provided by an ASP (Application Service Provider) or Web services.
[0012] The service provision environment E1 has a service provision system 10 which is composed of one or more information processing devices (computers).
[0013] The service provision system 10 provides predetermined services via the network N1. For example, the service provision system 10 provides a service that executes an application defined in advance as a workflow on image data generated by the image forming apparatus 20 in the user environment E2 after scanning a document. The service provision system 10 also provides a service that causes the image forming apparatus 20 to print electronic files stored in the external storage system 40 by executing an application defined in advance as a workflow.
[0014] User environment E2 is, for example, the system environment of a company that is a user of the image forming apparatus 20. User environment E2 includes one or more image forming apparatuses 20 and information processing devices 30. The image forming apparatuses 20 and information processing devices 30 are connected to network N1 via a network such as a LAN (Local Area Network).
[0015] The image forming apparatus 20 is an image forming apparatus 20 having multiple functions such as a printing function and a scanning function. The image forming apparatus 20 may also be a multifunction device that has functions other than printing and scanning, such as a copying function and a fax (FAX) communication function.
[0016] The information processing device 30 is, for example, a PC (personal computer) or a smart device.
[0017] The external storage system 40 is a computer system that provides a cloud service called a storage service (or online storage) via a network N1 or the like. The storage service is a service that leases storage space within the external storage system 40. For example, the storage space is used as a destination (upload destination) for electronic files that are processed in a workflow. Furthermore, the electronic files stored in this storage space are downloaded as input data for the workflow.
[0018] Figure 2 shows an example of the hardware configuration of the service provision system 10 in this embodiment.
[0019] The service provision system 10 includes an input device 11, a display device 12, an external interface 13, RAM 14, ROM 15, a CPU 16, a communication interface 17, and an HDD 18, all of which are interconnected via bus B. The input device 11 and the display device 12 may be connected and used only when necessary.
[0020] The input device 11 includes a keyboard, mouse, 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 from the service provision system 10.
[0021] The communication interface 17 is an interface that connects the service provision system 10 to various networks. This allows the service provision system 10 to perform data communication via the communication interface 17.
[0022] HDD18 is an example of a non-volatile storage device that stores programs and data. The programs and data stored include the OS, which is the basic software that controls the entire service provision system 10, and software that provides various functions on the OS. The service provision system 10 may also use a drive device that uses flash memory as a recording medium (e.g., a solid-state drive: SSD) instead of the HDD 18.
[0023] External I / F 13 is an interface to an external device. An external device may be a recording medium 13a. This allows the service provision system 10 to read from and / or write to the recording medium 13a via the external I / F 13. The recording medium 13a may include a flexible disk, CD, DVD, SD memory card, USB memory, etc.
[0024] ROM15 is an example of non-volatile semiconductor memory (storage device) that can retain programs and data even when the power is turned off. ROM15 stores programs and data such as the BIOS, OS settings, and network settings that are executed when the service provision system 10 starts up. RAM14 is an example of volatile semiconductor memory (storage device) that temporarily holds programs and data.
[0025] The CPU 16 is a computing device that reads programs and data from storage devices such as ROM 15 and HDD 18 onto RAM 14 and executes processing, thereby realizing the control and functions of the entire service provision system 10.
[0026] Figure 3 shows an example of the hardware configuration of the image forming apparatus 20 in this embodiment.
[0027] The image forming apparatus 20 includes a controller 21, an operation panel 22, an external interface 23, a communication interface 24, a printer 25, and a scanner 26. The controller 21 also includes a CPU 21A, RAM 21B, ROM 21C, NVRAM 21D, and HDD 21E. ROM 21C stores various programs and data. RAM 21B temporarily stores programs and data. NVRAM 21D stores, for example, setting information. HDD 21E stores various programs and data.
[0028] The CPU 21A reads programs, data, and setting information from ROM 21C, NVRAM 21D, HDD 21E, etc., onto RAM 21B and executes processing to realize the overall control and functions of the image forming apparatus 20.
[0029] The control panel 22 includes an input unit for receiving user input and a display unit for displaying information. The external I / F 23 is an interface to 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 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.
[0030] The communication interface 24 is an interface that connects the image forming apparatus 20 to a network. In other words, the image forming apparatus 20 can perform data communication via the communication interface 24. The printer 25 is a printing device for printing print data. The scanner 26 is a reading device for reading a document and generating an image file (electronic file).
[0031] Figure 4 shows an example of the functional configuration of the service provision system 10 and the image forming apparatus 20 in this embodiment.
[0032] As described above, the image forming apparatus 20 has multiple functions, such as printing and scanning. The image forming apparatus 20 performs these functions by being operated by a user utilizing the service provision system 10.
[0033] The image forming apparatus 20 has a browser 20A. The browser 20A is implemented, for example, by one or more programs installed on the operation panel 22 of the image forming apparatus 20, which are executed by the CPU of the operation panel 22. The browser 20A performs HTTP (Hypertext Transfer Protocol) communication with the service provision system 10. The browser 20A displays web pages provided by the service provision system 10. The browser 20A sends requests to the service provision system 10 in response to user operations on the web pages, and performs operations such as controlling the image forming apparatus 20 in response to those operations.
[0034] The service provision system 10 includes a storage unit 52 and an information processing unit 50. The storage unit 52 and the information processing unit 50 are connected in a manner that allows them to send and receive data or signals.
[0035] The memory unit 52 stores various types of information. In this embodiment, for example, the memory unit 52 stores application information and contract information.
[0036] The storage unit 52 stores application information for each of the multiple applications. Application information is information defined for each application. In this embodiment, an application refers to a workflow application. An application that is a workflow application includes one or more components and is implemented by an ordered combination of multiple components.
[0037] A component is a constituent program included in an application. A component is a program that performs an operation, which represents a process. An operation is a process performed by a component. A component performs an operation according to parameters entered by the user.
[0038] The components include, for example, an OCR (Optical Character Recognition / Reader) processing program, a print conversion processing program, a distribution program, and a download program. The OCR processing program takes image data as input, performs OCR processing on the image data according to OCR conditions represented by parameters entered by the user, and outputs the result of the OCR processing to a predetermined storage area represented by parameters. The print conversion processing program takes electronic data as input, converts the electronic data into a printable format represented by parameters entered by the user, and outputs the converted data. The distribution program distributes the data to a predetermined storage area or destination address of the external storage system 40, represented by parameters entered by the user. The download program downloads the data from a predetermined storage area of the external storage system 40, represented by parameters entered by the user.
[0039] In Information Processing System 1, applications are created in advance by providing multiple types of components and defining the execution order of these components.
[0040] Application information includes screen definitions and processing details. Screen definitions are definition information for screens that accept settings related to the application. Screen definitions hold the data to be displayed on the screen and its layout. Processing details are definition information that indicates the processing content of the application. In other words, processing details represent the content of operations, which are processes performed by each component included in the application. Specifically, processing details describe how to use the document service and the processes performed with the external storage system 40. More specifically, processing details include, for example, the content of operations, which are processes performed by the components that make up the application, the execution order of the components, and the initial values of parameters for each component.
[0041] Contract information refers to information about the contract for each of the multiple plans with different combinations of applications available to the user.
[0042] A plan refers to the options available regarding application usage patterns and restrictions.
[0043] Figure 5 is an explanatory diagram of an example plan.
[0044] Figure 5 shows the features available for each application for each plan. Figure 5 shows three plans, "Essentials," "Connectors," and "Advanced," as examples.
[0045] Each of the multiple plans offers a different combination of available applications and application features. Figure 5 shows that Plan "Advanced" provides all features of the "Scan to XDrive" application and all features (features A, B, and C) of the "Print from XDrive" application. Plan "Connectors" provides only features A and B of the "Print from XDrive" application. Plan "Essentials" provides only feature A of the "Print from XDrive" application. Therefore, the relationship between the plans in terms of the range of available features is "Advanced", "Connectors", and "Essentials". The range of features available in higher-tier plans encompasses the range of features available in lower-tier plans.
[0046] Plans are contracted on a per-contract basis. A per-contract basis is, for example, a tenant to which multiple users belong, or each individual user. In this embodiment, a configuration in which the per-contract basis is a tenant to which multiple users belong will be described as an example. Furthermore, a configuration in which identification information of the image forming apparatus 20 is associated with each tenant will be described as an example.
[0047] Figure 6 is a schematic diagram of an example of the data structure of contract information. Contract information is a database for managing information about plans that a tenant has contracted for, for each tenant, which is the contract unit.
[0048] For example, contract information is a database that associates tenant ID, tenant name, user information, contract plan ID, and application ID. The data format of contract information is not limited to a database.
[0049] The tenant ID is the tenant's identification information. The tenant name is the tenant's name.
[0050] User information refers to information about users belonging to a tenant. Users who use the service provision system 10 are classified into two categories: first users who do not have the authority to change plans, and second users who do have the authority to change plans. User information includes second user information to identify the second users who have the authority to change plans, and first user information to identify the first users who do not have the authority to change plans, among the users belonging to the tenant identified by the corresponding tenant ID.
[0051] The Contract Plan ID is the identifier of the plan that the tenant has contracted, identified by the corresponding Tenant ID. The Application ID is the identifier of the application that is included in the plan identified by the corresponding Contract Plan ID and is available to users belonging to that tenant.
[0052] The contract information only needs to show the correspondence between the tenant and the plan that the tenant has already contracted.
[0053] Returning to Figure 4, let's continue the explanation. The memory unit 52 has application information and contract information pre-stored in it. The application information and contract information can be updated as needed through processing by the information processing unit 50, which will be described later.
[0054] The information processing unit 50 performs information processing. The information processing unit 50 includes a GUI (Graphical User Interface) provision unit 50A, an application management unit 50D, an execution unit 50E, a contract management unit 50F, an authentication and authorization unit 50G, a log management unit 50H, a log extraction unit 50I, a stored data management unit 50J, an acquisition unit 50K, a behavior analysis unit 50L, a recommendation management unit 50M, a plan management unit 50N, and a report management unit 50O. The GUI provision unit 50A includes a screen information transmission unit 50B and a report information transmission unit 50C. The behavior analysis unit 50L includes an aggregated information generation unit 50P, a first search unit 50Q, a second search unit 50R, a list information generation unit 50S, and a report information generation unit 50T.
[0055] Each of these components is realized by processing that one or more programs installed on the service provision system 10 cause the CPU 16 to execute. The service provision system 10 also utilizes a storage unit 52. The storage unit 52 can be realized using, for example, an HDD 18 or a storage device that can be connected to the service provision system 10 via a network.
[0056] Furthermore, the application management unit 50D, execution unit 50E, log management unit 50H, behavioral analysis unit 50L, recommendation management unit 50M, plan management unit 50N, and report management unit 50O may be mounted in different information processing units, as may the GUI provision unit 50A, contract management unit 50F, authentication and authorization unit 50G, log extraction unit 50I, and stored data management unit 50J.
[0057] The GUI provider unit 50A provides screen information for rendering the GUI to the browser 20A. Specifically, the GUI provider unit 50A generates screen information indicating the screen to be displayed in the browser 20A and sends the generated screen information to the browser 20A. Screen information refers to information that defines the screen layout and processing corresponding to the operation of display components on the screen. For example, screen information may be defined using HTML (HyperText Markup Language) or scripts. The GUI provider unit 50A includes a screen information transmission unit 50B and a report information transmission unit 50C. Details of the screen information transmission unit 50B and the report information transmission unit 50C will be described later.
[0058] The application management unit 50D manages the application information stored in the storage unit 52. For example, the application management unit 50D outputs application information to the GUI provision unit 50A in response to a request from the browser 20A of the image forming apparatus 20. The GUI provision unit 50A generates screen information based on the screen definition included in the application information and sends the screen information to the browser 20A.
[0059] The execution unit 50E controls the execution of an application instructed by the user to run via the screen displayed in the browser 20A, in response to a request from the browser 20A of the image forming apparatus 20. Specifically, the execution unit 50E obtains the processing details of a component, which is the processing performed by a component included in the application instructed by the user to run, from the application management unit 50D. Then, the execution unit 50E controls the execution of the application instructed to run based on the obtained processing details.
[0060] In the process of controlling the execution of an application, the execution unit 50E requests the external storage system 40 to execute processing according to the application to be executed. The execution unit 50E also performs operations on electronic files stored in the external storage system 40, and retrieves metadata such as document information of electronic files stored in the external storage system 40, according to the application to be executed.
[0061] The Contract Management Department 50F executes processes related to plan contracts or changes to contract plans.
[0062] The authentication and authorization unit 50G authenticates and authorizes users who operate the image forming apparatus 20. The authentication and authorization unit 50G performs authentication processing for users who have logged into the service provision system 10 and outputs the authentication result to the browser 20A.
[0063] The log management unit 50H writes and manages the results of requests made by the user via the screen displayed on the browser 20A to a log file. The request results include selection log information regarding the application selected by the user via the screen, and execution log information regarding the application that the user instructed to run via the screen. In other words, the log management unit 50H writes and manages the log information selected or instructed to run by the user via the screen to a log file.
[0064] The log extraction unit 50I extracts specific information from log files managed by the log management unit 50H. The stored data management unit 50J registers and manages the data extracted by the log extraction unit 50I in a designated database.
[0065] The acquisition unit 50K acquires behavioral information related to user actions such as operations on the browser 20A by obtaining predetermined information from a database managed by the stored data management unit 50J. Details of the behavioral information will be described later.
[0066] The behavioral analysis unit 50L generates report information about applications of interest to a first user who does not have the authority to change the plan, based on behavioral information acquired by the acquisition unit 50K, recommendation management information managed by the recommendation management unit 50M, and contract information managed by the plan management unit 50N. Details of the recommendation management information and report information will be described later.
[0067] The behavioral analysis unit 50L includes an aggregated information generation unit 50P, a first search unit 50Q, a second search unit 50R, a list information generation unit 50S, and a report information generation unit 50T. Details of the aggregated information generation unit 50P, the first search unit 50Q, the second search unit 50R, the list information generation unit 50S, and the report information generation unit 50T will be described later.
[0068] The service provision system 10 of this embodiment executes the following processes in order.
[0069] First, the service provision system 10 writes the selection log information and execution log information to a log file as the result of the request made by the first user via the screen displayed in the browser 20A.
[0070] Next, the service provision system 10 extracts and stores the behavior information of the first user from the log file.
[0071] The service provision system 10 then analyzes the behavior information of the first user and generates report information regarding applications of interest to the first user, who does not have the authority to change their plan.
[0072] The service provision system 10 then provides the generated report information to a second user who has the authority to modify the plan.
[0073] Each of the above processes performed by the service provision system 10 will be described in detail in turn.
[0074] Figure 7 is a sequence diagram showing an example of the information processing flow performed by the service provision system 10. Figure 7 shows an example of the information processing flow in which selection log information and execution log information are written to a log file.
[0075] For example, when the first user U1 operates the image forming apparatus 20, the browser 20A sends an application list acquisition request to the service provision system 10 (step S100). The application list acquisition request includes, for example, the tenant ID of the tenant associated with the image forming apparatus 20.
[0076] When the application management unit 50D of the service provision system 10 receives an application list acquisition request, it generates selection screen information for the selection screen (step S102).
[0077] The selection screen is a screen that displays multiple applications that can be selected by the first user U1, including a first application that is available to the first user U1 and a second application that is not available to the first user U1. The application management unit 50D identifies the contract plan ID and application ID corresponding to the tenant ID included in the application list acquisition request from the contract information (see Figure 6). The application management unit 50D then identifies the application identified by the identified application ID as the first application that is available to the first user U1. In addition, the application management unit 50D identifies the applications other than the identified first application from among the multiple applications represented by each of the multiple application information stored in the storage unit 52 as second applications that are not available to the first user U1.
[0078] The application management unit 50D then generates selection screen information for a selection screen that allows the user to select the identified first application and the identified second application, and that can identify each of these first and second applications, and outputs this information to the GUI provision unit 50A (step S104).
[0079] The screen information transmission unit 50B of the information processing unit 50 transmits the selection screen information generated by the application management unit 50D to the browser 20A (step S106). Alternatively, the screen information transmission unit 50B may generate the selection screen information and transmit the generated selection screen information to the browser 20A.
[0080] Upon receiving the selection screen information, the browser 20A displays the selection screen information in the browser 20A (step S108).
[0081] Figure 8 is a schematic diagram of an example of the selection screen 60.
[0082] The selection screen 60 includes buttons for each of the multiple applications to accept selection and execution instructions for the application. As shown in the selection screen 60, the button for a second application that is unavailable to user U includes a mark indicating its unavailability, such as a key or a forbidden symbol. The button for a first application that is available to user U does not include a mark indicating its unavailability, such as a key or a forbidden symbol. Here, user U may select not only the first application but also the second application. If the second application is selected by user U, information about the selected second application, such as functional information, can be viewed.
[0083] Returning to Figure 7, the explanation continues. The first user U1 operates the selection screen 60 while viewing it (step S110). When the first user U1 operates the selection screen 60, the browser 20A sends operation log information, which is an operation log, to the service provision system 10 (step S112). The operation log information includes application selection information related to the application selected by the first user U1 via the selection screen 60.
[0084] The application management unit 50D of the service provision system 10 outputs a log writing request for operation log information, including application selection information, to the log management unit 50H (step S114). The log management unit 50H writes the operation log information included in the received log writing request to a log file (step S116). Then, the log management unit 50H outputs a signal to the application management unit 50D indicating that writing is complete (step S118).
[0085] Therefore, operation log information is sequentially written to the log file managed by the log management unit 50H each time the first user U1 performs any operation via the selection screen 60. The operation log information includes selection log information about the application selected by the first user U1, which is represented by the application selection information. Operation log information such as requests to retrieve the application list is also written to the log file.
[0086] Figure 9 is a schematic diagram of an example of the data structure of the selection log information. In Figure 9, "tenantId" represents the tenant ID. As described above, in this embodiment, the identification information of the image forming apparatus 20 is associated with each tenant. Therefore, the log management unit 50H can identify the tenant ID corresponding to the identification information of the image forming apparatus 20 that sent the operation log information, which is included in the operation log information, and use it as the "tenantId" of the selection log information. Alternatively, the selection log information or application list acquisition request received from the browser 20A may also include the "tenantId" of the tenant where the image forming apparatus 20 is installed.
[0087] The url property in Figure 9 is the URL of the application selection information, representing information about the application selected by the first user U1.
[0088] As described above, the application selection information is information about the application selected by the first user U1 via the selection screen 60. The application selection information is sent from the browser 20A to the service provision system 10 when the first user U1 selects a button for any of the applications included in the selection screen 60. Therefore, by using the information represented in the url property included in the selection log information, it is possible to identify the application selected by the first user U1. In other words, by using the selection log information, it is possible to identify which of the multiple applications displayed on the selection screen 60 the first user U1 showed interest in.
[0089] Returning to Figure 7, the explanation continues. Upon receiving the signal indicating the completion of writing in step S118, the application management unit 50D sends the execution screen information of the execution screen to the browser 20A via the GUI provision unit 50A (steps S120, S122). The execution screen is a screen that accepts parameters of components included in the application and also accepts execution instructions for the application. The browser 20A displays the execution screen information received (step S124). If the target selected by user U was a second application, a screen containing information about the selected second application may be displayed.
[0090] Figure 10 is a schematic diagram of an example of an execution screen 62. The execution screen 62 includes input fields for parameters for components included in the application selected by the first user U1. The first user U1 inputs parameters into the input fields of the execution screen 62 by operating while viewing the execution screen 62. In Figure 10, for example, an application including an OCR processing program and a distribution program as components is selected, and the execution screen 62 including an input field for parameters of the distribution program included in the application is shown as an example. Also in Figure 10, an input field for the destination address, which is the destination for the electronic data obtained by the execution of the OCR processing program, is shown as an example. The first user U1 inputs parameters by entering the desired destination address. Then, the user operates the display position of the "Start" button, which is an execution button included in the execution screen 62. Through these operations, the first user U1 inputs parameters via the selection screen 60 and the execution screen 62 and instructs the execution of the application.
[0091] Returning to Figure 7, the explanation continues. When the browser 20A receives the input parameters (step S126), it sends application execution instruction information to the service provision system 10 (step S128). The application execution instruction information includes the application ID of the application to be executed by the first user U1, the input parameters, and the date and time the execution instruction was received.
[0092] The execution unit 50E controls the execution of the application instructed by the user via the selection screen 60, in accordance with the application execution instruction information received from the browser 20A (step S130).
[0093] The execution unit 50E outputs a request to write application execution instruction information to the log management unit 50H (step S132). The log management unit 50H writes the application execution instruction information included in the received log writing request to the log file as execution log information (step S134). Then, the log management unit 50H outputs a signal indicating completion of writing to the browser 20A via the execution unit 50E (steps S136, S138).
[0094] Therefore, in addition to operation log information, execution log information is written to the log files managed by the log management unit 50H.
[0095] Figure 11 is a schematic diagram of an example of the data structure of execution log information. In Figure 11, "tenantId" is the same as above. In Figure 11, "operation parameter" represents the parameters entered by the first user U1 for the operation. The log management unit 50H manages the execution log information in a log file, excluding personal information included in the request received from the browser 20A. In Figure 11, "domain(to)" represents the domain portion, which is an example of a fixed string other than personal information in an email address, which is an example of a parameter entered via the execution screen 62 shown in Figure 10. The log management unit 50H manages the information other than the domain portion of the entered email address in a log file without including it in the execution log information. In Figure 11, "time" represents the date and time when the execution of the application was instructed.
[0096] As the service provision system 10 executes the processes from steps S100 to S138, operation log information, including selection log information for the application selected by the first user U1, and execution log information for the application that the first user U1 instructed to run, are sequentially written to log files and managed by the log management unit 50H.
[0097] Next, we will explain an example of the process flow in which the service provision system 10 extracts and stores the behavioral information of the first user U1 from the log file.
[0098] Figure 12 is a sequence diagram showing an example of the information processing flow performed by the service provision system 10. Figure 12 shows an example of the processing flow for extracting and storing the behavior information of the first user U1 from a log file.
[0099] The log extraction unit 50I acquires log files managed by the log management unit 50H (steps S200, S202). The log extraction unit 50I extracts pre-specified information from the acquired log files (step S204). For example, the log extraction unit 50I extracts selected log information, which is assigned a date and time for a predetermined period, as selected application information. The log extraction unit 50I also extracts execution log information, which is assigned a date and time for a predetermined period, as execution application information.
[0100] The selected application information is information represented by the selection log information contained in the log file, and is information about the application selected by the first user U1 via the selection screen 60. The executed application information is information represented by the execution log information contained in the log file, and is information about the application that the first user U1 instructed to execute via the selection screen 60 and the execution screen 62. The log extraction unit 50I outputs the extracted selected application information and executed application information to the stored data management unit 50J (step S206).
[0101] The data storage management unit 50J stores the execution application information and selected application information received from the log extraction unit 50I in a database (step S208). For example, the data storage management unit 50J registers the execution application information received from the log extraction unit 50I into the execution application DB (database). The data storage management unit 50J also registers the selected application information received from the log extraction unit 50I into the selected application DB.
[0102] Figure 13 is a schematic diagram of an example of the data structure of the execution application DB. The execution application DB is a database that registers execution application information. Execution application information includes, for example, the tenant ID "tenant_id", the application ID "applicationId", the operation parameters "operation_parameter", and the execution date and time "year, month, day". In other words, the execution application DB is a database that associates the tenant ID, the application ID, the operation parameters, and the execution date and time. Figure 13 shows an example of the state in which execution application information, represented by the execution log information shown in Figure 11, is registered in the database.
[0103] Figure 14 is a schematic diagram showing an example of the data structure of the selected application database. The selected application database is a database that registers selected application information. Selected application information includes, for example, the tenant ID "tenant_id", the operation processing details "method", "url", and the selection date and time "year, month, day". "url" corresponds to the url property explained using Figure 9. In other words, the selected application database is a database that associates the tenant ID, the operation processing details, the information of the selected application, and the selection date and time of the application. Figure 14 shows an example of the state in which the selected application information represented by the selection log information shown in Figure 9 is registered in the database.
[0104] By analyzing the execution application information registered in the execution application DB and the selected application information registered in the selection application DB, it becomes possible to analyze the actions of the first user U1 on the selection screen 60 and the execution screen 62.
[0105] Returning to Figure 12, the explanation continues. The log extraction unit 50I and the stored data management unit 50J repeatedly execute the above process at predetermined intervals. For this reason, the stored data management unit 50J obtains the latest selected application information and the latest executed application information from the log files that are sequentially added and registered in the log management unit 50H over time, and registers them sequentially in the selected application DB and the executed application DB, respectively.
[0106] Next, we will describe an example of the process flow in which the service provision system 10 analyzes behavioral information and generates report information regarding applications of interest to the first user U1, who does not have the authority to change the plan.
[0107] Figure 15 is a sequence diagram showing an example of the information processing flow performed by the service provision system 10. Figure 15 shows an example of the information processing flow for generating report information.
[0108] The acquisition unit 50K acquires behavioral information, including selected application information and executed application information, from the image forming apparatus 20. More specifically, the acquisition unit 50K acquires behavioral information generated from operation log information and execution log information of the first user U1 to the image forming apparatus 20 by acquiring behavioral information from a database managed by the log management unit 50H.
[0109] In this embodiment, the acquisition unit 50K receives a request to acquire behavioral information from the behavioral analysis unit 50L (step S300). The acquisition request includes the tenant ID of the tenant whose behavior is to be analyzed by the behavioral analysis unit 50L, a period represented by date and time, and information to be used for screen display. The acquisition request is represented, for example, by " / app-management / applications / {id} / views). The tenant ID and period shown in the acquisition request can be arbitrarily set by the tenant administrator or others using a common configuration site or common configuration application for receiving various configuration information.
[0110] The acquisition unit 50K identifies the execution application information and selected application information that satisfy the acquisition request from the execution application DB and selected application DB managed by the stored data management unit 50J, and acquires the identified execution application information and selected application information as behavior information (step S302). The acquisition unit 50K outputs the acquired behavior information to the behavior analysis unit 50L (step S304).
[0111] The behavioral analysis unit 50L performs a generation process to generate report information about a second application of interest to the first user U1 based on the behavioral information (steps S306 to S322). In this embodiment, the behavioral analysis unit 50L generates report information that includes a list of applications among the second applications selected by the first user U1, represented by the selected application information included in the behavioral information, that belong to a higher-level plan which is a plan that the tenant to which the first user U1 belongs has not yet contracted and is a plan higher than the plan to which the tenant has already contracted (step S324).
[0112] The processing performed by the behavioral analysis unit 50L will be explained in detail.
[0113] Figure 16 is a schematic diagram showing an example of the data structure of behavioral information acquired by the behavioral analysis unit 50L. Figure 16 shows, as an example, behavioral information performed by a first user U1 belonging to a tenant, on an image forming apparatus 20 installed in a tenant identified by tenant ID "100000". In Figure 16, "tenantId" is the same as above. "jobs" represents the behavioral information of the first user U1 belonging to the tenant identified by "tenantId" "100000". The behavioral information includes execution application information and selected application information.
[0114] In Figure 16, "clickApps" shown in the selected application information represents a list of application IDs of applications selected by the first user U1 on the image forming apparatus 20. "clickApps" can be calculated based on the application selection information.
[0115] Returning to Figure 15, we continue the explanation.
[0116] The behavioral analysis unit 50L identifies the application ID of the application that was instructed to be executed by the first user U1, which is represented by the execution application information included in the behavioral information acquired in step S304. Then, the behavioral analysis unit 50L acquires the application information of the application identified by the identified application ID from the application management unit 50D (step S306).
[0117] In the case of the behavioral information shown in Figure 16, the behavioral analysis unit 50L identifies "10000," which is the "applicationId" listed in the "jobs" column. The behavioral analysis unit 50L then retrieves the application information of the application identified by the application ID "10000" from the application management unit 50D.
[0118] As described above, application information includes the application's screen definition and processing details. Processing details refer to the operations performed by each component included in the application. Therefore, by acquiring application information, the behavioral analysis unit 50L can identify the name of the application and the components that make up the application, which were instructed to be executed by the first user U1.
[0119] Figure 17 is a schematic diagram showing an example of the data structure of application information. Figure 17 shows an example of application information for an application identified by application ID "10000". In Figure 17, "id" represents the application ID. "name", shown on the line following "id", represents the name of the application. "flow" represents the processing content of the application. The "flowDetails" column contains information about each component included in the application.
[0120] The behavioral analysis unit 50L can use the behavioral information shown in Figure 16 and the application information shown in Figure 17 to verify the operation of each component included in the application that the first user U1 has instructed to execute.
[0121] Returning to Figure 15, we continue the explanation.
[0122] The behavioral analysis unit 50L acquires recommendation management information managed by the recommendation management unit 50M (step S308).
[0123] Recommendation management information is predefined information that defines, for each operation of a component included in an application, keywords that can be entered as part of the parameters of that operation, the parameter name of that parameter containing those keywords, a unique string containing keywords that can be set as a parameter of that parameter name, and recommendation list information, which is a list of recommendation information. Recommendation information is information that represents the operation of a component included in each of one or more applications linked to a service identified by the keyword.
[0124] Figure 18 is a schematic diagram of an example of the data structure of recommendation management information. In Figure 18, "operationId" indicates the operation ID, "componentName" indicates the component name, and "operationName" indicates the operation name.
[0125] The "relations" property contains information about keywords that can be entered as parameters for an operation. Specifically, the "name" in the "relations" property represents a keyword. Figure 18 shows "X" as the keyword. The line following "name" shows "domain(to)" as the parameter name "name" of the parameter containing that keyword, and "xmail.com" as the unique string "value" containing the keyword that can be set as a parameter of that parameter name.
[0126] Furthermore, the parameters represented by "name" and "value" specified in the recommendation management information may include parameters used in external services.
[0127] "recommedOperations" displays a list of recommended information, which is a list of recommended operations.
[0128] The example shown in Figure 18 illustrates recommendation information representing the operation of a component included in each of one or more applications linked to a service identified by the keyword "X". In other words, the recommendation management information shown in Figure 18 includes information for identifying a first user U1 who is interested in the applications linked to the service identified by the keyword "X", and information about the operation of a component included in the applications linked to the service identified by the keyword "X".
[0129] Recommendation management information can be created in advance by the administrator or developer of the service provision system 10 and registered in the recommendation management unit 50M beforehand.
[0130] Returning to Figure 15, let's continue the explanation. Once the recommendation management information is obtained through the process in step S308, the aggregated information generation unit 50P of the behavioral analysis unit 50L generates aggregated information using the behavioral information obtained in step S304 (step S310).
[0131] Aggregated information refers to information that aggregates the parameters entered by the first user U1 for the operations executed by the component when the application is given an execution command, as represented by the execution application information included in the behavioral information, for each operation parameter.
[0132] More specifically, the aggregated information generation unit 50P generates aggregated information using the recommendation management information. More specifically, the aggregated information generation unit 50P uses the recommendation management information to generate aggregated information by aggregating the number of matches between each pair of parameter names and unique strings included in the recommendation management information and the operation parameters represented by the execution application information.
[0133] Figure 19 is a schematic diagram of an example of the data structure of aggregated information.
[0134] Specifically, for example, the aggregated information generation unit 50P identifies pairs of the parameter name "name" "domain(to)" in the recommendation management information shown in Figure 18 and the unique string "value" "xmail.com" which contains keywords that can be set as parameters for that parameter name. The aggregated information generation unit 50P then searches for parameters corresponding to the pair of parameter name "domain(to)" and unique string "xmail.com" in the "inputParameters" of the execution application information included in the behavior information shown in Figure 16, and aggregates the number of matches. By performing this aggregation process, the aggregated information generation unit 50P generates aggregated information, for example, as shown in Figure 19.
[0135] Figure 20 is a flowchart showing an example of the aggregation process flow by the aggregation information generation unit 50P.
[0136] The aggregated information generation unit 50P repeatedly executes the processes in steps S400 to S406 for each "jobs" element included in the behavior information. First, the aggregated information generation unit 50P determines whether there is an entry in the execution application information of the behavior information that matches the "name" and "value" described in the "parameter" included in the recommendation management information (step S400). If the determination in step S400 is negative (step S400: No), the processing for that jobs element is terminated.
[0137] If a positive determination is made in step S400 (Step S400: Yes), the process proceeds to step S402. In step S402, the aggregated information generation unit 50P determines whether the same parameters are listed in the Job intermediate analysis information (Step S402). If a negative determination is made in step S402 (Step S402: No), the process proceeds to step S404. In step S404, the aggregated information generation unit 50P lists the parameters (Step S404) and proceeds to step S406.
[0138] In step S406, the total count is incremented by 1 (step S406).
[0139] The aggregated information generation unit 50P repeatedly executes the processes in steps S400 to S406 for each "jobs" element included in the action information, thereby generating aggregated information, for example, as shown in Figure 19.
[0140] Returning to Figure 15, we continue the explanation.
[0141] Next, the behavioral analysis unit 50L obtains plan information from the plan management unit 50N (step S312). The behavioral analysis unit 50L also obtains contract information of the tenant to be processed from the contract management unit 50F (step S314).
[0142] Plan information refers to information that defines multiple plans with different combinations of multiple applications.
[0143] Figure 21 is a schematic diagram of an example of the data structure of plan information. Plan information is information that associates the plan ID, the plan name, and the application IDs of the applications included in the plan. In Figure 21, "id" represents the plan ID. "name" represents the plan name. "plan AppIds" represents the application IDs of the applications included in the plan identified by the corresponding plan ID.
[0144] Figure 22 is a schematic diagram showing an example of the data structure of contract information obtained in step S314. Contract information is information that associates the tenant ID, contract plan ID, and contract name. In Figure 22, "tenantId" represents the tenant ID, "id" represents the contract plan ID, and "name" represents the contract name. Note that the contract information may also be information that further associates the first user information of the first user U1 and the second user information of the second user U2 belonging to the tenant identified by the tenant ID, and the application ID (see Figure 6).
[0145] Returning to Figure 15, we continue the explanation.
[0146] The first search unit 50Q of the behavioral analysis unit 50L executes the first search process (step S316). The first search process searches for applications that include components that perform operations included in the aggregated information generated in step S310 and that belong to a higher-level plan, using the plan information obtained in step S312.
[0147] For example, let's consider a scenario where the behavioral analysis unit 50L obtains contract information for a tenant identified by tenant ID "10000" as shown in Figure 22. Let's assume that the tenant identified by tenant ID "10000" has contracted for the "Essentials" plan, as shown in Figure 22. Let's also consider a scenario where the behavioral analysis unit 50L generates aggregated information as shown in Figure 19.
[0148] In this case, the first search unit 50Q searches whether the application having the operations described in the aggregated information shown in Figure 19 is included in an application belonging to a higher plan than the currently contracted plan "Essentials". A higher plan is a plan in which at least one of the following is greater: the number of applications it includes, or the number of functions of the applications it includes. In the case of the plan shown in Figure 5, for example, the first search unit 50Q searches for at least one of the plans "Connectors" and "Advanced", which are higher plans than the plan "Essentials".
[0149] Returning to Figure 15, we continue the explanation.
[0150] Next, the second search unit 50R of the behavior analysis unit 50L executes the second search process (step S318). The second search process searches for applications selected by the first user U1 that are represented by the selected application information included in the behavior information obtained in step S304, and that have a selection count equal to or greater than a threshold.
[0151] Specifically, the behavioral analysis unit 50L uses the value indicated in "underLimitCount" included in the recommendation management information (in the example shown in Figure 18, the value is "15") as a threshold. The behavioral analysis unit 50L then counts the number of application IDs "applicationId" listed in "clickApps" of the selected application information included in the behavioral information shown in Figure 16, for each application ID. The behavioral analysis unit 50L then searches for applications identified by application IDs whose count value is greater than or equal to the value indicated in "underLimitCount" included in the recommendation management information, as applications that the first user U1 is interested in.
[0152] Returning to Figure 15, we continue the explanation.
[0153] Next, the list information generation unit 50S of the behavioral analysis unit 50L generates a list of applications that match the applications found by the second search unit 50R from among the applications found by the first search unit 50Q (step S320).
[0154] In other words, the behavioral analysis unit 50L generates a list of applications that include components for performing operations found in the aggregated information retrieved in step S316 and belong to a higher plan than the currently contracted plan, and which the first user U1 has selected above a certain threshold. To put it another way, the behavioral analysis unit 50L generates a list of applications that belong to a higher plan than the currently contracted plan and which are not contracted by the tenant to which the first user U1 belongs, and which the first user U1 has shown interest in by selecting above a certain threshold.
[0155] The behavioral analysis unit 50L may generate a list of applications that match the applications found by the second search unit 50R among the applications found by the first search unit 50Q, and the number of times the first user U1 has selected those applications.
[0156] Next, the report information generation unit 50T of the behavioral analysis unit 50L generates report information including the aggregated information generated in step S310 and the list information generated in step S320 (step S322).
[0157] Figure 23 is a schematic diagram showing an example of the data structure of report information. For example, the report information generation unit 50T includes the aggregated information shown in Figure 19 and the list information generated in step S320.
[0158] Returning to Figure 15, the explanation continues. The behavioral analysis unit 50L requests the report management unit 50O to save the generated report information (step S324).
[0159] The acquisition unit 50K and the behavioral analysis unit 50L of the service provision system 10 execute the process shown in the sequence in Figure 15, generating report information about applications of interest to the first user U1, who does not have the authority to change the plan, and storing it in the report management unit 50O.
[0160] Next, we will explain an example of the process flow in which the service provision system 10 provides report information to a second user who has the authority to change the plan.
[0161] Figure 24 is a sequence diagram showing an example of the information processing flow performed by the service provision system 10. Figure 24 shows an example of the processing flow for providing report information to a second user U2.
[0162] The second user U2 logs into the service provision system 10 by performing a login operation via the browser 20A of the image forming apparatus 20, or by performing a login operation to the common settings site of the information processing device 30. The common settings site is a site for managing users and applications within a tenant. Figure 24 illustrates an example of logging into the common settings site via the browser 30A of the information processing device 30. In this case, the information processing device 30 is an example of a second information processing terminal.
[0163] For example, when a second user U2 operates the browser 30A and enters account information such as the username and password of the second user U2, the browser 30A sends an authentication request to the authentication authorization unit 50G (step S500). If authentication is successful, the authentication authorization unit 50G sends a signal indicating successful authentication to the browser 20A (step S502).
[0164] Next, the browser 30A obtains screen information for the common settings site from the GUI provider unit 50A (steps S504 and S506), and generates and displays a screen corresponding to the obtained screen information.
[0165] The second user U2 specifies the tenant to which the second user U2 belongs via the displayed screen and inputs a report information acquisition request for that tenant. The browser 30A sends the input report information acquisition request to the service provision system 10 (step S508). When the report management unit 50O of the service provision system 10 receives the report information acquisition request, it searches for the report information corresponding to the tenant ID included in the report information acquisition request and sends it to the GUI provision unit 50A (step S510).
[0166] The report information transmission unit 50C of the GUI provision unit 50A transmits the report information received from the report management unit 50O to the browser 30A of the information processing device 30, which is a second information processing terminal operated by the second user U2 (step S512). In this embodiment, the report information transmission unit 50C acquires report screen information and generates a report screen in combination with the report information received from the report management unit 50O. Then, the report information transmission unit 50C transmits the report screen information of the report screen to the browser 30A.
[0167] The browser 30A, having received the report screen information, displays the report screen of the received report screen information (step S514).
[0168] Figure 25 is a schematic diagram of an example of a report screen 64. As shown in Figure 25, the report screen 64 includes aggregated information and list information. The report screen 64 shown in Figure 25 includes aggregated information representing a list of destination address domains, which are an example of parameters entered by the first user U1 when the application was executed, and the number of times each parameter was entered. The report screen 64 also includes list information that includes a list of application names of higher-tier plans and the number of times each application was selected by the first user U1. In other words, the report screen 64 includes a list of second applications that are included in higher-tier plans that the first user U1 does not currently have a contract for, and therefore cannot use under their current contract.
[0169] Furthermore, as shown in Figure 25, the report screen 64 may also include information indicating which higher-tier plan the user should change to in order to use the higher-tier plan applications shown in the list information.
[0170] Second user U2, who is user U with the authority to change the plan, can easily check information about applications that first user U1, who belongs to the same tenant as second user U2, is interested in by checking report screen 64.
[0171] If the first user U1 wishes to make a contract change, they operate the button representing the contract change included in the report screen 64.
[0172] Returning to Figure 24, let's continue the explanation. When the first user U1 operates the button indicating a contract change, the browser 30A accepts the contract change (step S516). In this case, the service provision system 10 only needs to execute the contract change process (step S518).
[0173] In the contract change process, for example, the contract management unit 50F generates screen information for the contract change screen and sends it to the browser 30A. The browser 30A displays the contract change screen based on the screen information received from the contract management unit 50F. The contract change screen is configured, for example, to allow the user to select a plan from among several plans. When the second user U2 operates the contract change screen, the browser 30A sends a contract change request to the contract management unit 50F for the second user U2 to their desired higher-level plan. The contract management unit 50F only needs to update the contract plan ID and plan name corresponding to the tenant ID of the tenant to which the second user U2 belongs with the changed plan ID and plan name included in the contract change request.
[0174] As described above, the service provision system 10 of this embodiment comprises a screen information transmission unit 50B, an acquisition unit 50K, a behavior analysis unit 50L, and a report information transmission unit 50C. The screen information transmission unit 50B transmits selection screen information of a selection screen 60, which displays a selection of multiple applications, including a first application available to a user U belonging to a tenant, which is a contract unit for each of a plurality of plans with different combinations of available applications, and a second application that user U cannot use, to the image forming apparatus 20 (first information processing terminal). The acquisition unit 50K acquires behavior information from the first information processing terminal, including selection application information regarding the application selected by the first user U1, a user U belonging to the tenant who does not have the authority to change plans, via the selection screen 60, and execution application information regarding the application that the first user U1 instructed to execute via the selection screen 60. The behavior analysis unit 50L generates report information regarding the second application based on the behavior information. The report information transmission unit 50C transmits the report information to a second information processing terminal operated by a second user U2, who is a user belonging to the tenant and has the authority to change the plan.
[0175] As described above, the service provision system 10 of this embodiment acquires behavioral information, including selected application information regarding an application selected by the first user U1, who does not have the authority to change the plan, via the selection screen 60, and executed application information regarding an application that the first user U1 instructed to execute via the selection screen 60. Based on the behavioral information, the service provision system 10 generates report information regarding a second application of interest to the first user U1, which is among the second applications that the first user U1 cannot use under the current contract. The service provision system 10 then transmits the generated report information to a second information processing terminal operated by the second user U2, who has the authority to change the plan.
[0176] Therefore, the service provision system 10 of this embodiment can easily provide information about applications that users U, such as the first user U1, are interested in.
[0177] Furthermore, the behavioral analysis unit 50L of the service provision system 10 in this embodiment generates report information that includes a list of applications belonging to a higher-level plan, which is a plan that the tenant to which the first user U1 belongs does not have a contract for and is a higher-level plan than the plan that the tenant has a contract for, among the second applications selected by the first user U1 represented by the selected application information.The service provision system 10 then transmits the report information, which includes the list of applications belonging to the higher-level plan, to a second information processing terminal operated by the second user U2, who has the authority to change the plan.
[0178] Therefore, in addition to the above effects, the service provision system 10 of this embodiment can easily support a contract change to a higher-tier plan that includes applications of interest to a first user U1 belonging to the tenant.
[0179] (Variation 1) In the above embodiment, a configuration for managing behavioral information for each tenant was described as an example. However, the behavioral information may also include user information of user U who operated the selection screen 60 and the execution screen 62.
[0180] In this case, the acquisition unit 50K only needs to acquire the selected application information, the executed application information, and the first user information of the first user U1 operating the browser 20A of the image forming apparatus 20 from the browser 20A. Then, the behavioral analysis unit 50L only needs to generate report information for each combination of tenant and first user U1.
[0181] Figure 26 is a sequence diagram showing an example of the information processing flow performed by the service provision system 10 of this modified example. Figure 26 shows an example of the information processing flow in which selection log information and execution log information are written to a log file.
[0182] The applications used in the image forming apparatus 20 include shared applications that can be shared and used within the tenant, and personal applications for individual use. When the first user U1 uses a shared application in the image forming apparatus 20, the first user U1 does not need to enter their first user information every time they log in, by pre-configuring their personal settings in the common settings site. On the other hand, when the first user U1 uses a personal application in the image forming apparatus 20, they need to enter their first user information to log in. Therefore, when using a personal application, the image forming apparatus 20 can obtain the first user information of the first user U1. This modified example will explain the case where a personal application is used.
[0183] The first user U1 inputs first user information by operating the browser 20A. The browser 20A, having received the first user information, sends an authentication request to the authentication authorization unit 50G (step S600). If authentication is successful, the authentication authorization unit 50G sends information indicating successful authentication to the browser 20A. The service provision system 10 then executes the processes from steps S100 to S138 in the same manner as in Figure 7 above. In this modified example, the log writing requests in steps S114 and S132 include the first user information entered in step 500. Therefore, the log management unit 50H writes operation log information including the first user information and execution log information including the first user information to the log file.
[0184] Therefore, the selected application information and executed application information that the log extraction unit 50I extracts from the log file and outputs to the stored data management unit 50J include the first user information. Furthermore, when the stored data management unit 50J registers the executed application information in the executed application DB and the selected application information in the selected application DB, the first user information is further associated and registered in both the executed application DB and the selected application DB.
[0185] Figure 27 is a schematic diagram showing an example of the data structure of the execution application DB in this modified example. As shown in Figure 27, the execution application DB in this modified example has the first user information, "userId," further associated with the execution application DB shown in Figure 13 of the above embodiment. Similarly, the selection application DB has the first user information, "userId," further associated with the selection application DB shown in Figure 14 of the above embodiment.
[0186] The acquisition unit 50K acquires behavioral information that further includes the first user information by acquiring execution application information and selected application information that satisfy the acquisition request as behavioral information from the execution application DB and selected application DB managed by the stored data management unit 50J.
[0187] The behavioral analysis unit 50L then only needs to generate report information for each combination of tenant and first user U1.
[0188] In this way, the behavioral analysis unit 50L generates report information for each combination of tenant and first user U1, so that the service provision system 10 of this modified example can provide the second user U2 with report information that further includes the first user information of the first user U1.
[0189] The modified service provision system 10 can easily provide report information to a second user U2, making it easy to confirm which first user U1 selected or executed which application. Furthermore, the modified service provision system 10 can easily confirm which first user U1 is interested in which application.
[0190] (Modification 2) If the first user U1 selects a second application that is not available via the selection screen 60, the screen information transmission unit 50B of the GUI provision unit 50A may further transmit to the browser 20A of the image forming apparatus 20 the input screen information of the input screen that indicates the time required for the first user U1 to manually perform the processing performed by the second application.
[0191] Figure 28 is a schematic diagram of an example of an input screen 66. The input screen 66 includes an input field for the time required when the first user U1 manually performs the processing that is carried out by the second application selected by the first user U1. The first user U1 enters the time into the input field on the input screen 66. Figure 28 shows an example where "20 minutes" is entered as the time.
[0192] For example, when the screen information transmission unit 50B receives a selection from the first user U1 via the selection screen 60, indicating that the first user U1 has selected an application belonging to a higher-level plan from among the second applications that are unavailable to the first user U1, it displays the input screen 66 shown in Figure 28 to the browser 20A. The service provision system 10 registers the entered work time in, for example, a work time table.
[0193] Figure 29 is a schematic diagram showing an example of the data structure of a work time table. The work time table is a table that associates, for example, a tenant ID, an application ID, a group name, and work time. The group name is information that represents, for example, the data storage location included in the parameters of the operation performed by the second application selected by the first user U1.
[0194] The report information generation unit 50T should create report information that further includes the aggregated results of work time shown in the work time table. Then, the report information transmission unit 50C should transmit the report information, which further includes the aggregated results of work time, to the information processing device 30 or image forming apparatus 20 operated by the second user U2.
[0195] Figure 30 is a schematic diagram of an example of a report screen 68 displayed on the information processing device 30 or image forming apparatus 20 operated by the second user U2 in this modified example.
[0196] As shown in Figure 30, the report screen 68 includes information representing the aggregated work time, in addition to the information contained in the report screen 64 explained using Figure 25.
[0197] Therefore, the second user U2 can easily check how much the first user U1's work efficiency will improve if they switch to a higher plan by checking the report screen 68. The flag indicating whether or not to display the input screen 66 in the browser 20A may be changed as needed by the second user U2's instructions.
[0198] In addition, information processing terminals (devices) other than the image forming apparatus 20 may be used instead of the image forming apparatus 20. For example, output devices such as PJ (Projector), IWB (Interactive White Board: a whiteboard with electronic blackboard functionality that enables mutual communication), digital signage, HUD (Head Up Display) devices, industrial machinery, imaging devices, sound collection devices, medical equipment, networked home appliances, notebook PCs (Personal Computers), mobile phones, smartphones, tablet devices, game consoles, PDAs (Personal Digital Assistants), digital cameras, wearable PCs, or desktop PCs may be used instead of the image forming apparatus 20.
[0199] Furthermore, each function of the embodiments described above can be realized by one or more processing circuits. Hereinafter, "processing circuit" as used herein includes processors programmed to execute each function by software, such as processors implemented by electronic circuits, as well as devices such as ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), FPGAs (Field Programmable Gate Arrays), and conventional circuit modules designed to execute each of the functions described above.
[0200] Furthermore, the apparatus described in the examples represents only one of several computing environments for carrying out the embodiments disclosed herein.
[0201] In one embodiment, the service delivery system 10 includes a plurality of computing devices, such as a server cluster. The plurality of computing devices are configured to communicate with each other via any type of communication link, including a network or shared memory, and perform the processing disclosed herein. Similarly, the image forming apparatus 20 may include a plurality of computing devices configured to communicate with each other.
[0202] In this embodiment, the service provision system 10 is an example of an information processing device. The image forming apparatus 20 and the information processing device 30 are examples of a first information processing terminal and a second information processing terminal.
[0203] Although this embodiment has been described in detail above, the present invention is not limited to such specific embodiments, and various modifications and changes are possible within the scope of the gist of the invention as described in the claims. [Explanation of Symbols]
[0204] 10. Service Delivery System 50B Screen Information Transmission Unit 50C Report Information Transmission Unit 50K acquisition department 50L Behavior Analysis Department 50P Aggregation Information Generation Unit 50Q First Search Section 50R Second Search Department 50S List Information Generation Unit 50T Report Information Generation Unit [Prior art documents] [Patent Documents]
[0205] [Patent Document 1] Japanese Patent Publication No. 2020-3867
Claims
1. A screen information transmission unit transmits selection screen information of a selection screen to a first information processing terminal, which displays a selection of multiple applications, including a first application that is available to a user belonging to a tenant, which is a contract unit for each of multiple plans with different combinations of available applications, and a second application that is not available to the user. An acquisition unit that acquires behavioral information from the first information processing terminal, including selected application information relating to the application selected by the first user, who belongs to the tenant and does not have the authority to change the plan, via the selection screen, and executed application information relating to the application that the first user instructed to be executed via the selection screen. A behavioral analysis unit generates report information regarding the second application based on the aforementioned behavioral information, A report information transmission unit transmits the aforementioned report information to a second information processing terminal operated by a second user belonging to the tenant who has the authority to modify the plan, Equipped with, The aforementioned screen information transmission unit, If the first user selects the second application via the selection screen, the input screen information of the input screen indicating the time required if the first user were to manually perform the processing performed by the second application is further transmitted to the first information processing terminal. The aforementioned report information transmission unit, The report information, which further includes the aggregated results of the work time, is transmitted to the second information processing terminal operated by the second user. Information processing device.
2. The aforementioned behavioral analysis unit, The report information is generated, which includes a list of applications selected by the first user, represented by the selected application information, that belong to a higher-level plan, which is a plan that the tenant to which the first user belongs has not yet contracted for and is higher than the plan to which the tenant has already contracted for. The information processing apparatus according to claim 1.
3. The application includes one or more components, which are constituent programs that perform operations representing a process, and each component performs the operation according to the input parameters. The aforementioned behavioral analysis unit, An aggregated information generation unit generates aggregated information by aggregating the parameters entered by the first user for the operation performed by the component, as represented by the execution application information, for each parameter of the operation. A first search unit searches for the application that includes the component that performs the operation included in the aggregated information and belongs to the higher-level plan, from plan information that defines multiple plans with different combinations of the multiple applications; A second search unit searches for the application selected by the first user, represented by the selected application information, whose number of selections by the first user is equal to or greater than a threshold. A list information generation unit generates a list of applications that match the applications found by the second search unit, among the applications found by the first search unit. A report information generation unit that generates the report information including the aggregated information and the list information, Having, The information processing apparatus according to claim 2.
4. The aforementioned aggregated information generation unit, For each operation of the component included in the application, using predefined recommendation management information, the following are used: a keyword that may be input as part of the parameters of the operation; a parameter name of the parameter containing the keyword; a unique string containing the keyword that may be set as the parameter of the parameter name; and recommendation list information which is a list of recommendation information representing the operation of the component included in each of the one or more applications linked to the service identified by the keyword. For each pair of parameter names and unique strings included in the recommendation management information, the aggregated information is generated by aggregating the number of matches with the parameters of the operation represented by the execution application information. The information processing apparatus according to claim 3.
5. The aforementioned recommendation management information is, The aforementioned service includes the parameters used in the external service, The information processing apparatus according to claim 4.
6. The acquisition unit is, The selected application information, the executed application information, and the first user information of the first user operating the first information processing terminal are obtained from the first information processing terminal. The aforementioned behavioral analysis unit, For each combination of the tenant and the first user, the report information is generated. The information processing apparatus according to claim 1.
7. An information processing system comprising an information processing device, a first information processing terminal, and a second information processing terminal, The aforementioned information processing device is A screen information transmission unit transmits selection screen information of a selection screen that displays a selection of multiple applications, including a first application that is available to a user belonging to a tenant which is a contract unit for each of multiple plans with different combinations of available applications, and a second application that is not available to the user, to the first information processing terminal. An acquisition unit that acquires behavioral information from the first information processing terminal, including selected application information relating to the application selected by the first user, who belongs to the tenant and does not have the authority to change the plan, via the selection screen, and executed application information relating to the application that the first user instructed to be executed via the selection screen. A behavioral analysis unit generates report information regarding the second application based on the aforementioned behavioral information, The system includes a report information transmission unit that transmits the report information to a second information processing terminal operated by a second user belonging to the tenant who has the authority to modify the plan, The aforementioned screen information transmission unit, If the first user selects the second application via the selection screen, the input screen information of the input screen indicating the time required if the first user were to manually perform the processing performed by the second application is further transmitted to the first information processing terminal. The aforementioned report information transmission unit, The report information, which further includes the aggregated results of the work time, is transmitted to the second information processing terminal operated by the second user. Information processing system.
8. An information processing method performed by an information processing device, A screen information transmission step that transmits selection screen information of a selection screen that displays a selection of multiple applications, including a first application that is available to a user belonging to a tenant which is a contract unit for each of multiple plans with different combinations of available applications, and a second application that is not available to the user, to a first information processing terminal. An acquisition step of acquiring behavioral information from the first information processing terminal, which includes selected application information relating to the application selected by the first user, a user belonging to the tenant who does not have the authority to change the plan, via the selection screen, and executed application information relating to the application that the first user instructed to be executed via the selection screen; A generation step of generating report information relating to the second application based on the aforementioned behavioral information, A report information transmission step of transmitting the report information to a second information processing terminal operated by a second user who belongs to the tenant and has the authority to modify the plan, Includes, The aforementioned screen information transmission step is: If the first user selects the second application via the selection screen, the input screen information of the input screen indicating the time required if the first user were to manually perform the processing performed by the second application is further transmitted to the first information processing terminal. The aforementioned report information transmission step is: The report information, which further includes the aggregated results of the work time, is transmitted to the second information processing terminal operated by the second user. Information processing methods.