This patent application is based on and claims priority pursuant to 35 U.S.C. § 119(a) to Japanese Patent Application No. 2020-189767, filed on Nov. 13, 2020, in the Japan Patent Office, the entire disclosure of which is hereby incorporated by reference herein.
The present disclosure relates to a service management system, a service management method, and a non-transitory recording medium.
A known service management system provides an interface for accessing from a first service provided by a first system, a second service provided by a second system.
For example, the service management system issues an authorization token after confirming that both a user and a service of a link source have sufficient authority to execute a service of a link destination in response to an access request from the first system to the second system.
Embodiments of the present disclosure describe a service management system, a service management method, and a non-transitory recording medium. The service management system in response to a request received from a terminal device of a user who uses a first service provided by a first system, for accessing one or more second services provided by a second system, controls to display on a display of the terminal device, a display screen that includes one or more second services available to the user among the one or more second services for selection by the user, changes contract contents of the second services available to the user according to a change operation on the display screen, and provides the one or more second services to the terminal device according to the contract contents that are changed.
A more complete appreciation of the disclosure and many of the attendant advantages and features thereof can be readily obtained and understood from the following detailed description with reference to the accompanying drawings, wherein:
The accompanying drawings are intended to depict embodiments of the present invention and should not be interpreted to limit the scope thereof. The accompanying drawings are not to be considered as drawn to scale unless explicitly noted. Also, identical or similar reference numerals designate identical or similar components throughout the several views.
In describing embodiments illustrated in the drawings, specific terminology is employed for the sake of clarity. However, the disclosure of this specification is not intended to be limited to the specific terminology so selected and it is to be understood that each specific element includes all technical equivalents that have a similar function, operate in a similar manner, and achieve a similar result.
Referring now to the drawings, embodiments of the present disclosure are described below. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise.
The first system 110 is, for example, an information processing apparatus having a computer configuration, or a system including a plurality of information processing apparatuses. The first system 110 provides by executing a program, one or more first services including a first device management service for managing electronic devices such as image forming apparatuses developed by a plurality of manufacturers.
The terminal device 111 is an information terminal such as a personal computer (PC), a tablet terminal, or a smartphone, which is used by a user who uses the first system. The users of the first system include, for example, a dealer (sales company) that sells the electronic devices such as the image forming apparatuses developed by the plurality of manufacturers and an administrator (administration company) who manages the electronic devices such as the image forming apparatuses developed by the plurality of manufacturers.
The second system 120 is, for example, the information processing apparatus having the computer configuration, or the system including the plurality of information processing apparatuses. The second system 120 provides by executing a program, one or more second services including a second device management service for managing the electronic devices such as the image forming apparatus developed by a specific manufacturer.
In the example of
The service management system 100 provides an interface for accessing the second service provided by the second system from the first service provided by the first system. The service management system 100 includes, for example, an authentication and authorization system 101, a contract management system 102, a service providing system 103, and the like.
The authentication and authorization system 101 is, for example, the information processing apparatus having the computer configuration or the system including the plurality of information processing apparatuses and authenticates and authorizes a user who uses the first system. The contract management system 102 is, for example, the information processing apparatus having the computer configuration or the system including the plurality of information processing apparatuses and manages the contract information and the like of the user who uses the first system. The service providing system 103 is, for example, the information processing apparatus having the computer configuration or the system including the plurality of information processing apparatuses. The service providing system 103 provides, for example, the second service provided by the second system 120 to the first service provided by the first system 110 according to contract information of the user who uses the first system.
The billing system 130 is, for example, the information processing apparatus having the computer configuration or the system including the plurality of information processing apparatuses. The billing system 130 charges, for example, a usage fee of the service management system 100 to an operator or the like that operates the first system 110.
With the above configuration, the user who uses the terminal device 111 can use the second service provided by the second system 120 through the first service provided by the first system 110. For example, the user uses the terminal device 111 to perform various maintenance management such as acquisition of device information, setting of device information, reboot, failure analysis, and firmware update of the image forming apparatuses 121a, 121b, etc. managed by the second system 120.
Preferably, the user who uses the terminal device 111 can also use the function of the device management system for managing electronic devices developed by other manufacturers through the first service provided by the first system 110. As a result, the user who uses the first system 110 can maintain and manage various electronic devices developed by the plurality of manufacturers by using the first service provided by the first system 110. Method of using the functions of device management system for managing electronic devices developed by other manufacturers from the first system 110 differs depending on the manufacturer, and is not described here.
In the service management system 100 that provides the interface for accessing the second system from the first system 110, a new service may be added to the second system. In such a case, in a conventional technology the user cannot use the new service unless the user separately accesses a contract change screen or the like to change the contract.
In response to receiving a request for using the second service from the terminal device 111 of the user who uses the first system 110, the service management system 100 according to the present embodiment displays a display screen for selectively displaying one or more services available to the user on the terminal device 111. Further, when the service available to the user is changed by a change operation on the display screen, the service management system 100 changes the contract of the service available to the user.
As a result, when the user wants to use a new service added to the second services, the user can use the new service simply by selecting the new service from the display screen displayed on the terminal device 111.
In addition, for example, when there is an unnecessary service among the services contracted for the second service, the user can cancel the unnecessary service simply by cancelling selection of the unnecessary services displayed on the display screen of the terminal device 111.
As described above, according to the present embodiment, the services available to the user can be easily changed by the service management system 100 that provides the interface that uses the second system 120 from the first system 110.
The system configuration of the information processing system 1 illustrated in
The terminal device 111 of
The CPU 201 controls entire operation of the computer 200. The ROM 202 stores programs used for driving the central processing unit (CPU) 201, such as an initial program loader (IPL). The RAM 203 is used as, for example, a work area for the CPU 201. The HD 204 stores, for example, programs such as an operating system (OS), an application, and a device driver, and various data. The HDD controller 205 controls, for example, reading or writing of various data to the HD 204 under control of the CPU 201.
The display 206 displays various information such as a cursor, menu, window, character, or image. The external device connection I/F 207 connects various external devices. The network I/F 208 is an interface for connecting the computer 200 to the communication network. The keyboard 209 is an example of an input device provided with a plurality of keys for allowing a user to input characters, numerals, or various instructions. The pointing device 210 is an example of an input device that allows a user to select or execute a specific instruction, select a target for processing, or move a cursor being displayed.
The DVD-RW drive 212 reads and writes various data from and to a DVD-RW 211, which is an example of a removable storage medium. The DVD-RW 211 is not limited to the DVD-RW and may be another removable recording medium. The medium I/F 214 controls reading or writing (storage) of data to a storage medium 213 such as a flash memory. The bus line 215 includes an address bus, a data bus, various control signals, and the like for electrically connecting each of above components.
Hereinafter, a functional configuration of the service management system 100 according to the present embodiment is described.
The communication unit 301 connects the service management system 100 to, for example, the internet or a communication network 300 such as a local area network (LAN) using the network I/F 208 or the like and communicates with other devices.
The authentication and authorization unit 302 performs an authentication process for authenticating a user who uses the service management system 100, and an authorization process for authorizing the user to use the second service provided by the second system 120 according to the contract information of the user.
The display control unit 303 selectively displays the services available to the user among the second services provided by the second system 120 in response to the request to use the second service from the terminal device 111 on the display screen of the terminal device 111.
The authentication and authorization unit 302 and the display control unit 303 are implemented by the program executed by the authentication and authorization system 101 of
The contract management unit 304 stores and manages contract information including contract contents of the services available to the user in the storage unit 307 and the like. Further, the contract management unit 304 changes the contract contents of the services available to the user according to a change operation on the display screen displayed on the terminal device 111 by the display control unit 303. For example, the contract management unit 304 stores and manages the contract information 311 as illustrated in
The “contracted function (API call upper limit)” is information indicating the function (service) contracted by each tenant and an upper limit of the number of times that the API that calls each function can be called. The “contracted function (API call upper limit)” is an example of the contract contents of the service that can be used by the user. The “license billing form” is information indicating whether the number of licenses that can be used by each tenant is limited by the number of users or the number of devices (image forming apparatuses, etc.). The “maximum number of licenses” is information indicating the number of licenses available to each tenant. “Number of licenses in use” is information indicating the number of licenses in use by each tenant.
The billing management unit 305 stores and manages, for example, the billing management information 313 as illustrated in
The item “free/paid” indicates whether each function is a paid service or a free service. The “API call unit price” indicates the unit price of the API call that calls each function. The “billing form” is information indicating a billing form for each function. For example, in
The “license monthly charge” is information indicating the monthly license charge (license fee per month) for each tenant. The information item “API pay-per-use” indicates pay-per-use billing based on the number of API calls. In the example of
The billing management unit 305 may store and manage the billing data 501 as illustrated in
The contract management unit 304 and the billing management unit 305 are implemented by, for example, a program executed by the contract management system 102 of
The service providing unit 306 provides the terminal device 111 (or the first system 110) with the second service provided by the second system 120 according to the contract information 311 managed by the contract management unit 304. For example, in the contract information 311 illustrated in
The storage unit 307 is implemented by, for example, a program executed by the HD 204, the HDD controller 205, and the CPU 201 included in one or more computers 200 included in the service management system 100. The storage unit 307 stores various information such as the contract information 311, the license information 312a and 312b, and the billing management information 313, for example.
The functional configuration of the service management system 100 illustrated in
The terminal device 111 uses the first service provided by the first system 110 by using, for example, a web browser or the like. Further, the terminal device 111 can use the second service provided by the second system 120 through the first system 110 and the service management system 100.
The first system 110 provides the user who uses the terminal device 111 with the first service that includes a plurality of services, including the second service provided by the second system 120. For example, the first system 110 provides the first service that collectively manages electronic devices such as the image forming apparatuses of the plurality of manufacturers by using a plurality of device management systems different for each manufacturer for the user who uses the terminal device 111.
The second system 120 provides the one or more second services including a service for maintaining and managing the electronic devices such as the image forming apparatuses of a specific manufacturer.
The billing system 130 periodically charges the operator or the like that operates the first system 110, the usage fee of the service management system 100 based on, for example, billing data 501 managed by the billing management unit 305 of the service management system 100.
A process of the service management according to the present embodiment is described by exemplifying a plurality of embodiments.
Here, in order to facilitate illustration, the authentication and authorization unit 302 and the display control unit 303 of
In step S601, the user uses the terminal device 111 to access the first service provided by the first system 110.
In step S602, when there is no cookie session (when the session has expired), the information processing system 1 executes the authentication and authorization processes after step S603. On the other hand, when there is a cookie session, the information processing system 1 executes the process after step S622 in
In step S603, since the first system 110 has no responsibility for authentication and authorization, the first system 110 instructs the terminal device 111 to redirect and access the authentication and authorization system 101.
In step S604, the terminal device 111 requests authorization from the authentication and authorization system 101 in order to acquire the cookie session required to access the service screen of the first service. In step S605, in response to the authorization request, the authentication and authorization unit 302 of the authentication and authorization system 101 instructs the terminal device 111 to redirect to a login screen of the authentication and authorization system 101.
In step S606, the terminal device 111 requests the authentication and authorization system 101 for the login screen. In steps S607 and S608, in response to the request for the login screen, the authentication and authorization unit 302 of the authentication and authorization system 101 causes the terminal device 111 to display, for example, a login screen 810 of the authentication and authorization system 101 as illustrated in
In step S609, the terminal device 111 receives a login operation on the login screen 810. For example, the user performs the login operation by entering the user ID and password on the login screen 810 as illustrated in
In step S610, the terminal device 111 transmits a usage request (login request) requesting the use of the second service provided by the second system 120 to the authentication and authorization system 101. When the login is successful, the authentication and authorization system 101 executes the processes of steps S611 and S612. On the other hand, when the login fails, the authentication and authorization unit 302 of the authentication and authorization system 101 returns an error to the terminal device 111 and requests the login operation again.
In step S611, the display control unit 303 of the authentication and authorization system 101 receives, for example, the billing management information 313 as illustrated in
For example, when the user wants to enable a firmware update service, the user enables the service by selecting the check box 822 corresponding to “update firmware” on the authorization screen 820 illustrated in
Preferably, the display control unit 303 displays information 823 indicating whether each of the services 821 available to the user is a paid or free service on the authorization screen 820 based on the “free/paid” information of the billing management information 313 as illustrated in
The user can perform an approval operation by selecting the “approval” button 824 on the authorization screen 820.
When the terminal device 111 receives the approval operation by the user in step S614, the terminal device 111 requests the authentication and authorization system 101 for authorization in step S615. Here, since the user has already logged in, in step S616, the display control unit 303 accepts the selection operation on the authorization screen 820 and updates the contract information 311 managed by the contract management system 102. For example, when the check box 822 corresponding to “update firmware” is selected on the authorization screen 820 as illustrated in
In step S617, the contract management unit 304 of the contract management system 102 allocates a license to the user of the terminal device 111. For example, the contract management unit 304 refers to the license information 312a as illustrated in
In step S618 of
In step S619, the terminal device 111 accesses the first service provided by the first system 110 by using the authorization code notified from the authentication and authorization system 101.
In steps S620 and S621, the first system acquires from the authentication and authorization system 101, the authorization token required for using the second service (web API call) provided by the second system 120 using the authorization code received from the terminal device 111.
In step S622, the first system 110 requests the service providing system 103 to start using the second service provided by the second system 120 by using the acquired authorization token.
In steps S623 and S624, the service providing unit 306 of the service providing system 103 verifies the authorization token received from the first system 110 by using the authentication and authorization system 101. Here, when the authorization token received from the first system 110 is valid, the service providing unit 306 executes the process of step S625. On the other hand, when the authorization token received from the first system 110 is invalid, the service providing unit 306 notifies the first system 110 that the authorization token has expired.
In steps S625 and S626, the service providing unit 306 of the service providing system 103 confirms the contract information 311 and the license information 312 managed by the contract management system 102, and when necessary, allocates device license to the device (for example, the electronic device such as the image forming apparatus or the like). For example, the service providing unit 306 refers to the license information 312b as illustrated in
When the license billing form is set to “user”, the service providing unit 306 may omit the process of steps S625, and S626.
In steps S627 and S628, the service providing unit 306 of the service providing system 103 requests the second system 120 to start the second service by using the web API provided by the second system 120.
In step S629, the service providing unit 306 of the service providing system 103 requests the contract management system 102 to charge the fee using the web API of the second system 120. In step S630, in response to the request, the billing management unit 305 of the contract management system 102 updates the number of API usages of the “API pay-per-use billing” of the billing data 501 as illustrated in
When the billing method is not pay-per-use, or when the web API used is free of charge, the service providing unit 306 may omit the process of step S629.
In step S631, the service providing unit 306 of the service providing system 103 notifies the first system 110 of the start of use of the second service. In steps S632 and S633, in response to the notification, the first system 110 causes the terminal device 111 to display a service screen 900 as illustrated in
As described above, the user can easily use the newly added service, change the contract contents, etc. simply by performing the authorization operation on the authorization screen 820 as illustrated in
In step S1001, the information processing system 1 executes, for example, a login screen display process as illustrated in steps S601 to S608 of
In step S609, the terminal device 111 receives the login operation on the login screen 810. In response to the login operation, in step S610, the terminal device 111 transmits a request to use the second service provided by the second system 120 to the authentication and authorization system 101.
In step S611, the display control unit 303 of the authentication and authorization system 101 acquires the billing management information 313 and the contract information 311 from the contract management system 102. In steps S612 and S613, the display control unit 303 causes the terminal device 111 to display the authorization screen 820 as illustrated in
When the terminal device 111 receives the approval operation by the user in step S614, the terminal device 111 requests the authentication and authorization system 101 for authorization in step S615. In step S616, in response to the approval operation, the display control unit 303 updates the contract information 311 managed by the contract management system 102 according to the selection operation on the authorization screen 820.
In step S1011, the contract management unit 304 of the contract management system 102 allocates the license to the user of the terminal device 111.
Here, if the number of user licenses exceeds the “maximum number of licenses” of the contract information 311 as illustrated in
In steps S1013 and S1014, the contract management unit 304 of the contract management system 102 notifies the terminal device 111 of the license upper limit error through the first system 110, and for example, cancels the execution of the processing of step S618 of
By the above process, the administrator or the like can control the contract information 311 so that the user license is not allocated indefinitely by setting the upper limit of the number of user licenses in the contract information 311 in advance.
It is assumed that the process of steps S601 to S617 of
In steps S1101 and S1102, the service providing unit 306 of the service providing system 103 confirms the contract information 311 and the license information 312 managed by the contract management system 102, and when necessary, allocates device license to the device (for example, the electronic device such as the image forming apparatus or the like).
In step S1103, when the number of device licenses exceeds the “maximum number of licenses” of the contract information 311 as illustrated in
In this case, in steps S1104 and S1105, the contract management unit 304 of the contract management system 102 notifies the terminal device 111 of the license upper limit error through the first system 110, and for example, cancels the execution of the processing of step S627 of
By the above process, the administrator or the like can manage the contract information 311 so that the device license is not assigned indefinitely by setting the upper limit of the number of device licenses in the contract information 311 in advance.
As described above, according to the present embodiment, the services available to the user can be easily changed by the service management system 100 that provides the interface that uses the second system 120 from the first system 110.
In a second embodiment, an example of a process to display the authorization screen 820 as illustrated in
The system configuration, hardware configuration, and functional configuration of the information processing system 1 according to the second embodiment may be the same as the first embodiment.
In step S1201, the information processing system 1 executes, for example, the login screen display process as illustrated in steps S601 to S608 of
In step S609, the terminal device 111 receives the login operation on the login screen 810. In step S610, in response to the login operation, the terminal device 111 transmits a request to use the second service provided by the second system 120 to the authentication and authorization system 101.
In step S611, the display control unit 303 of the authentication and authorization system 101 receives, for example, the billing management information 313 as illustrated in
In step S1202, the display control unit 303 of the authentication and authorization system 101 determines whether there is a change in the service contents of the second service provided by the second system 120. When the service contents are not changed, the information processing system 1 executes the processes illustrated in steps S1211 to S1215. On the other hand, when there is a change in the service contents, the information processing system 1 executes the process illustrated in steps S1301 to S1311 of
In step S1211, when the service contents are not changed, the display control unit 303 of the authentication and authorization system 101 stops the process of displaying the authorization screen 820 as illustrated in
In step S1212, the terminal device 111 accesses the first service provided by the first system 110 by using the authorization code notified from the authentication and authorization system 101.
In steps S1213 and S1214, the first system 110 acquires from the authentication and authorization system 101, the authorization token required for using the second service (web API call) provided by the second system 120 using the authorization code received from the terminal device 111.
In step S1215, the information processing system 1 executes, for example, a linking process with the second system 120 as illustrated in steps S622 to S633 of
By the above processing, the service management system 100 can skip the processing of displaying the authorization screen 820 on the terminal device 111 when there is no change in the service contents of the second service.
On the other hand, when there is a change in the service contents, in steps S1301 and S1302 of
In response to the receiving of approval operation by the user in step S1303, the terminal device 111 requests the authentication and authorization system 101 for authorization in step S1304. In step S1305, since the user has already logged in, the display control unit 303 accepts the selection operation on the authorization screen 820 and updates the contract information 311 managed by the contract management system 102.
In step S1306, the contract management unit 304 of the contract management system 102 allocates a user license to the user of the terminal device 111, when necessary.
In step S1307, the authentication and authorization unit 302 of the authentication and authorization system 101 instructs the terminal device 111 to redirect to the service screen of the first service and notifies the authorization code valid for a certain period of time.
In step S1308, the terminal device 111 accesses the first service provided by the first system 110 by using the authorization code notified from the authentication and authorization system 101.
In steps S1309 and S1310, the first system 110 acquires from the authentication and authorization system 101, the authorization token required for using the second service (web API call) provided by the second system 120 using the authorization code received from the terminal device 111.
In step S1311, the information processing system 1 executes the linking process with the second system 120 as illustrated, for example, in steps S622 to S633 of
By the above processing, the service management system 100 can recommend the use of the newly added service to the user when the service contents of the second service are changed. Further, for example, on the authorization screen 1400 as illustrated in
As described above, according to the present embodiment, the services available to the user can be easily changed by the service management system 100 that provides the interface for accessing the second system 120 from the first system 110.
Note that each of the above embodiments is an example, and various modifications or applications are possible. For example, the authorization screen 820 illustrated in
The apparatuses or devices described in one or more embodiments are just one example of plural computing environments that implement the one or more embodiments disclosed herein. In certain embodiments, the service management system 100 includes a plurality of computing devices, such as a server cluster. The plurality of computing devices is configured to communicate with one another through any type of communication link, including a network, shared memory, etc., and perform the processes disclosed herein.
Further, the service management system 100 and the second system 120 can be configured to share the disclosed processing steps, for example, the processing illustrated in
The above-described embodiments are illustrative and do not limit the present invention. Thus, numerous additional modifications and variations are possible in light of the above teachings. For example, elements and/or features of different illustrative embodiments may be combined with each other and/or substituted for each other within the scope of the present invention.
Any one of the above-described operations may be performed in various other ways, for example, in an order different from the one described above.
Each of the functions of the described embodiments may be implemented by one or more processing circuits or circuitry. Processing circuitry includes a programmed processor, as a processor includes circuitry. A processing circuit also includes devices such as an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), and conventional circuit components arranged to perform the recited functions.
Number | Date | Country | Kind |
---|---|---|---|
2020-189767 | Nov 2020 | JP | national |