License management system, license management method, and recording medium
Managing application software function licenses through a license management system solves the workload problem of signing cloud service contracts on-site in FA (Software Development) environments, enables cross-level license management, and improves the efficiency and flexibility of cloud service usage.
Patent Information
- Application Number
- CN202280097753.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-29
- Publication Date
- 2026-01-02
- Estimated Expiration
- 2042-11-29
AI Technical Summary
In FA (Financial Advisor) scenarios, the maintenance periods of multiple stakeholders need to be considered when signing cloud service usage contracts, which leads to a heavy workload and affects the efficiency of cloud service usage.
A license management system was designed to achieve cross-level license management by acquiring, executing, and providing functional licenses for unit management application software, issuing and managing licenses according to the needs of relevant parties.
It reduced the workload of FA on-site, promoted the use of cloud services, improved the efficiency and flexibility of cloud services, and supported data analysis across stakeholders.
Smart Images

Figure CN119487507B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to a license management system, a license management method, and a computer-readable recording medium storing a program. BACKGROUND
[0002] In recent years, cloud computing technology that provides cloud services via a network by executing application software on a cloud server has attracted attention. Such application software is provided by a provider, typified by a SI (System Integration) enterprise, which generally provides cloud services to subscribers who separately contract. A technology that manages information of a usage contract of cloud services in order to efficiently provide such cloud services has been proposed (for example, refer to Patent Literature 1).
[0003] Patent Literature 1: Japanese Patent Application Publication No. 2021-002128 SUMMARY
[0004] In the field of FA (Factory Automation), there is a demand to use services across a series of related parties like a so-called engineering chain. For example, in a case where a failure occurs in a production line of an end user, the end user notifies the production line creator who built the production line of the occurrence of the failure, and the production line creator determines a device that is a cause of the failure in the production line. In such a case, if the end user, the production line creator, and the manufacturer of the device share information about the failure using a general device operation and maintenance service, reduction of downtime is expected.
[0005] In a case where the technology of Patent Literature 1 is applied to the above-described contracting for use of cloud services in the field of FA, users who use cloud services need to directly contract for use with a provider of application software respectively. Also, it is preferable that the usage contract be contracted in consideration of the above-described related parties. For example, it is preferable that the end user contract for use with the provider of application software based on a case where a maintenance period is set between the production line creator and a maintenance period is set between the production line creator and the manufacturer of the device.
[0006] However, it is difficult work to decide the content of an appropriate usage contract in consideration of various cases. Thus, the work burden in the field of FA for use of cloud services is large, and thus it is likely that use of cloud services is delayed.
[0007] The present application has been made in view of the above-described circumstances, and aims to reduce the work burden for use of cloud services in the field of FA, and contribute to promotion of use of cloud services.
[0008] To achieve the above object, the license management system of the present application has: an acquisition unit that acquires application software; an execution unit that executes the application software; a provision unit that provides a function that is exercised by execution of the application software to a license acquisition object that has acquired a license via a network; and a management unit that manages, in association with the application software that is the target of the license, a new license acquisition object that is generated by issuing a license from the license acquisition object in a range equivalent to the license range of the function for which the license acquisition object has acquired a license or within the license range.
[0009] Effects of the Invention
[0010] According to the present application, the management unit manages, in association with the application software that is the target of the license, a new license acquisition object that is generated by issuing a license from the license acquisition object in a range equivalent to the license range of the function for which the license acquisition object has acquired a license or within the license range. Therefore, it is possible to provide the function of the application software based on sub-licenses concluded by the objects with each other. Thus, it becomes easy to use the cloud service that is realized based on the license that takes into account the relevant parties in the FA site. Further, it is possible to reduce the work burden in the FA site that results from using the cloud service, and it is helpful to promote the use of the cloud service. BRIEF DESCRIPTION OF DRAWINGS
[0011] Figure 1 is a summary diagram showing issuance of a license and provision of a function of application software managed by the license management system related to Embodiment 1.
[0012] Figure 2 is a diagram showing connection among the license management system, the application provider, and the object related to Embodiment 1.
[0013] Figure 3 is a diagram showing an example of the object related to Embodiment 1.
[0014] Figure 4 is a diagram showing a hardware structure of the license management system related to Embodiment 1.
[0015] Figure 5 is a diagram showing a functional structure of the license management system related to Embodiment 1.
[0016] Figure 6 is a diagram showing a license management DB (Data Base) related to Embodiment 1.
[0017] Figure 7 is a diagram schematically showing collection of object data related to Embodiment 1.
[0018] Figure 8 This is a flowchart illustrating the application function provisioning process involved in Implementation Method 1.
[0019] Figure 9 This is a flowchart illustrating the license management process involved in Implementation Method 1.
[0020] Figure 10 This is a diagram illustrating an example of data modification in the license management DB involved in Implementation Method 1.
[0021] Figure 11 This is a diagram representing the temporary database involved in the variant example.
[0022] Figure 12 This is a diagram illustrating an example of the license management DB involved in Implementation Method 2.
[0023] Figure 13 This is a diagram showing the tree structure of license issuance involved in Implementation Method 2. Detailed Implementation
[0024] The following is a reference to the appendix. Figure 1 The license management system according to embodiments of the present invention will be described in detail below. The license management system is a system for managing licenses used to provide functionality for application software running on a cloud server via a network. Hereinafter, the application software will be appropriately simplified and referred to as an application.
[0025] Additionally, the party providing the functionality of the application will be referred to as the "object" below. An object is not limited to an individual user; it can also be a terminal, device, or equipment, or a specific group of enterprises. An object is the collective term for users and devices that have obtained or been licensed through a license agreement, as long as they correspond to specific licenses. It is also possible to grant one object two or more licenses.
[0026] Furthermore, the provision of application functionality is the provision of cloud services, referring to the provision of information or data as the result of executing the application. The execution result of the application can be the result of processing information input from the object side on the cloud server, or it can be information or data output from the cloud service regardless of whether there is input from the object side.
[0027] Implementation Method 1
[0028] like Figure 1As shown, the license management system 10 according to the present embodiment has a plurality of applications, and provides the function of each application to a subject who has acquired a license via the network NW as shown by the dotted arrows. Specifically, the license management system 10 has an application 31 which is stored in advance by the license management system 10 itself, an application 32 which is acquired from an application provider 21, and an application 33 which is acquired from an application provider 22.
[0029] The application providers 21, 22 are SI companies or application developers, respectively. Hereinafter, the application providers 21, 22 are sometimes referred to as the application provider 20 without distinction.
[0030] In Figure 1 In the figure, the issuance of a license for using the function of the application 31 is shown by the hatched arrow. Specifically, the license for using the application 31 is issued from the license management system 10, and is acquired by the subject U101. Further, the issuance of the license from the license management system 10 can be the issuance of a license from the operator of the license management system 10. In addition, the license for using the function of the application 31 is issued from the subject U101 to the subjects U201, U202, and from the subject U202 to the subjects U301, U302, U303. These subjects U101, U201, U202, U301, U302 are each allowed to use the function of the application 31 by the acquired license.
[0031] However, the range of the function that each subject can use is set by the subject that issued the license. For example, in Figure 2 In the figure, the issuance of a license for using the function of the application 31 is shown by the hatched arrow. Specifically, the license for using the application 31 is issued from the license management system 10, and is acquired by the subject U101. Further, the issuance of the license from the license management system 10 can be the issuance of a license from the operator of the license management system 10. In addition, the license for using the function of the application 31 is issued from the subject U101 to the subjects U201, U202, and from the subject U202 to the subjects U301, U302, U303. These subjects U101, U201, U202, U301, U302 are each allowed to use the function of the application 31 by the acquired license.
[0032] Further, licenses for using the functions of the application 32 are issued from the license management system 10, acquired by the object U 102, and issued from the object U 102 to the objects U 203, U 204. These objects U 102, U 203, U 204 are each allowed to use the functions of the application 32 by the acquired licenses. Further, licenses for using the functions of the application 33 are issued from the application provider 22, acquired by the object U 103, and issued from the object U 103 to the object U 205, and from the object U 205 to the objects U 304, U 305, U 306. These objects U 103, U 205, U 304, U 305, U 306 are each allowed to use the functions of the application 33 by the acquired licenses.
[0033] Figure 2 The device structure of the license management system and the connection manner of the communication path via the network NW are schematically shown. As shown in Figure 1 The license management system 10 includes one or more cloud servers 40. The cloud server 40 is a computer provided as a server device by a cloud manufacturer in a state in which a cloud infrastructure 41 can use, and one or more applications 30 are executed on the cloud infrastructure 41. Here, the applications 31 to 33 are collectively referred to as the application 30. The cloud infrastructure 41 is a basic computing resource provided as a service represented by IaaS (Infrastructure as a Service) and PaaS (Platform as a Service). In a case in which the license management system 10 is implemented by a single cloud server 40, the license management system 10 is substantially equivalent to the single cloud server 40. In a case in which the license management system 10 includes a plurality of cloud servers 40, the license management system 10 is implemented in cooperation with the plurality of cloud servers 40.
[0034] The license management system 10, the application provider 20, and the objects U 1, U 2, U 3 are each connected via the network NW, and communicate with each other. The network NW can be a wide area communication network represented by the Internet, or a virtual network or a dedicated network such as a VPN (Virtual Private Network).
[0035] The object U 1 is an object that collectively represents Figure 1 The object U 1 is an object that collectively represents Figure 1U3 is an object that is issued a license by the object U2, and corresponds to Figure 3 U301 to U306. If the object U1 is located in the first layer, and the objects U2 and U3 are located in the second and third layers, respectively, all the objects belong to a certain layer. Similarly, it is also conceivable that the objects belonging to the fourth layer and beyond are generated. The other objects issued a license by the object belonging to the nth layer belong to the (n+1)th layer.
[0036] Figure 3 An example of the objects to which the license management system 10 provides functions is shown. Figure 3 The objects U111, U211, and U311 correspond to PCs (Personal Computers) having a license relationship with each other. The objects U111, U211, and U311 can also be three persons using a single PC. In addition, the objects U112, U212, and U312 correspond to independent companies having a license relationship with each other. The objects U113, U213, and U313 have a license relationship with each other, and correspond to a superior computer in a specific factory, and a first production line and a second production line in the factory, respectively. The objects U114, U214, and U314 have a license relationship with each other, and correspond to an instrument of a specific manufacturer, a robot of another manufacturer equipped with the instrument, and a production device of an end user using the robot, respectively. Figure 4 The objects U111 to U114 in the example belong to the first layer, the objects U211 to U214 belong to the second layer, and the objects U311 to U314 belong to the third layer.
[0037] The license management system 10 has a hardware structure as shown in Figure 4 in order to manage the licenses issued to the above-described objects. In addition, the hardware structure shows the structure in the case where the license management system 10 corresponds to a single cloud server 40, but even in the case where the license management system 10 is implemented by a plurality of cloud servers 40, the increased number of each structural element cooperates, and thus the license management system 10 substantially has the hardware structure as shown in Figure 4 .
[0038] As shown in Figure 5 , the license management system 10 has a processor 51, a main storage unit 52, an auxiliary storage unit 53, an input unit 54, an output unit 55, and a communication unit 56. The main storage unit 52, the auxiliary storage unit 53, the input unit 54, the output unit 55, and the communication unit 56 are connected to the processor 51 via an internal bus 57.
[0039] The processor 51 includes a CPU (Central Processing Unit) as processing circuitry. The processor 51 realizes various functions by executing programs Pl, P2 stored in the auxiliary storage 53, and performs the processes described later.
[0040] The main storage 52 includes a RAM (Random Access Memory). The programs Pl, P2 are loaded from the auxiliary storage 53 to the main storage 52. Also, the main storage 52 is used as a work area of the processor 51.
[0041] The auxiliary storage 53 includes a nonvolatile memory typified by an EEPROM (Electrically Erasable Programmable Read-Only Memory) and an HDD (Hard Disk Drive). The auxiliary storage 53 stores the programs Pl for realizing the functions of the license management system 10 described later and the programs P2 corresponding to the application 30. In addition, the auxiliary storage 53 stores various data used for the processes of the processor 51. The auxiliary storage 53 supplies data used by the processor 51 to the processor 51 according to the instructions of the processor 51. In addition, the auxiliary storage 53 stores data supplied from the processor 51.
[0042] The input section 54 includes input devices typified by hardware switches, input keys, a keyboard, and a pointing device. The input section 54 acquires information input by the administrator of the license management system 10, and notifies the acquired information to the processor 51.
[0043] The output section 55 includes display devices typified by an LED (Light Emitting Diode), an LCD (Liquid Crystal Display), and acoustic devices typified by a buzzer and a speaker. The output section 55 prompts various information to the administrator according to the instructions of the processor 51.
[0044] The communication section 56 includes an interface circuit for communicating with devices outside. The communication section 56 receives a signal from the network NW, and outputs data represented by the signal to the processor 51. In addition, the communication section 56 transmits a signal representing data output from the processor 51 to the network NW.
[0045] The license management system 10 exhibits various functions by the cooperative action of the hardware structures described above. Specifically, as Figure 6As shown, the license management system 10 has, as its functional structure, an acquisition section 61 that acquires the application 30, an execution section 62 that executes the application 30, a provision section 63 that provides the function of the application 30 to the object, a management section 64 that manages the license issued to the object, a collection section 65 that collects the object data from the object, an object data DB 650 that accumulates the object data, and an output section 66 that outputs the object data.
[0046] The acquisition section 61 is realized by at least one of the processor 51, the input section 54, and the communication section 56. The acquisition section 61 can acquire the application 30 by receiving the application 30 transmitted from the application provider 20, can acquire the application 30 by reading out the application 30 from a recording medium such as a memory card or an external storage device, or can acquire the application 30 by reading out the application 30 pre-stored in the auxiliary storage section 53. In addition, the acquisition section 61 can temporarily store the application 30 in the main storage section 52 or the auxiliary storage section 53. The acquisition section 61 provides the acquired application 30 to the execution section 62 according to a request from the execution section 62. The acquisition section 61 corresponds to one example of an acquisition unit that acquires application software.
[0047] The execution section 62 is mainly realized by the processor 51. By executing the application 30 by the execution section 62, information or data that should be provided to the object is generated. For example, the application 30 for updating the drive software of an instrument monitors whether there is an update of the latest version of the drive, and when there is an update, issues the latest version of the drive software. In addition, the application 30 for quality management of a product processes data transmitted from the object, monitors whether there is an abnormality, and when there is an abnormality, notifies the object of the abnormality. However, the execution section 62 refers to the license management DB 640, realizes the function of the application 30 that should be provided to the object having the license, and does not realize the function of the application 30 for the object for which the license is not valid. The execution section 62 corresponds to one example of an execution unit that executes application software.
[0048] The provision section 63 is mainly realized by the cooperative operation of the processor 51 and the communication section 56. The provision section 63 provides the function exerted by the execution of the application 30 to the object. The provision section 63 can refer to the license management DB 640 instead of the execution section 62, and provide the function of the application 30 to the object having the license, and exclude the object for which the license is not valid from the target of the provision of the function of the application 30. The provision section 63 corresponds to one example of a provision unit that provides the function of the application 30 to the object having the license via the network NW. Here, the provision unit provides the function of the range in which the object has the license to the object.
[0049] The management section 64 is realized mainly by the cooperative operation of the processor 51, the auxiliary storage section 53, and the communication section 56. The management section 64 has a license management DB 640 that indicates the latest status of the licenses issued to the plurality of subjects, and in the case where a change relating to a license has occurred, the license management DB 640 is updated by writing data corresponding to the change into the license management DB 640.
[0050] Figure 6 The upper layer of the above shows the license management DB 640 that indicates the contents of the licenses granted to the subjects U101, U102 of the 1st layer. In the license management DB 640, the item of "subject" that records the same identification number as the subject number, the item of "function range" that indicates the usable range of the function of the application 30 set to the subject, and the item of "data provision" that indicates whether or not the provision of the subject data relating to the use of the application 30 to the outside is permitted are associated with each application 30. Further, each subject is associated with the item of "layer" that indicates the layer to which the subject belongs. In the license management DB 640, the item of "layer" is associated with the item of "function range" and the item of "data provision" of the application 30 of the subject belonging to the layer. In the license management DB 640, the item of "layer" is associated with the item of "function range" and the item of "data provision" of the application 30 of the subject belonging to the layer. Figure 6 In the above, each application 30 is labeled with the same identification number as the numbers of the applications 31 to 32, and the continuous circular marks that indicate the functions of each application 30 indicate the number and order of the elements that constitute the function of the application 30. For example, "application
[31] function: o o o" indicates that the function of the application 31 has the 1st partial function, the 2nd partial function, and the 3rd partial function in that order.
[0051] The continuous circular marks recorded in the item of "function range" indicate that all the functions of the application can be used. The contents of the item of "function range" are set by the license-issuing side. For example, the usable function range of the application 31 executed by the subject U101 is set by the license management system 10 to be the entire function of the application 31.
[0052] The circular marks recorded in the item of "data provision" indicate that the provision of the subject data to the outside is permitted, and the cross marks of the item indicate that the provision to the outside is not permitted. The contents of the item of "data provision" are set by the subject to which the license is issued. For example, the subject U101 is shown to permit the provision of the subject data to the outside with a circular mark, and the subject U102 is shown to refuse the provision of the subject data to the outside with a cross mark. Depending on the function range that can be used due to the license, the subject data that is used together with the function of the application 30 is provided, and therefore the "function range" and the "data provision" become one.
[0053] The object data is at least one of data for using the function of the application 30 such as a set parameter and input data to the application 30, and data generated by using the application 30 such as an execution result of the application 30 and a response of the object side to the execution result. The object data of the object that is a sensor can also be a sensing result obtained using the application 30 that is a drive software, and the provision to the outside of the object data can also be a periodic provision of the sensing result. The object data is collected by the license management system 10.
[0054] Figure 6 The middle layer of FIG. 10 shows the license management DB 640 in which data D11, D12 related to the license issued from the object U101 to the objects U201, U202 is recorded. Specifically, by setting the range of the function of the application 31 that can be used except for the second partial function by the object U101 for the object U201, the object U201 is set to refuse the provision of the object data to the outside in association with the setting, and thus the data D11 is added. In addition, by setting the range of the function of the application 31 that can be used except for the third partial function by the object U101 for the object U202, the object U202 is set to permit the provision of the object data to the outside in association with the setting, and thus the data D12 is added. The data D11, D12 is added as data of the second layer that contains the row data 71, 72.
[0055] The setting of the license issuance described above is achieved by inputting the object that is an issuance target and the range of the function of the license to be issued by the license issuance object accessing the license management system 10, and further inputting whether or not the provision of the object data to the outside by the license acquisition object accessing the license management system 10. The management section 64 outputs the data of the input format in which the input from the object is received, via the network NW, and thus receives the setting of the license issuance between the objects.
[0056] Further, the license issuance object is an object that issues a license or an object for which the issuance of a license is scheduled, and the license acquisition object is an object that acquires or has acquired a license. All the objects registered in the license management DB 640 correspond to the license acquisition object, and hereinafter, in a case where the acquisition or acquisition of the license is emphasized, the license acquisition object is sometimes written. Similarly, in a case where the issuance of the license is emphasized, the license issuance object is sometimes written.
[0057] Figure 6 The lower layer of FIG. 10 shows the license management DB 640 in which the content of the license issued to the object U301 is added as the row data 73. In addition, from the object U301, the data D13 related to the license issued to the object U302 is recorded. Figure 5As understood from the lower layer, the object is classified to a certain layer prescribed in the column 74, and thus the license management DB 640 manages the license acquisition objects having acquired the licenses hierarchically.
[0058] The management section 64 corresponds to an example of a management unit that manages a new license acquisition object generated by issuing a license from a license acquisition object for a range equivalent to or within a range of a license for a function for which the license acquisition object has acquired the license, in association with an application software that is a target of the license.
[0059] Returning to Figure 7 , the collection section 65 is mainly realized by a cooperative action of the processor 51 and the communication section 56. The collection section 65 refers to the license management DB 640, collects object data from the objects for which the provision of the object data to the outside is permitted in the license management DB 640, and accumulates the collected object data in the object data DB 650. The collection section 65 corresponds to an example of a collection unit that collects object data.
[0060] Figure 6 An example of a license management DB 640 different from Figure 7 and collection of object data based on the license management DB 640 is schematically shown. In Figure 7 the license management DB 640, the function of the application 31 has the partial functions F1 to F3, and as to these partial functions, it is shown whether or not the provision of the object data to the outside is permitted. For example, the object U202 permits the provision of the object data to the outside with respect to the function F1, but refuses the provision of the object data to the outside with respect to the function F3. Further, for the object U202, the function F2 is excluded from the usable range, and thus there is no setting of the provision of the object data to the outside with respect to the function F2. In this way, it is possible to set whether or not the data provision is possible for each partial function.
[0061] Further, for the object U401 of the 4th layer, the provision of the object data to the outside with respect to the function F1 is permitted, but it is set that the outside provision is via the object U302. In Figure 7 , the collection path of the object data formed by the collection section 65 is indicated by a thick arrow. Specifically, the collection section 65 refers to the license management DB 640, collects the object data from the objects U101, U202, and U302, and does not collect the object data from the objects U201 and U301.
[0062] Further, the collection section 65 collects the object data of the object U401 from the object U302 as well. In a case where the object U401 corresponds to an embedded instrument and the object U302 is a device having the instrument as the object U401, it is difficult to directly provide the object data from the object U401 to the collection section 65, and thus the collection of the object data becomes easy by passing through the object U302.
[0063] Further, in Figure 7 the license management DB 640, the hierarchy addition upper limit number is also associated with the object. The hierarchy addition upper limit number indicates an upper limit value of the number of newly added hierarchies or a remaining generation number of the license that is allowed to be issued, and indicates an upper limit value of the repeated issuance of the license by the object that has acquired the license. For example, as Figure 5 indicated, if the object U101 is issued the license with the hierarchy addition upper limit number of "3", the hierarchy addition upper limit number of the license issued from the object U101 to the objects U201 and U202 is decremented and set to "2". At the time of repeatedly performing the license issuance between the objects starting with the object U101, the hierarchy addition upper limit number is decremented, and as a result, the objects mutually issue the license up to the fourth hierarchy, but the object of the fourth hierarchy cannot issue the license to the other objects, and thus the fifth hierarchy is not set.
[0064] Returning to Figures 8-10 , the output section 66 is mainly implemented by at least one of the processor 51 and the communication section 56. The output section 66 reads out the data of the object data DB 650 and outputs to the application provider 20 that has provided the application 30 corresponding to the object data. Thereby, the application provider 20 can analyze the object data in the plurality of objects that use the application 30. For example, the application provider 20 can grasp the amount of carbon dioxide emission of the entire supply chain related to production and effectively use for carbon neutrality.
[0065] Next, the application function provision processing and the license management processing performed in parallel by the license management system 10 will be described with reference to Figure 8 .
[0066] In the application function provision processing, as Figure 8 indicated, the acquisition section 61 acquires the application 30 (step S1). Then, the provision section 63 determines whether or not the access from the object to use the function of the application 30 has occurred (step S2). In a case where it is determined that there is no access from the object (step S2; No), the determination of step S2 is repeated. On the other hand, in a case where it is determined that there is the access from the object (step S2; Yes), the execution section 62 refers to the license management DB 640 to search the data of the object that has performed the access (step S3).
[0067] Next, the execution unit 62 determines whether the object of the search hit has acquired a license for accessing the function of the application 30 requested (step S4). In the case where it is determined that the license has not been acquired (step S4; No), the function of the application 30 is not provided to the object, and the process of step S2 and thereafter is repeated. On the other hand, in the case where it is determined that the license has been acquired (step S4; Yes), the execution unit 62 executes the application 30 for exerting the requested function (step S5), and the provision unit 63 provides the function as a response to the access (step S6).
[0068] Further, in Figure 9 , the function of the application 30 is provided as a trigger from the access of the object, but the trigger for providing the function of the application 30 is not limited to the access from the object. For example, in the case of the application 30 that autonomously notifies information to the object at a specific timing, the current time reaching the specific timing can also be taken as a trigger. The specific timing is, for example, a regular timing or a timing at which an error or an anomaly has occurred.
[0069] In Figure 6 , the management unit 64 determines whether the license information indicating the issuance of the license has been acquired (step Sll). The license information is information indicating an object that has newly acquired the license, or the generation of a new object that has acquired the license. For example, in the example of Figure 6 , in the case where the object U101 has issued the license of the application 31 to the object U202, data indicating the object U202 related to the application 31 corresponds to the license information. In the case where it is determined that the license information has not been acquired (step Sll; No), the process of the license management system 10 jumps to step S15.
[0070] On the other hand, in the case where it is determined that the license information has been acquired (step Sll; Yes), the management unit 64 determines whether the range information indicating the range in which the function of the application 30 is available due to the newly issued license has been acquired (step S12). For example, in the example of Figure 6 , in the case where the object U101 has issued the license of the application 31 to the object U202, data indicating the license range of "O Ox" in which the third part function is excluded corresponds to the range information.
[0071] Further, in a case where the application 30 has a single function and the function cannot be divided, and in a case where the provider of the application 30 invalidates the setting of the license range between the objects, the usable function of the object that has acquired the license is the same as the usable function of the object that has issued the license, and thus the determination of step S12 can also be omitted. In addition, in a case where the issuance target of the license and the license range are simultaneously input by the object, the determination of whether or not the license information including the range information is made in step Sll, and step S12 is omitted. However, in a case where the provider of the application 30 sets the license range of each hierarchical object in advance or as needed, and only the issuance target is set in the license issuance by the object, the management section 64 acquires the license information indicating the issuance target and the range information indicating the license range, respectively.
[0072] In a case where it is determined that the range information has not been acquired (step S12; No), the processing of the license management system 10 jumps to step S15. On the other hand, in a case where it is determined that the range information has been acquired (step S12; Yes), it is determined whether or not the setting related to the provision of the object data has been made (step S13). In a case where the setting related to the provision of the object data has not been made (step S13; No), the processing of the license management system 10 jumps to step S15. On the other hand, in a case where the setting related to the provision of the object data has been made (step S13; Yes), the license management DB 640 is changed (step S14). Specifically, the management section 64 records data indicating the setting related to the license information, the range information, and the object data in the license management DB 640. The management section 64 corresponds to an example of a management unit that manages a database indicating a plurality of license acquisition objects including the license acquisition object that has issued the license, i.e., the license issuance object, and a new license acquisition object, by recording data indicating the new license acquisition object when the generated license information indicating the new license acquisition object is acquired. Figure 10 In the example of FIG. 10, in a case where the object U101 has issued the license of the application 31 to the object U202, it is determined whether or not the provision of the object data from the object U202 to the outside is permitted.
[0073] In a case where it is determined that the setting related to the provision of the object data has not been made (step S13; No), the processing of the license management system 10 jumps to step S15. On the other hand, in a case where the setting related to the provision of the object data has been made (step S13; Yes), the license management DB 640 is changed (step S14). Specifically, the management section 64 records data indicating the setting related to the license information, the range information, and the object data in the license management DB 640. The management section 64 corresponds to an example of a management unit that manages a database indicating a plurality of license acquisition objects including the license acquisition object that has issued the license, i.e., the license issuance object, and a new license acquisition object, by recording data indicating the new license acquisition object when the generated license information indicating the new license acquisition object is acquired.
[0074] Next, the management section 64 determines whether or not there is a change instruction of the registered data related to the license in the license management DB 640 (step S15). For example, the change instruction is an instruction to change the upper limit number of the hierarchical object of the object U101 from "3" to "2" as shown in FIG. 11. Figure 10
[0075] In a case where it is determined that there is no change instruction (step S15; No), the license management system 10 repeats the process of step S11 and the subsequent processes. On the other hand, in a case where it is determined that there is a change instruction (step S15; Yes), the management section 64 determines whether or not the change instruction affects other data (step S16). In a case where it is determined that the change instruction affects other data (step S16; Yes), the management section 64 changes data including the affected range on the basis of the change instruction (step S17). In a case where it is determined that the change instruction does not affect other data (step S16; No), the management section 64 changes data on the basis of the change instruction (step S18). Then, the management section 64 repeats the process of step S11 and the subsequent processes. Figure 10 In the example of FIG. 9, the change of the upper limit number of the hierarchy in the first layer affects the upper limit number of the hierarchy in the second layer and the hierarchy below the second layer, and thus it is necessary to change the data of the second layer and the hierarchy below the second layer as well.
[0076] In a case where it is determined that the change instruction affects other data (step S16; Yes), the management section 64 changes data including the affected range on the basis of the change instruction (step S17). In a case where it is determined that the change instruction does not affect other data (step S16; No), the management section 64 changes data on the basis of the change instruction (step S18). Then, the management section 64 repeats the process of step S11 and the subsequent processes. Figure 10 In the example of FIG. 9, the change of the upper limit number of the hierarchy in the first layer affects the upper limit number of the hierarchy in the second layer and the hierarchy below the second layer, and thus it is necessary to change the data of the second layer and the hierarchy below the second layer as well.
[0077] On the other hand, in a case where it is determined that the change instruction does not affect other data (step S16; No), the management section 64 changes data on the basis of the change instruction (step S18). For example, in a case where the license range is changed, or in a case where the setting relating to the provision of the target data is changed, the management section 64 changes the license management DB 640 on the basis of the change instruction. Then, the management section 64 repeats the process of step S11 and the subsequent processes.
[0078] As described above, the management section 64 according to the present embodiment records data indicating a new license acquisition object that is generated by issuing a license from a license acquisition object in the license management DB 640 when license information indicating the new license acquisition object is acquired. Thus, it is possible to provide the function of the application software on the basis of the sub-license concluded by the objects with each other. As a result, it becomes easy to use the cloud service that is implemented on the basis of the license taking into account the parties in the field of the FA. Furthermore, it is possible to reduce the work burden in the field of the FA for using the cloud service, and it is helpful to promote the use of the cloud service.
[0079] In addition, the management section 64 acquires range information and license information indicating a range equivalent to the license range of the license issuance object or a license range of a new license acquisition object within the license range, and manages the license management DB 640 in which the license ranges are shown in association with a plurality of objects, respectively. Thus, it is possible to provide sufficient functions as required in accordance with the needs of each object.
[0080] Further, the collection section 65 collects the object data from each object. Thereby, data analysis can be performed across the parties in the field using the FA of the application.
[0081] Further, the collection section 65 collects the object data of an object via a license issuance object to which a license has been issued to the object. Thereby, the object data can be collected through diverse collection paths. Further, the object data of the object can also be collected via a license acquisition object that has acquired a license issued from the object.
[0082] Further, the collection section 65 excludes the object data from the collection target if the object data is set not to be provided by the object. Thereby, data that the object does not want to provide to the outside can be hidden.
[0083] Further, the management section 64 manages the license management DB 640 that hierarchically shows the plurality of objects by recording data indicating that a new license acquisition object belongs to a lower layer than a layer to which a license issuance object belongs if the license information is acquired. Thereby, management of the license corresponding to the depth of the hierarchy can be realized. Figure 11
[0084] Specifically, the management section 64 deletes data indicating an object belonging to a lower layer than a layer corresponding to the hierarchy addition upper limit number in the license management DB 640 in a case where the hierarchy addition upper limit number is decreased in permission of the new license acquisition object to become a license of the license issuance object. Thereby, the provider of the application 30 can control the upper limit of the hierarchy of the license.
[0085] Further, although the case where the hierarchy addition upper limit number is decreased is described, a case where the hierarchy addition upper limit number is increased can also be considered. Here, the management section 64 can also move the data of the 4th layer deleted from the license management DB 640 to be saved in the temporary DB 641 and return the data of the 4th layer to the license management DB 640 in a case where the hierarchy addition upper limit number is increased as shown in FIG. 6. Figure 12
[0086] Further, the management section 64 can also manage the license management DB 640 without the item of "layer". That is, the license of each object can also be managed regardless of the depth of the actual hierarchy.
[0087] Embodiment 2
[0088] Next, Embodiment 2 will be described focusing on its differences from Embodiment 1 described above. Furthermore, the same reference numerals will be used for structures that are the same as or equivalent to those in Embodiment 1 described above. In Embodiment 1, the license management DB 640 represents the hierarchy to which an object belongs, but does not show the target for issuing licenses to each object. In contrast, this embodiment differs from Embodiment 1 in that the license management DB 640 represents the license issuance relationship.
[0089] The license management DB 640 involved in this implementation is as follows: Figure 13 As illustrated, for each object, there is a column 76 for "Issuing Object," which represents the license issuing object to which the license was issued; and a column 77 for "License Receiving Object," which represents the license obtaining object from which the license was issued. Therefore, the license management DB 64 essentially demonstrates... Figure 13 The tree structure shown. If the management department 64 obtains license information, it manages the database representing the license issuance relationship among multiple license recipients by recording data indicating that licenses have been issued from license issuers to new license recipients.
[0090] Therefore, if the license of an object is changed, that change can affect the licenses of subordinate objects that depend on that license. Examples of license-related changes include license invalidation, changes to the scope of a license, and changes to the license period. For example, such as... Figure 13 As shown, if the license of object U202 marked with a heavy shading is invalidated, the licenses of objects U301 and U302 that were licensed from object U202, as well as object U401 that was further licensed from object U302, can be invalidated.
[0091] As described above, when changes occur related to licenses obtained by a specific entity, the management unit 64 modifies data related to licenses issued directly or indirectly from that specific entity to other entities. This allows for flexible management of the license management DB 640 based on license issuance relationships.
[0092] Additionally, sometimes the functionality provided depends on the opposite orientation of the license issuance. Specifically, sometimes object data generated by providing functionality to a lower-level object is used to provide functionality to a higher-level object. For example, consider the following example: In In the tree structure, the upper-level computer detects anomalies based on sensing results obtained from lower-level instruments. Another example is predicting the scheduled replacement of equipment or the lifespan of tools for upper-level equipment manufacturers based on the production line schedules of lower-level end-users.
[0093] In such a case, the providing unit 63 can determine the function that should be provided to the specific object, if it refers to the license management DB 640, based on the provision of the function performed on the license acquisition object that issues the license directly or indirectly from the specific object. Thus, the object can be provided with a variety of functions.
[0094] The above describes an embodiment of the present application, but the present application is not limited to the above-described embodiment.
[0095] For example, the number of applications 30, the number of objects, and the number of hierarchies are not limited to the above-described examples, and can be arbitrarily changed.
[0096] Further, the license management table 640 in table form is described, but is not limited thereto, and the form of the license management table 640 can be arbitrarily changed.
[0097] The function of the license management system 10 described in the above-described embodiment can be implemented by a dedicated hardware, or can be implemented by a general computer system.
[0098] For example, by distributing the programs PI, P2 stored in a recording medium readable by a computer, such as a floppy disk, a CD-ROM (Compact Disk Read-Only Memory), a DVD (Digital Versatile Disk), and a MO (Magneto-Optical disk), and installing the programs PI, P2 in a computer, an apparatus that performs the above-described processing can be constituted.
[0099] Further, the programs PI, P2 can be stored in a disk device possessed by a server device on a communication network, such as the Internet, and downloaded to a computer, for example, by being superimposed on a carrier wave.
[0100] Further, the above-described processing can be implemented by transmitting the programs PI, P2 via a network, such as the Internet, while starting execution.
[0101] Further, the above-described processing can be implemented by executing all or a part of the programs PI, P2 on a server device, while transmitting and receiving information related to the processing by a computer via a communication network.
[0102] Further, in a case where the above-described function is implemented by an OS or in a case where the above-described function is implemented by cooperative action between an OS and an application program, only a part other than the OS can be distributed to a medium, or can be downloaded to a computer.
[0103] In addition, the means for realizing the functions of the license management system 10 is not limited to software, and a part or all thereof can be realized by a dedicated hardware or circuit.
[0104] The present application can realize various embodiments and modifications without departing from the broad spirit and scope of the present application. In addition, the above-described embodiments are for describing the present application, and are not intended to limit the scope of the present application. That is, the scope of the present application is indicated by the claims rather than the embodiments. And, various modifications implemented within the scope of the claims and the meaning equivalent thereto are considered to fall within the scope of the present application.
[0105] Industrial applicability
[0106] The present application is suitable for management of a pass for accepting a cloud service.
[0107] Explanation of reference numerals
[0108] 10 license management system, 20-22 application provider, 30-33 application, 40 cloud server, 41 cloud infrastructure, 51 processor, 52 main storage section, 53 auxiliary storage section, 54 input section, 55 output section, 56 communication section, 57 internal bus, 61 acquisition section, 62 execution section, 63 provision section, 64 management section, 640 license management DB, 641 temporary DB, 65 collection section, 650 object data DB, 66 output section, 71-73 row data, 74, 76, 77 column, D11, D12 data, NW network, P1, P2 program, U1, U101-U103, U111-U114, U2, U201-U205, U211-U214, U3, U301-U306, U311-U314 object.
Claims
1. A license management system having: a taking unit that takes application software; an executing unit that executes the application software; a providing unit that provides a function that is exercised by execution of the application software to a license taking object that has taken a license via a network; a managing unit that manages a new license taking object that is issued from the license taking object in a range equivalent to or within a license range of the function for which the license taking object has taken the license, in association with the application software that is a target of the license; and a collecting unit that collects object data that is at least one of data for use of the function by the license taking object and data generated by use of the function, from the license taking object respectively.
2. The license management system according to claim 1, wherein the managing unit manages a database that indicates a plurality of the license taking objects including a license issuing object that is the license taking object to which the license is issued and the new license taking object, by recording data that indicates the new license taking object when license information that indicates that the new license taking object is generated is taken.
3. The license management system according to claim 2, wherein the providing unit provides the function of the application software in the license range that the license taking object has taken the license to the license taking object, the managing unit takes range information that indicates the license range of the new license taking object and the license information, and manages the database that shows the corresponding license range in association with a plurality of the license taking objects respectively.
4. The license management system according to claim 1, wherein the collecting unit collects the object data of one of the license taking objects via other of the license taking objects to which the license is issued or via other of the license taking objects from which the license is issued.
5. The license management system according to claim 1 or 4, wherein the collecting unit excludes the object data from a collection target in a case where the object data is not provided by the license taking object.
6. The license management system according to claim 2 or 3, wherein the managing unit manages the database that indicates an issuance relationship of the license among a plurality of the license taking objects by recording data that indicates that the license is issued from the license issuing object to the new license taking object if the license information is taken.
7. A license management system having: a taking unit that takes application software; an executing unit that executes the application software; provides a function to be exerted by execution of the application software to a license acquisition object that has acquired a license via a network; and a management unit manages a new license acquisition object that is generated by issuing the license from the license acquisition object in a range equivalent to or within a license range of the function for which the license acquisition object has acquired the license, in association with the application software that is a target of the license, the management unit manages the database that hierarchically shows a plurality of the license acquisition objects including the license issuance object and the new license acquisition object by recording data indicating that the new license acquisition object belongs to a lower layer than the layer to which the license issuance object that has issued the license belongs, if license information indicating that the new license acquisition object is generated is acquired.
8. The license management system according to claim 7, wherein the management unit manages the database indicating the issuance relationship of the license between the layers to which the plurality of the license acquisition objects respectively belong, by recording data indicating that the license is issued from the license issuance object to the new license acquisition object, if the license information is acquired.
9. The license management system according to claim 7 or 8, wherein the management unit deletes, from the database, data indicating the license acquisition object belonging to a lower layer than the layer corresponding to the upper limit value, in a case where the upper limit value of the repeated issuance of the license of the license issuance object by the new license acquisition object is reduced.
10. A license management system having: an acquisition unit that acquires application software; an execution unit that executes the application software; a provision unit that provides a function to be exerted by execution of the application software to a license acquisition object that has acquired a license via a network; and a management unit that manages a new license acquisition object that is generated by issuing the license from the license acquisition object in a range equivalent to or within a license range of the function for which the license acquisition object has acquired the license, in association with the application software that is a target of the license, the management unit manages a database indicating the issuance relationship of the license among a plurality of the license acquisition objects including the license issuance object and the new license acquisition object, by recording data indicating that the license is issued from the license issuance object that has issued the license to the new license acquisition object, if license information indicating that the new license acquisition object is generated is acquired, The management unit manages, for a new license acquisition object generated by issuance of the license from the license acquisition object to the same extent as or within the license range of the function for which the license acquisition object has acquired the license, the new license acquisition object in association with the application software that is the target of the license.
11. A license management system having: an acquisition unit that acquires application software; an execution unit that executes the application software; a provision unit that provides a function that is exercised by execution of the application software to a license acquisition object that has acquired a license via a network; and a management unit that manages, for a new license acquisition object generated by issuance of the license from the license acquisition object to the same extent as or within the license range of the function for which the license acquisition object has acquired the license, the new license acquisition object in association with the application software that is the target of the license, the management unit, if license information indicating that the new license acquisition object has been generated is acquired, manages a database indicating the issuance relationship of the license among a plurality of the license acquisition objects including a license issuance object and the new license acquisition object by recording data indicating that the license has been issued from the license acquisition object that has been issued the license, i.e., a license issuance object, to the new license acquisition object, the provision unit, with reference to the database, determines the function that should be provided to a specific license issuance object based on the provision of the function to the license acquisition object that has been issued the license directly or indirectly from the license issuance object.
12. A license management method including the following processes: an execution unit executes application software, a provision unit provides a function that is exercised by execution of the application software to a license acquisition object that has acquired a license via a network, a management unit manages, for a new license acquisition object generated by issuance of the license from the license acquisition object to the same extent as or within the license range of the function for which the license acquisition object has acquired the license, the new license acquisition object in association with the application software that is the target of the license, a collection unit collects object data, which is at least one of data for use of the function by the license acquisition object and data generated by use of the function, from the license acquisition object.
13. A license management method including the following processes: an execution unit executes application software, a provision unit provides a function that is exercised by execution of the application software to a license acquisition object that has acquired a license via a network, the management unit manages a new license acquisition object, which is generated by issuing the license from the license acquisition object in a range equivalent to or within a license range of the function for which the license is acquired by the license acquisition object, in association with the application software that is a target of the license, the management unit manages a database that hierarchically shows a plurality of the license acquisition objects including the license issuance object and the new license acquisition object by recording data indicating that the new license acquisition object belongs to a lower layer than a layer to which the license issuance object that is the license acquisition object from which the license is issued belongs, if license information indicating that the new license acquisition object is generated is acquired.
14. A license management method including processes of: an execution unit executing application software, a provision unit providing a function that is exerted by execution of the application software to a license acquisition object that acquires a license via a network, a management unit managing a new license acquisition object, which is generated by issuing the license from the license acquisition object in a range equivalent to or within a license range of the function for which the license is acquired by the license acquisition object, in association with the application software that is a target of the license, the management unit managing a database indicating an issuance relationship of the license among a plurality of the license acquisition objects including the license issuance object and the new license acquisition object by recording data indicating that the license is issued from the license acquisition object that is the license issuance object to the new license acquisition object, if license information indicating that the new license acquisition object is generated is acquired, the management unit changing data related to the license that is issued directly or indirectly from a specific license issuance object to the license acquisition object in a case where a change related to the license acquired by the specific license issuance object is generated.
15. A license management method including processes of: an execution unit executing application software, a provision unit providing a function that is exerted by execution of the application software to a license acquisition object that acquires a license via a network, a management unit managing a new license acquisition object, which is generated by issuing the license from the license acquisition object in a range equivalent to or within a license range of the function for which the license is acquired by the license acquisition object, in association with the application software that is a target of the license, the management unit managing a database indicating an issuance relationship of the license among a plurality of the license acquisition objects including the license issuance object and the new license acquisition object by recording data indicating that the license is issued from the license acquisition object that is the license issuance object to the new license acquisition object, if license information indicating that the new license acquisition object is generated is acquired, the management unit manages a database indicating the issuance relationship of the license with respect to a plurality of the license acquisition objects including the license issuance object and the new license acquisition object, by recording data indicating that the license was issued from the license issuance object to the new license acquisition object, if license information indicating that the new license acquisition object was generated is acquired, the provision unit refers to the database, and decides the function that should be provided to the license issuance object, based on the provision of the function with respect to the license acquisition object to which the license was issued directly or indirectly from the specific license issuance object.
16. A recording medium that is a computer-readable recording medium storing a program for causing a computer connected to a network to function as: an acquisition unit that acquires application software; an execution unit that executes the application software; a provision unit that provides a function that is exercised by execution of the application software to a license acquisition object that has acquired a license via a network; a management unit that manages a new license acquisition object that was generated by issuance of the license from the license acquisition object that has acquired the function of the license, in a range equivalent to or within a license range of the function of the license acquired by the license acquisition object, in association with the application software that is a target of the license; and a collection unit that collects object data from the license acquisition object, the object data being at least one of data for use of the function by the license acquisition object and data generated by use of the function, respectively.
17. A recording medium that is a computer-readable recording medium storing a program for causing a computer connected to a network to function as: an acquisition unit that acquires application software; an execution unit that executes the application software; a provision unit that provides a function that is exercised by execution of the application software to a license acquisition object that has acquired a license via a network; and a management unit that manages a new license acquisition object that was generated by issuance of the license from the license acquisition object that has acquired the function of the license, in a range equivalent to or within a license range of the function of the license acquired by the license acquisition object, in association with the application software that is a target of the license, the management unit manages a database indicating a plurality of the license acquisition objects including the license issuance object and the new license acquisition object, by recording data indicating that the new license acquisition object belongs to a lower layer than the license issuance object that has issued the license, if license information indicating that the new license acquisition object was generated is acquired.
18. A recording medium that is a computer-readable recording medium storing a program that causes a computer connected to a network to function as the following units: an acquisition unit that acquires application software; an execution unit that executes the application software; a provision unit that provides a function that is exercised by execution of the application software to a license acquisition object that has acquired a license via a network; and a management unit that manages, in association with the application software that is a target of the license, a new license acquisition object that is generated from the license acquisition object to which the license is issued in a range equivalent to or within a license range of the function of the license acquisition object that has acquired the license from the application software, the management unit manages, if license information indicating that the new license acquisition object is generated is acquired, a database indicating an issuance relationship of the license among a plurality of the license acquisition objects including a license issuance object from which the license is issued to the new license acquisition object by recording data indicating that the license is issued from the license issuance object to which the license is issued to the new license acquisition object, the management unit changes data related to the license that is issued directly or indirectly from a particular license issuance object to the license acquisition object in a case where a change related to the license acquired by the particular license issuance object is generated.
19. A recording medium that is a computer-readable recording medium storing a program that causes a computer connected to a network to function as the following units: an acquisition unit that acquires application software; an execution unit that executes the application software; a provision unit that provides a function that is exercised by execution of the application software to a license acquisition object that has acquired a license via a network; and a management unit that manages, in association with the application software that is a target of the license, a new license acquisition object that is generated from the license acquisition object to which the license is issued in a range equivalent to or within a license range of the function of the license acquisition object that has acquired the license from the application software, the management unit manages, if license information indicating that the new license acquisition object is generated is acquired, a database indicating an issuance relationship of the license among a plurality of the license acquisition objects including a license issuance object from which the license is issued to the new license acquisition object by recording data indicating that the license is issued from the license issuance object to which the license is issued to the new license acquisition object, the provision unit refers to the database and decides the function that should be provided to a particular license issuance object based on provision of the function to the license acquisition object from which the license is issued directly or indirectly from the particular license issuance object.
Citation Information
Patent Citations
Portal provision system and portal provision method
JP2021002128A
Software license management system and management method
CN109313675A
Information processing device
JP2021125264A