Information processing apparatus with license information management

A license management system including an information processing apparatus includes a detecting unit and a license update requesting unit. The detecting unit detects a status of an element involved in execution of software. The license update requesting unit requests an update of license information of the software if the status detected by the detecting unit is a status that does not satisfy a condition desired for executing the software. The license management system may be usable within an image forming apparatus and include a user interface having an IC card reader.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2013-154435 filed Jul. 25, 2013.

BACKGROUND

Technical Field

The present invention relates to information processing apparatuses, license management systems, and non-transitory computer readable media.

SUMMARY

According to an aspect of the invention, there is provided an information processing apparatus including a detecting unit and a license update requesting unit. The detecting unit detects a status of an element involved in execution of software. The license update requesting unit requests an update of license information of the software if the status detected by the detecting unit is a status that does not satisfy a condition desired for executing the software.

DETAILED DESCRIPTION

FIG. 1schematically illustrates a license management system2according to an exemplary embodiment of the present invention. As shown inFIG. 1, the license management system2includes information processing apparatuses4, in which software is installed and that execute the software, and a license management apparatus6that manages licenses for the software. The information processing apparatuses4and the license management apparatus6are connected by a network8, which includes, for example, the Internet. The license management system2may include a single information processing apparatus4or multiple information processing apparatuses4. For example, each information processing apparatus4may be a so-called multifunction apparatus having a printing function, a scanning function, and a facsimile function or may be a terminal apparatus such as a personal computer. The license management apparatus6functions as a computer and serves as a server that manages the licenses for the software.

First, the process of how the software becomes usable in the license management system2will be described. For example, a user, who is an administrator, purchases a license for the software to be used in each information processing apparatus4for the number of information processing apparatuses4into which the user desires to install the software. Information about each purchased license is managed by the license management apparatus6.

Subsequently, for example, the software is installed in each information processing apparatus4by an operation performed by the administrator so that the software becomes usable. In this case, the information managed by the license management apparatus6is checked. Of the purchased licenses, if there is an unallocated license that is not allocated to any of the information processing apparatuses4, the installation is permitted.

FIG. 2schematically illustrates a hardware configuration of each information processing apparatus4. As shown inFIG. 2, the information processing apparatus4includes a central processing unit (CPU)10, a memory12, a storage device14such as a hard disk drive (HDD), a communication interface (IF)16that transmits data to and receives data from, for example, an external device via the network8, a user interface (UI) device18including a touchscreen or a liquid crystal display and a keyboard, an integrated-circuit (IC) card reader20, and a facsimile communication device22. These elements are connected to one another via a control bus24.

The CPU10executes processing on the basis of a control program stored in the memory12or the storage device14so as to control the operation of the information processing apparatus4. In this exemplary embodiment, the CPU10is described as being configured to read the control program from the memory12or the storage device14and execute the control program. Alternatively, the program may be stored in a storage medium, such as a compact disc read-only memory (CD-ROM), and be provided to the CPU10, or the program may be provided to the CPU10via the network8.

The IC card reader20is configured to read information recorded in a IC card provided by the user and is removably set in the information processing apparatus4.

The facsimile communication device22is configured to perform facsimile transmission or reception and is, for example, a facsimile card removably set in the information processing apparatus4.

FIG. 3schematically illustrates a hardware configuration of the license management apparatus6. As shown inFIG. 3, the license management apparatus6includes a CPU30, a memory32, a storage device34such as a hard disk drive (HDD), a communication interface (IF)36that transmits data to and receives data from, for example, an external device via the network8, and a user interface (UI) device38including a touchscreen or a liquid crystal display and a keyboard. These elements are connected to one another via a control bus40.

The CPU30executes processing on the basis of a control program stored in the memory32or the storage device34so as to control the operation of the license management apparatus6. In this exemplary embodiment, the CPU30is described as being configured to read the control program from the memory32or the storage device34and execute the control program. Alternatively, the program may be stored in a storage medium, such as a CD-ROM, and be provided to the CPU30, or the program may be provided to the CPU30via the network8.

Next, a functional configuration of the license management system2will be described. In this exemplary embodiment, software installed in each information processing apparatus4includes software A that controls the IC card reader20, software B that controls the facsimile communication device22, and software C that operates in an environment in which security software that encrypts data stored in the storage device14operates. The licenses for the software A, the software B, and the software C are managed by the license management apparatus6.

FIG. 4is a block diagram illustrating the functional configuration of the license management system2realized by executing the aforementioned control program.

As shown inFIG. 4, the information processing apparatus4includes a detecting unit50, a status notifying unit52, a license update requesting unit54, and a deleting unit56.

The detecting unit50detects the status of an element involved in the execution of software installed in the information processing apparatus4. The term “element” in this case refers to an element included in the information processing apparatus4and includes other software in addition to a hardware device. As an element involved in software execution, the detecting unit50may detect the status of a device controlled by the aforementioned software or the status of another software used for executing the aforementioned software, or may detect the status of a device used for executing the software.

Examples of the status of an element detected by the detecting unit50include a failure of a device serving as the element, removal of a device serving as the element, deletion of software serving as the element, and disablement of software serving as the element.

In this exemplary embodiment, the detecting unit50detects the status of each of the IC card reader20, the facsimile communication device22, and the aforementioned security software.

