Patent ID: 9405909
Filing Date: 2016-08-02
CPC Classification: G06F

Claim Text:
1. A non-transitory computer-readable recording medium comprising a shared library that is executed by a processor included in an information processing apparatus, wherein the shared library includes i) functions being used commonly by a plurality of applications, ii) a preprocessing function enabling the functions to be used, and iii) a variable indicating a processing result of the preprocessing function, wherein when an application is executed, an operating system included in the information processing apparatus dynamically links the shared library to the application, and when one of the functions in the shared library is corrected, the plurality of applications using the corrected function have the same effect as being corrected, wherein the functions are configured to cause the processor: to execute a process if the variable indicating the processing result of the preprocessing function is valid, and not to execute the process if the variable indicating the processing result of the preprocessing function is invalid, wherein the preprocessing function is configured to cause the processor: to read file names in a specific directory including the shared library and to search for a license file with a specific file name assigned by a developer; to acquire encrypted unique information in the license file from a storage device included in the information processing apparatus, wherein the license file is generated by encrypting the unique information using a password as an encryption key, wherein the unique information in the license file is stored in the storage device by copying specific information items about the plurality of applications from their source code to a text file and storing a set of the specific information items, wherein the specific information items indicate that the application has a valid right to use the shared library, and include at least one of application identification information that identifies each of the plurality of applications, a combination of a plurality of data items included in the plurality of applications, a random number embedded by the developer in the application, and part of data extracted from image data included in the application, wherein the application identification information includes at least one of a name of a class, a name of function included in the application, a specific code included in the application, a name of a package of the application, a name of a main program of the application, and a specific code obtained after the application has been compiled to binary format, and wherein, if the plurality of applications have a same application name and their versions differ, the specific information further includes application version identification information, and the plurality of applications are identified by the logical conjunction of the application version identification information and the application identification information; to decrypt the unique information in the license file using the password as a decryption key, which is entered as the encryption key, wherein one of the password and a place at which the password is stored, is one of i) directly embedded in the preprocessing function and ii) transferred to the preprocessing function; to search for the specific information and acquire the specific information by a caller of the shared library; and to return the variable indicating the processing result of the preprocessing function that is valid or invalid based on a comparison between the acquired specific information by the caller of the shared library and the decrypted unique information in the license file, wherein, if the acquired specific information is determined to be an element of the decrypted unique information, the variable is valid, wherein, if the acquired specific information is not determined to be the element of the decrypted unique information, the variable is invalid, and wherein, if the unique information is a text and the specific information is a binary code corresponding to the text, the unique information is converted to the binary code corresponding to the text or the specific information is converted to the text corresponding to the binary code.