The status notifying unit52notifies the license management apparatus6of the status detected by the detecting unit50. In this exemplary embodiment, if the detecting unit50detects that the IC card reader20or the facsimile communication device22is faulty or has been removed, and if the detecting unit50detects that the function of the security software has been disabled, the status notifying unit52notifies the license management apparatus6of information indicating the detected status. Together with this information, the status notifying unit52also notifies the license management apparatus6of information used for identifying the information processing apparatus4serving as the notification source.

If the status detected by the detecting unit50does not satisfy a condition desired for executing the software, the license update requesting unit54makes a request to the license management apparatus6for an update of the license information of this software. Thus, for example, the license for this software is returned. In this exemplary embodiment, if a notification indicating that the software is non-executable is received from the license management apparatus6, the license update requesting unit54requests an update of the license information of this software and performs a deactivation process for cancelling the license.

If the status detected by the detecting unit50does not satisfy the condition desired for executing the software, the deleting unit56uninstalls this software. With this uninstallation process, program data or a portion or all of setting information for this software is/are deleted from the storage device14or the memory12of the information processing apparatus4.

In this exemplary embodiment, if the status detected by the detecting unit50does not satisfy the condition desired for executing the software and if this status continues for a preset time period or longer, the deleting unit56uninstalls the software.

For example, if the condition desired for executing the software is not satisfied due to a fault in a device, it is assumed that the normal state may be recovered from the faulty state by, for example, repair. Therefore, for example, if the detecting unit50detects that a device is faulty, the deleting unit56may be configured not to perform the uninstallation by determining that the faulty state is only temporary and may not continue for the preset time period or longer. Furthermore, the deleting unit56may be configured not to perform the uninstallation if an input operation indicating that the continuation of the status detected by the detecting unit50is shorter than the preset time period is received from an operator.

As shown inFIG. 4, the license management apparatus6includes a management information storage unit58, a determining unit60, a determination result notifying unit62, and an updating unit64.

The management information storage unit58stores management information used for managing software licenses.

FIG. 5is a table illustrating an example of management information stored in the management information storage unit58.

As shown inFIG. 5, the management information storage unit58stores information for each license as management information. In detail, the management information stored for each license in the management information storage unit58includes account information indicating a user who has purchased the license, the software corresponding to the license, an element used for executing the software, and an allocation state of the license.

For example, according to the management information shown inFIG. 5, four licenses for the software A have been purchased by an administrator α. Of the four licenses, one license is allocated to an information processing apparatus A (i.e., the software A is installed in the information processing apparatus A), one license is allocated to an information processing apparatus B (i.e., the software A is installed in the information processing apparatus B), and the two remaining licenses are surplus licenses that are not allocated yet. The IC card reader20is the element used for executing the software A.

In a case where the element status is notified from the information processing apparatus4, the determining unit60determines whether or not this element status satisfies the condition desired for executing the software.

In this exemplary embodiment, when a notification is received from the status notifying unit52of the information processing apparatus4, the determining unit60refers to the management information stored in the management information storage unit58and checks whether or not software installed in the information processing apparatus4serving as the notification source exists. If the software installed in the information processing apparatus4serving as the notification source exists, the determining unit60checks the element to be used for executing the software. When the checked element matches the element corresponding to the notification, the determining unit60determines that the software in the information processing apparatus4serving as the notification source has become non-executable.

If the determining unit60determines that the software in the information processing apparatus4is non-executable, the determination result notifying unit62notifies the information processing apparatus4of the non-executable software.

If a request for updating the software license information is received from the information processing apparatus4, the updating unit64updates the management information stored in the management information storage unit58. In detail, the information indicating that the license is allocated to the information processing apparatus4is updated to information indicating that the license is unallocated.

FIG. 6is a table illustrating an example of management information updated by the updating unit64. The example shown inFIG. 6corresponds to a case where a request for an update of the license information of the software A has been made from the information processing apparatus A because the software A is non-usable in the information processing apparatus A due to removal of the IC card reader20therefrom.FIG. 6shows management information obtained when the management information shown inFIG. 5has been updated. The license for the software A allocated to the information processing apparatus A inFIG. 5is updated to an unallocated state, as shown inFIG. 6.

FIG. 7is a flowchart illustrating an example of the operation of the license management system2according to this exemplary embodiment.

In step100(S100), it is determined whether or not the detecting unit50of the information processing apparatus4has detected a change in the status of an element. If the detecting unit50detects a change in the status of an element, the operation proceeds to step102. If there is no detection, the operation ends.

In step102(S102), the license management apparatus6is notified of the status detected by the detecting unit50of the information processing apparatus4.

In step104(S104), the determining unit60of the license management apparatus6determines whether or not non-executable software exists in the information processing apparatus4serving as the notification source on the basis of the notification in step102and the management information stored in the management information storage unit58.

In step106(S106), the determination result notifying unit62of the license management apparatus6notifies the information processing apparatus4serving as the notification source in step102of the determination result obtained by the determining unit60. In detail, if it is determined in step104that non-executable software exists, a notification of the non-executable software is provided. If it is determined in step104that non-executable software does not exist, a notification of non-existence thereof is provided.

In step108(S108), it is determined whether or not a notification of non-executable software in the information processing apparatus4has been provided. If there is non-executable software, the operation proceeds to step110. If there is no non-executable software, the operation ends.

In step110(S110), the deleting unit56of the information processing apparatus4uninstalls the non-executable software.

In step112(S112), the license update requesting unit54of the information processing apparatus4cancels the license for the non-executable software and makes a request to the license management apparatus6for an update of the license information.

In step114(S114), the updating unit64of the license management apparatus6updates the management information stored in the management information storage unit58.