Terminal device, in-organization management device, license management system, license management method, and program
The system manages software usage by transmitting data to an in-organization management device for real-time compliance and to a global management device for long-term tracking, addressing the challenge of network disconnection in existing systems.
Patent Information
- Application Number
- JP2024055308
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-29
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2044-03-29
AI Technical Summary
Existing software management systems fail to manage software usage appropriately when the terminal device is not connected to a global communications network.
A system where terminal devices transmit usage information to an in-organization management device via an in-organization communication network, allowing management of software usage even when disconnected from the global network, with additional reporting to a global management device when connected.
Enables real-time and long-term management of software usage, ensuring compliance with usage limits while protecting user privacy and preventing information leakage.
Smart Images

Figure 2025153046000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a technology for managing software licenses. [Background technology]
[0002] There is known a method for managing whether software is being used in accordance with a contract (see, for example, Patent Document 1). For example, a terminal device transmits usage information including a software identifier to a management device via a global communication network (for example, the Internet), and the management device determines whether the use of the software is appropriate based on the usage information. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2010-287081 Summary of the Invention [Problem to be solved by the invention]
[0004] However, conventionally, if the terminal device on which the software is installed is not connected to a global communications network when the software is started, it has not been possible to manage whether the use of the software is appropriate.
[0005] In view of these points, the present invention aims to provide a technology that can manage whether or not the use of software is appropriate when the software is launched, even if the terminal device on which the software is installed is not connected to a global communications network. [Means for solving the problem]
[0006] When the terminal device starts the software, first usage information corresponding to an identifier that uniquely identifies the terminal device is transmitted to an in-organization management device connected to the in-organization communication network to which the terminal device is connected. [Effects of the Invention]
[0007] This makes it possible to manage whether or not the use of the software is appropriate even if the terminal device on which the software is installed is not connected to a global communications network when the software is started. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 is a block diagram illustrating a functional configuration of a license management system according to an embodiment. [Figure 2] FIG. 2 is a block diagram illustrating a functional configuration of a terminal device according to the embodiment. [Figure 3] FIG. 3 is a block diagram illustrating a functional configuration of the in-organization management device according to the embodiment. [Figure 4] FIG. 4 is a block diagram illustrating a functional configuration of a global management device according to an embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0009] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. [First embodiment] First, the first embodiment will be described. <Configuration> As illustrated in FIG. 1, the license management system 1 of this embodiment includes N terminal devices 11-1, ..., 11-N, an in-organization management device 12, and a global management device 13. Here, N is an integer equal to or greater than 1, e.g., N is an integer equal to or greater than 2. N may be fixed or variable. Each of the terminal devices 11-1, ..., 11-N is referred to as a terminal device 11-n. Here, n = 1, ..., N. Furthermore, the terminal devices 11-1, ..., 11-N are collectively referred to as a terminal device 11. The terminal devices 11-1, ..., 11-N and the in-organization management device 12 are communicatively connected via an in-organization communication network 101. The in-organization communication network 101 is a communication network closed to an organization such as a specific company, group, or community. Only terminal devices used by such a specific organization can be connected to the in-organization communication network 101. Examples of the in-organization communication network 101 include an intranet and a local area network (LAN). The terminal device 11-n and the global management device 13 can be communicatively connected via the global communication network 102. The terminal device 11-n may or may not always be connected to the global communication network 102. For example, the terminal device 11-n is not normally connected to the global communication network 102, but may be connected to the global communication network 102 periodically or irregularly. If the terminal device 11-n is connected to the global communication network 102, the terminal device 11-n and the global management device 13 can communicate with each other. If the terminal device 11-n is not connected to the global communication network 102, the terminal device 11-n and the global management device 13 cannot communicate with each other. An example of the global communication network 102 is the Internet.
[0010] 2, the terminal device 11-n of this embodiment has a storage unit 111-n, a processing unit 112-n, an internal communication unit 113-n, a global communication unit 114-n, and a memory 115-n. Information input to the terminal device 11-n and information output from each unit of the terminal device 11-n are stored in the memory 115-n one by one, and are read out and used as needed.
[0011] 3, the in-organization management device 12 of this embodiment has a storage unit 121, a processing unit 122, an in-organization communication unit 123, an output unit 124, and a memory 126. Information input to the in-organization management device 12 and information output from each unit of the in-organization management device 12 are stored in the memory 126 one by one, and are read out and used as needed.
[0012] 4, the global management device 13 of this embodiment has a storage unit 131, a processing unit 132, a global communication unit 135, an output unit 134, and a memory 136. Information input to the global management device 13 and information output from each unit of the global management device 13 are stored in the memory 136 one by one, and are read out and used as needed.
[0013] <Premise> In this embodiment, a contract (license contract) is concluded between a provider A (corporation or individual) of software α and a recipient B (corporation or individual) who is granted a license to use the software α. For example, the provider A is the administrator of the global management device 13, and the recipient B is the administrator of the intra-organizational communication network 101 and the intra-organizational management device 12. The contract in this embodiment specifies an upper limit γ of the number of terminal devices 11 that can use the software α. For example, the contract specifies an upper limit γ of the number of terminal devices 11 that can install the software α. The software α operates even if the terminal device 11 is not always connected to the global communication network 102. The software α is installed in at least one of the terminal devices 11-n. That is, the software α is set in the processing unit 112-n of the terminal device 11-n (FIG. 2) in which the software α is installed, and the processing unit 112-n can start the software α.
[0014] An identifier ID-n that uniquely identifies the terminal device 11-n is set to each terminal device 11-n (n∈{1,...,N}). Examples of the identifier ID-n include a universally unique identifier (UUID), a globally unique identifier (GUID) (e.g., Machine GUID), an international mobile equipment identity (IMEI), a unique device identifier (UDID), and an Android ID (SSAID). Other identifiers ID-n that uniquely identify each terminal device 11-n within a specific organization may also be set. The identifier ID-n uniquely identifies each terminal device 11-n, but is preferably information that does not specify the user of the terminal device 11-n (e.g., the user who logged in to the terminal device 11-n) (e.g., information that does not include user information). The identifier ID-n is stored in a storage unit 111-n of the terminal device 11-n (FIG. 2).
[0015] <Processing of terminal device 11-n (FIG. 2)> When the software α is installed in the terminal device 11-n (FIG. 2), the processing unit 112-n of the terminal device 11-n extracts the identifier ID-n from the storage unit 111-n when starting the software α, and generates and outputs usage information U1(ID-n) (first usage information) corresponding to the identifier ID-n. The usage information U1(ID-n) may be any information corresponding to the identifier ID-n. For example, the usage information U1(ID-n) may be a file whose file name includes the identifier ID-n, a file whose file name includes a function value of the identifier ID-n (e.g., a hash function value), text information including the identifier ID-n, or text including a function value of the identifier ID-n (e.g., a hash function value). The usage information U1(ID-n) may include additional information A(ID-n) other than the identifier ID-n. Examples of the additional information A(ID-n) may include information on the date and time when the software α was installed, information on the date and time when the software α was started, or the number of times the software α was started. However, it is desirable that the usage information U1(ID-n) is information that does not identify the user of the terminal device 11-n. The usage information U1(ID-n) is sent to the in-organization communication unit 113-n and the global communication unit 114-n (step S112).
[0016] The intra-organization communication unit 113-n transmits the usage information U1(ID-n) to the intra-organization management device 12 through the intra-organization communication network 101. That is, the intra-organization communication unit 113-n transmits the usage information U1(ID-n) to the intra-organization management device 12 connected to the intra-organization communication network 101 to which the terminal device 11-n is connected. Note that if the intra-organization communication unit 113-n cannot connect to the intra-organization communication network 101, the usage information U1(ID-n) may be stored in the memory 115-n. In this case, when the intra-organization communication unit 113-n can connect to the intra-organization communication network 101, the intra-organization communication unit 113-n may transmit the usage information U1(ID-n) to the intra-organization management device 12 via the intra-organization communication network 101. Alternatively, the next time the processing unit 112-n starts up the software α, the processing unit 112-n may send the usage information U1(ID-n) stored in the memory 115-n as is to the in-organization communication unit 113-n, and the in-organization communication unit 113-n may then transmit the usage information U1(ID-n) to the in-organization management device 12 via the in-organization communication network 101. Alternatively, the processing unit 112-n may send new usage information U1(ID-n) obtained by adding the latest additional information A(ID-n) to the usage information U1(ID-n) stored in the memory 115-n to the in-organization communication unit 113-n, and the in-organization communication unit 113-n may then transmit the usage information U1(ID-n) to the in-organization management device 12 via the in-organization communication network 101 (step S113).
[0017] The global communication unit 114-n determines whether the terminal device 11-n is connectable to the global communication network 102. In other words, the global communication unit 114-n determines whether the terminal device 11-n is permitted to connect to the global communication network 102. Whether the terminal device 11-n is connectable to the global communication network 102 may be set in advance or may be set by input. When the terminal device 11-n is connectable to the global communication network 102, the global communication unit 114-n transmits usage information U1(ID-n) as usage information U2(ID-n) (second usage information) to the global management device 13 via the global communication network 102. In other words, when the processing unit 112-n activates the software α and the terminal device 11-n is connectable to the global communication network 102, the global communication unit 114-n transmits usage information U2(ID-n) (second usage information) to the global management device 13 via the global communication network 102. In this embodiment, the usage information U2(ID-n) is the same as the usage information U1(ID-n). If the terminal device 11-n cannot connect to the global communication network 102, the usage information U2(ID-n) is not sent to the global management device 13.
[0018] <Processing of the in-house management device 12 (FIG. 3)> The intra-organization communication unit 123 of the intra-organization management device 12 (FIG. 3) receives the sent usage information U1(ID-n). That is, the intra-organization communication unit 123 is connected to the intra-organization communication network 101, and when the terminal device 11-n starts the software α, receives, from the terminal device 11-n connected to the intra-organization communication network 101, usage information U1(ID-n) (first usage information) corresponding to the identifier ID-n that uniquely identifies the terminal device 11-n. The usage information U1(ID-n) is stored in the memory unit 121. As a result, the memory unit 121 accumulates usage information U1(ID-n) sent from the terminal device 11-n (n∈{1, ..., N}) that started the software α (step S123).
[0019] The processing unit 122 of the in-house management device 12 periodically or irregularly extracts usage information U1(ID-n) (n∈{1, ..., N}) stored in the storage unit 121 during a period T1(t), and obtains and outputs usage information US1(t) representing the usage status of software α based on the extracted usage information U1(ID-n). t is an integer index representing the period T1(t). For example, t is an integer equal to or greater than 1. The period T1(t) may be a regular or irregular period. Examples of regular periods include one hour, one day, and one week. Examples of irregular periods include an arbitrarily specified period, a period during which a specified process is executed, a period during which a specified process is not executed, and a period from the generation of the previous usage information until a specified input is made. In this embodiment, the value of t increases with the time period T1(t), and the period following the period T1(t-1) is expressed as T1(t). The usage status information US1(t) may be any information based on the usage information U1(ID-n) and representing the usage status of the software α. For example, the usage status information US1(t) represents at least the number x(t) of terminal devices 11-n identified by the identifier ID-n corresponding to the usage information U1(ID-n) (first usage information). The number x(t) represents the number of terminal devices 11 that launched the software α during the period T1(t). The number x(t) is obtained by counting the types of identifiers ID-n corresponding to the usage information U1(ID-n) stored in the storage unit 121 during the period T1(t). For example, if the identifiers corresponding to the usage information stored in the storage unit 121 during the period T1(t) are ID-1, ID-1, ID-2, and ID-3, the number x(t) is 3. When the usage information U1(ID-n) includes additional information A(ID-n), the usage information US1(t) may include information based on the additional information A(ID-n) (n∈{1, ..., N}). For example, the usage information US1(t) may include statistical information on the additional information A(ID-n). For example, the usage information US1(t) may include statistical information on the date and time when the software α was started. The usage information US1(t) is sent to the output unit 124 (step S122).
[0020] The output unit 124 outputs the usage status information US1(t). For example, the output unit 124 outputs the usage status information US1(t) to a display unit (not shown) such as a display, and the display unit visually displays the usage status information US1(t). For example, the display unit may display the number x(t) or may display statistical information of the additional information A(ID-n) (step S124).
[0021] <Processing of the global management device 13 (Fig. 4)> The global communication unit 135 of the global management device 13 (FIG. 4) receives the sent usage information U2(ID-n). That is, when the terminal device 11-n that has started the software α connects to the global communication network 102, the global communication unit 135 receives, from the terminal device 11-n connected to the global communication network 102, usage information U2(ID-n) (second usage information) corresponding to the identifier ID-n that uniquely identifies the terminal device 11-n. The usage information U2(ID-n) is stored in the memory unit 131. As a result, the memory unit 131 accumulates usage information U2(ID-n) sent from the terminal device 11-n (n∈{1, ..., N}) that has started the software α (step S135).
[0022] The processing unit 132 of the global management device 13 periodically or irregularly extracts usage information U2(ID-n) (n∈{1, ..., N}) stored in the storage unit 131 during a period T2(u), and obtains and outputs usage status information US2(u) representing the usage status of software α based on the extracted usage information U2(ID-n). u is an integer index representing the period T2(u). For example, u is an integer greater than or equal to 1. The period T2(u) may be a fixed period or an irregular period. However, it is desirable that the length of the period T2(u) be longer than the length of the period T1(t). For example, it is desirable that the length of the period T2(u) be z times or more the length of the period T1(t). z is an integer greater than or equal to 2. This is because the frequency with which usage information U2(ID-n) is sent to the global management device 13 is lower than the frequency with which usage information U1(ID-n) is sent to the in-house management device 12. Therefore, if the length of period T2(u) is shorter than the length of period T1(t), sufficient information cannot be obtained to grasp the usage status of software α. In this embodiment, the newer the period T2(u), the larger the value of u, and the period following period T2(u-1) is expressed as T2(u). The usage status information US2(u) may be any information that is based on the usage information U2(ID-n) and represents the usage status of software α. For example, the usage status information US2(u) represents at least the number y(u) of terminal devices 11-n identified by the identifier ID-n corresponding to the usage information U2(ID-n) (second usage information). The number y(t) represents the number of terminal devices 11 that launched software α during period T2(u). The number y(u) is obtained by counting the types of identifiers ID-n corresponding to usage information U2(ID-n) stored in storage unit 131 during period T2(u). When usage information U2(ID-n) includes additional information A(ID-n), usage information US2(u) may include information based on additional information A(ID-n) (n∈{1, ..., N}). For example, usage information US2(u) may include statistical information on additional information A(ID-n). Usage information US2(u) may be sent to output unit 134 (step S132).
[0023] The output unit 134 outputs the usage status information US2(u). For example, the output unit 134 outputs the usage status information US2(u) to a display unit (not shown), such as a display, and the display unit visually displays the usage status information US2(u). For example, the display unit displays the number y(u) (step S134).
[0024] <Features of this form> In this embodiment, when the terminal device 11-n launches the software α, it transmits usage information U1(ID-n) (first usage information) corresponding to the identifier ID-n that uniquely identifies the terminal device 11-n to the in-organization management device 12 connected to the in-organization communication network 101 to which the terminal device 11-n is connected. The in-organization management device 12 outputs usage status information US1(t) that indicates the usage status of the software α based on the received usage information U1(ID-n). As a result, even if the terminal device 11-n in which the software α is installed is not connected to the global communication network 102 when the software α is launched, it is possible to manage whether the use of the software α is appropriate. For example, even if the software α operates without being connected to the global communication network 102, it is possible to manage whether the use of the software α is appropriate. For example, this management can be performed in real time.
[0025] The usage information US1(t) represents, for example, the number x(t) of terminal devices 11-n identified by the identifier ID-n corresponding to the usage information U1(ID-n) (first usage information). This number x(t) represents the number of terminal devices 11 that launched the software α during the period T1(t). Even if a contract specifies an upper limit γ on the number of terminal devices 11 on which the software α can be installed, the usage information US1(t) can be used to manage whether the software α is being used appropriately. If the usage information US1(t) includes statistical information on the additional information A(ID-n), such as the date and time when the software α was launched, the usage information US1(t) can be used to manage the usage status of the software α represented by the additional information A(ID-n). If the usage information U1(ID-n) and the identifier ID-n do not identify the user of the terminal device 11-n, the usage information US1(t) also does not identify the user of the terminal device 11-n. In this case, it is possible to manage whether or not the use of the software α is appropriate while preventing leakage of personal information of the user of the terminal device 11-n. In this case, it is not necessary to encrypt the usage status information US1(t).
[0026] Furthermore, in this embodiment, when the terminal device 11-n starts the software and is connectable to the global communication network 102, it transmits usage information U2(ID-n) (second usage information) corresponding to the identifier ID-n to the global management device 13 connected to the global communication network 102. The global management device 13 outputs usage status information US2(u) indicating the usage status of the software α based on the received usage information U2(ID-n). As a result, an outside party (e.g., provider A of the software α) who cannot connect to the internal communication network 101 cannot manage whether the use of the software α is appropriate in real time, but can manage whether the use of the software α was appropriate in the long term.
[0027] Preferably, the usage information US2(u) represents the number y(u) of terminal devices 11-n identified by the identifier ID-n corresponding to the usage information U2(ID-n) (second usage information). This number y(t) represents the number of terminal devices 11 that launched the software α during the period T2(u). This allows the use of the software α to be managed appropriately, even if a contract specifies an upper limit γ on the number of terminal devices on which the software α can be installed. If the usage information US2(u) includes statistical information on the additional information A(ID-n), such as the date and time when the software α was launched, the usage information US2(u) can be used to manage the usage status of the software α represented by the additional information A(ID-n). If the usage information U2(ID-n) and the identifier ID-n do not identify the user of the terminal device 11-n, the usage information US2(u) also does not identify the user of the terminal device 11-n. In this case, it is possible to manage whether or not the use of the software α is appropriate while preventing leakage of personal information of the user of the terminal device 11-n. In this case, it is not necessary to encrypt the usage status information US2(u).
[0028] [Modification 1 of the First Embodiment] In the first embodiment, an example was shown in which the usage status information US1(t) represents at least the number x(t) of terminal devices 11-n identified by an identifier ID-n corresponding to the usage information U1(ID-n) (first usage information). However, the usage status information US1(t) may represent time-series information of the numbers x(t1), x(t1+1), …, x(t-1), x(t) of the terminal devices 11-n identified by the identifier ID-n corresponding to the usage information U1(ID-n) (first usage information). That is, the usage status information US1(t) may represent time-series information of the numbers x(t1), x(t1+1), …, x(t-1), x(t) of the terminal devices 11 that have started the software α in the periods T1(t1), T1(t1+1), …, T1(t-1), T1(t). Here, t1 < t1+1 < … < t-1 < t, and t1 is an integer index representing the period T1(t1). For example, t1 is an integer of 1 or more. The time-series information of the numbers x(t1), x(t1+1), …, x(t-1), x(t) represents how the number of the terminal devices 11 that have started the software α has changed in each of the periods T1(t1), T1(t1+1), …, T1(t-1), T1(t).
[0029] For example, when the upper limit γ of the number of terminal devices 11 that can use the software α is limited to 3, it is assumed that in the periods T1(1), T1(2), T1(3), T1(4), T1(5), the number x(t) of the terminal devices 11 that have started the software α has changed as 2, 3, 3, 4, 3 (Example 1-1). [Table 1] Here, in period T1(4), the number of terminal devices 11-n that have started software α is four, and the number x(t) of terminal devices 11 that have started software α temporarily exceeds the upper limit γ=3. However, in the next period T1(5), the number x(t) of terminal devices 11 that have started software α is three, and the number x(t) does not exceed the upper limit γ. In such a case, it can be predicted that software α that was installed in one of the terminal devices 11 in period T1(4) was deleted, and that software α was instead installed in another terminal device 11. In such a case, it can be assumed that software α was used appropriately.
[0030] On the other hand, for example, if the upper limit γ of the number of terminal devices 11 that can use software α is limited to 3, then suppose that the number x(t) of terminal devices 11-n that have started software α fluctuates as 2, 3, 3, 4, and 4 during periods T1(1), T1(2), T1(3), T1(4), and T1(5) (Example 1-2). [Table 2] Here, in period T1(4), the number of terminal devices 11 that have started software α is four, which exceeds the upper limit γ=3 for the number of terminal devices 11 that have started software α. Furthermore, in the next period T1(5), the number of terminal devices 11 that have started software α is also four, which exceeds the upper limit γ for the number of terminal devices 11 that have started software α. In such a case, it can be predicted that software α was newly installed on another terminal device 11 without deleting software α that had been installed on terminal device 11 in period T1(4). Therefore, in such a case, it can be assumed that software α was being used inappropriately.
[0031] In this way, when the usage status information US1(t) represents time-series information on the numbers x(t1), x(t1+1), ..., x(t-1), x(t) of terminal devices 11-n identified by identifiers ID-n corresponding to usage information U1(ID-n) (first usage information) received by the internal management device 12 over multiple periods T1(t1), T1(t1+1), ..., T1(t-1), T1(t), respectively, it is possible to manage how the numbers x(t1), x(t1+1), ..., x(t-1), x(t) of terminal devices 11 that have started software α have changed over time. As a result, it is possible to more accurately manage whether software α has been used appropriately.
[0032] In such a case, the processing unit 122 of the in-house management device 12 (FIG. 3) may further use time-series information on the number of terminal devices 11 to estimate whether the software α has been used appropriately, and output usage status information US1(t) representing the estimation result. For example, if none of the numbers x(t1), x(t1+1), ..., x(t-1), x(t) exceeds the upper limit γ, the processing unit 122 outputs usage status information US1(t) indicating the estimated result that the software α has been used appropriately. For example, the processing unit 122 outputs usage status information US1(t) indicating an estimation result that the software α has been used appropriately if, among the quantities x(t1), x(t1+1), ..., x(t-1), x(t), the quantity x(t2) exceeds the upper limit γ in any period T1(t2) ∈ {T1(t1), T1(t1+1), ..., T1(t-1), T1(t)}, and the quantity x(t3) does not exceed the upper limit γ in a subsequent period T1(t3) ∈ {T1(t1), T1(t1+1), ..., T1(t-1), T1(t)}. For example, the period T1(t3) is the period following the period T1(t2). · For example, among the quantities x(t1), x(t1+1), …, x(t-1), x(t), if the quantity x(t2) exceeds the upper limit γ during any period T1(t2) ∈ {T1(t1), T1(t1+1), …, T1(t-1), T1(t)}, and the quantity x(t3) also exceeds the upper limit γ during a subsequent period T1(t3) ∈ {T1(t1), T1(t1+1), …, T1(t-1), T1(t)}, the processing unit 122 outputs usage status information US1(t) indicating an estimation result that the software α has not been appropriately used.
[0033] [Modification Example 2 of the First Embodiment] Similarly, in the first embodiment, an example was shown in which the usage status information US2(u) represents at least the number y(u) of the terminal devices 11-n identified by the identifier ID-n corresponding to the usage information U2(ID-n) (second usage information). However, the usage status information US2(u) may represent the time-series information of the numbers y(u1), y(u1+1), …, y(u-1), y(u) of the terminal devices 11-n identified by the identifier ID-n corresponding to the usage information U2(ID-n) (second usage information). That is, the usage status information US2(u) may represent the time-series information of the numbers y(u1), y(u1+1), …, y(u-1), y(u) of the terminal devices 11 that have activated the software α during the periods T2(u1), T2(u1+1), …, T2(u-1), T2(u). Here, u1 < u1+1 < … < u-1 < u, and u1 is an integer index representing the period T2(u1). For example, u1 is an integer of 1 or more. Each of the periods T2(u1), T2(u1+1), …, T2(u-1), T2(u) is preferably a period longer than any of the periods T1(t1), T1(t1+1), …, T1(t-1), T1(t). The time-series information of the numbers y(u1), y(u1+1), …, y(u-1), y(u) represents how the number of the terminal devices 11 that have activated the software α has changed during each of the periods T2(u1), T2(u1+1), …, T2(u-1), T2(u).
[0034] When the usage status information US2(u) represents time-series information of the numbers y(u1), y(u1+1), ..., y(u-1), y(u) of terminal devices 11-n identified by identifiers ID-n corresponding to usage information U2(ID-n) (second usage information) received by the global management device 13 over multiple periods T2(u1), T2(u1+1), ..., T2(u-1), T2(u), respectively, it is possible to manage how the numbers y(u1), y(u1+1), ..., y(u-1), y(u) of terminal devices 11 that have started software α have changed over time. As a result, it is possible to more accurately manage whether software α has been used appropriately.
[0035] In such a case, the processing unit 132 of the global management device 13 (Figure 4) may further use time-series information on the number of terminal devices 11 to estimate whether the software α has been used appropriately, and output usage status information US2(u) representing the estimated result. For example, if none of the numbers y(u1), y(u1+1), ..., y(u-1), y(u) exceeds the upper limit γ, the processing unit 132 outputs usage status information US2(u) indicating the estimated result that the software α has been used appropriately. For example, if the quantity y(u2) exceeds the upper limit γ in any period T2(u2)∈{T2(u1), T2(u1+1), ..., T2(u-1), T2(u)} among the quantities y(u1), y(u1+1), ..., y(u-1), y(u), and if the quantity y(u3) does not exceed the upper limit γ in a subsequent period T2(u3)∈{T2(u1), T2(u1+1), ..., T2(u-1), T2(u)}, the processing unit 132 outputs usage status information US2(u), which indicates an estimation result that the software α has been used appropriately. For example, period T2(u3) is the period following period T2(u2). For example, if the quantity y(u2) exceeds the upper limit γ in any period T2(u2)∈{T2(u1), T2(u1+1), ..., T2(u-1), T2(u)} among the quantities y(u1), y(u1+1), ..., y(u-1), y(u), and the quantity y(u3) also exceeds the upper limit γ in a later period T2(u3)∈{T2(u1), T2(u1+1), ..., T2(u-1), T2(u)}, the processing unit 132 outputs usage status information US2(u), which indicates an estimation result that the software α has not been used appropriately.
[0036] [Modification 3 of the First Embodiment] In the first embodiment, the usage information U2(ID-n) transmitted from the terminal device 11-n to the global management device 13 was identical to the usage information U1(ID-n) transmitted to the in-house management device 12. However, the usage information U2(ID-n) may be any information corresponding to the identifier ID-n, and does not have to be identical to the usage information U1(ID-n). For example, the usage information U2(ID-n) may be a file with the identifier ID-n as its file name, a file with the function value of the identifier ID-n as its file name, text information including the identifier ID-n, or text including the function value of the identifier ID-n. The usage information U2(ID-n) may include additional information other than the identifier ID-n. Examples of the additional information are as described above. It is also desirable that the usage information U2(ID-n) be information that does not identify the user of the terminal device 11-n. For example, even if the usage information U1(ID-n) is information that identifies the user of the terminal device 11-n, it is desirable that the usage information U2(ID-n) is information that does not identify the user of the terminal device 11-n. Because the usage information U1(ID-n) is information that is transmitted to the internal communication network 101, even if the usage information U1(ID-n) is information that identifies the user of the terminal device 11-n, the scope of information leakage is limited to the internal communication network 101. In contrast, because the usage information U2(ID-n) is information that is transmitted to the global communication network 102, if the usage information U1(ID-n) is information that identifies the user of the terminal device 11-n, the scope of information leakage will expand to the global communication network 102.
[0037] [Second embodiment] When the internal management device is connectable to the global communication network, the usage status information US1(t) obtained by the internal management device may be transmitted to the global management device connected to the global communication network. The following description will focus on the differences from the first embodiment, and the same reference numerals will be used to simplify the description of common features.
[0038] <Configuration> As shown in FIG. 1, the license management system 2 of this embodiment includes N terminal devices 11-1, . . . , 11-N, an in-house management device 22, and a global management device .
[0039] 3, the in-organization management device 22 of this embodiment has a storage unit 121, a processing unit 222, an in-organization communication unit 123, an output unit 124, a global communication unit 225, and a memory 126. Information input to the in-organization management device 22 and information output from each unit of the in-organization management device 22 are stored in the memory 126 one by one, and are read out and used as needed.
[0040] 4, the global management device 23 of this embodiment has a storage unit 131, a processing unit 232, a global communication unit 135, an output unit 134, and a memory 136. Information input to the global management device 23 and information output from each unit of the global management device 23 are stored in the memory 136 one by one, and are read out and used as needed.
[0041] <Premise> The premise is the same as that of the first embodiment, except that the in-organization management device 12 and the global management device 13 are replaced with an in-organization management device 22 and a global management device 23, respectively.
[0042] <Processing of terminal device 11-n (FIG. 2)> The processing is the same as that of the terminal device 11-n in the first embodiment, except that the in-house management device 12 and the global management device 13 are replaced with the in-house management device 22 and the global management device 23, respectively.
[0043] <Processing of the in-house management device 22 (FIG. 3)> The internal management device 22 executes the process of step S123 instead of the internal management device 12. As a result, the usage information U1(ID-n) is stored in the memory unit 121 of the internal management device 22 (step S123). The processing unit 222 of the internal management device 22 periodically or irregularly extracts the usage information U1(ID-n) (n∈{1, ..., N}) stored in the memory unit 121 during the period T1(t), and obtains and outputs usage information US1(t) representing the usage status of the software α based on the extracted usage information U1(ID-n). The details are as described in the first embodiment. The usage information US1(t) is sent to the global communication unit 225 and the output unit 124 (step S222).
[0044] The internal management device 22, instead of the internal management device 12, executes the process of step S124 described in the first embodiment. As a result, the output unit 124 of the internal management device 22 outputs the usage information US1(t) (step S124). Furthermore, when the internal management device 22 is connectable to the global communication network 102, the global communication unit 225 transmits the usage information US1(t) to the global management device 23 via the global communication network 102 (step S225).
[0045] <Processing of the global management device 23 (FIG. 4)> The global management device 23, instead of the global management device 13, executes the process of step S135 described in the first embodiment. As a result, the usage information U2(ID-n) is stored in the memory unit 131 of the global management device 23 (step S135). Furthermore, the global communication unit 135 of the global management device 23 receives, via the global communication network 102, the usage information US1(t) transmitted from the in-organization management device 22 connected to the global communication network 102. The received usage information US1(t) is stored in the memory unit 131 (step S235).
[0046] The processing unit 132 of the global management device 23 periodically or irregularly extracts usage information U2(ID-n) (n∈{1, ..., N}) stored in the storage unit 131 during a period T2(u), and obtains usage status information US2(u) that indicates the usage status of the software α based on the extracted usage information U2(ID-n). The details are as described in the first embodiment. The usage status information US2(u) is sent to the output unit 134 (step S132).
[0047] In the second embodiment, processing unit 132 further extracts usage status information US1(t) from storage unit 132, and obtains and outputs usage status information US3 (third usage status information) based on usage status information US1(t) and usage status information US2(u). Usage status information US3 may represent, for example, both usage status information US1(t) and usage status information US2(u). For example, if usage status information US1(t) represents the number x(t) in period T1(t) and usage status information US2(u) represents the number y(u) in period T2(u), usage status information US3 may represent the number x(t) and the number y(t). For example, if usage information US1(t) represents time series information of the numbers x(t1), x(t1+1), ..., x(t-1), x(t) in periods T1(t1), T1(t1+1), ..., T1(t-1), T1(t), and usage information US2(u) represents time series information of the numbers y(u1), y(u1+1), ..., y(u-1), y(u) in periods T2(u1), T2(u1+1), ..., T2(u-1), T2(u), usage information US3 may represent the numbers x(t1), x(t1+1), ..., x(t-1), x(t) and the numbers y(u1), y(u1+1), ..., y(u-1), y(u).
[0048] For example, the usage information US3 may indicate whether the usage information US1(t) and the usage information US2(u) are consistent. For example, if the usage information US1(t) indicates the number x(t) in a period T1(t), the usage information US2(u) indicates the number y(u) in a period T2(u), and the period T1(t) is included in the period T2(u), the usage information US3 may indicate whether the number x(t) and the number y(u) are consistent, or whether the difference between the number x(t) and the number y(u) is equal to or less than a reference value. For example, if usage information US1(t) represents time-series information on the numbers x(t1), x(t1+1), ..., x(t-1), and x(t) over periods T1(t1), T1(t1+1), ..., T1(t-1), and T1(t), usage information US2(u) represents at least the number y(u) over period T2(u), and periods T1(t1), T1(t1+1), ..., T1(t-1), and T1(t) are included in period T2(u), usage information US3 may represent whether the sum of the numbers x(t1), x(t1+1), ..., x(t-1), and x(t) matches the number y(u), or whether the difference between the sum and the number y(u) is equal to or less than a reference value. The usage information US3 is sent to output unit 134.
[0049] The output unit 134 outputs the usage status information US2(u) and the usage status information US3. For example, the output unit 134 outputs the usage status information US2(u) and the usage status information US3 to a display unit (not shown), which visually displays the usage status information US2(u) and the usage status information US3. Alternatively, the output unit 134 may output the usage status information US3 without outputting the usage status information US2(u). For example, the output unit 134 may output the usage status information US3 to a display unit (not shown), which visually displays the usage status information US3 (step S234).
[0050] <Features of this form> In this embodiment, the same effects as in the first embodiment can be obtained. Furthermore, in this embodiment, when the in-house management device 22 is connectable to the global communication network 102, the usage information U1(ID-n) (first usage information) output from the in-house management device 22 is transmitted to the global management device 23 connected to the global communication network 102. This allows the global management device 23 to more accurately manage whether the software α has been used appropriately.
[0051] [Modification of the second embodiment] In the second embodiment, the same modifications as the first, second, and third modifications of the first embodiment are possible.
[0052] [Hardware configuration] The functions performed by the components described herein may be implemented in circuitry or processing circuitry, including general-purpose processors, application-specific processors, integrated circuits, ASICs (Application Specific Integrated Circuits), a CPU (a Central Processing Unit), conventional circuits, and / or combinations thereof, programmed to perform the described functions. A processor includes transistors and other circuits and is considered to be circuitry or processing circuitry. A processor may also be a programmed processor that executes programs stored in memory.
[0053] In this specification, a circuitry, unit, or means is hardware that is programmed to realize or performs the described functions, which may be any hardware disclosed herein or any hardware known to be programmed to realize or perform the described functions.
[0054] If the hardware is a processor considered to be a type of circuitry, the circuitry, means, or unit is a combination of the hardware and software used to configure the hardware and / or processor.
[0055] For example, the terminal device 11-n, the in-house management devices 12 and 22, and the global management devices 13 and 23 in each embodiment are devices configured by a general-purpose or dedicated computer that includes a processor (hardware processor) such as a central processing unit (CPU), memories such as random-access memory (RAM) and read-only memory (ROM), a communication device, a display device, and the like, executing a predetermined program. That is, the terminal device 11-n, the in-house management devices 12 and 22, and the global management devices 13 and 23 in each embodiment each have, for example, a processing circuit configured to implement each of the components. This computer may have one processor and memory, or multiple processors and memories. This program may be installed on the computer or may be pre-recorded in a ROM or the like. Furthermore, some or all of the processing units may be configured using electronic circuits that independently realize processing functions, rather than electronic circuits that realize functional configurations by loading programs like a CPU. Furthermore, the electronic circuits that make up a single device may include multiple CPUs.
[0056] The program describing this processing can be recorded on a computer-readable recording medium. Examples of computer-readable recording media are non-transitory recording media. Examples of such recording media include magnetic recording devices, optical disks, magneto-optical recording media, and semiconductor memories.
[0057] The program may be distributed, for example, by selling, transferring, lending, etc. a portable recording medium such as a DVD or CD-ROM on which the program is recorded. Furthermore, the program may be stored in a storage device of a server computer, and then transferred from the server computer to another computer via a network, thereby distributing the program.
[0058] A computer that executes such a program may first temporarily store the program recorded on a portable recording medium or transferred from a server computer in its own storage device. Then, when executing a process, the computer reads the program stored on its own recording medium and executes the process in accordance with the read program. Alternatively, the computer may read the program directly from a portable recording medium and execute the process in accordance with the program. Furthermore, the computer may execute the process in accordance with the program each time a program is transferred from a server computer to the computer. The server computer may not transfer the program to the computer, but may instead execute the process through a so-called ASP (Application Service Provider) service, which realizes the processing function by issuing an execution instruction and obtaining the results. Furthermore, the server computer may execute the process on a terminal using a so-called SaaS (Software as a Service) service, which allows users to use part of the server computer along with the program. In this embodiment, the program includes information used for computer processing that is equivalent to a program (such as data that is not a direct instruction to the computer but has properties that define computer processing).
[0059] Furthermore, in this embodiment, the device is configured by executing a predetermined program on a computer, but at least a part of the processing contents may be realized by hardware.
[0060] [Other variations] The present invention is not limited to the above-described embodiment. For example, the global communication unit 135 of the global management device 13, 23 may notify the terminal device 11 and / or the in-organization management device 12, 22 of the evaluation results based on the usage information US2(u) and the usage information US3 (for example, the number of terminal devices 11 on which the software α is installed and whether or not that number exceeds the upper limit γ specified in the contract) via the global communication network 102 by e-mail or the like.
[0061] Furthermore, the identifier ID-n does not have to be transmitted from the terminal device 11-n to the global management device 13, 23. Even in this case, it is possible for the in-house management devices 12, 22 to manage whether or not the software α is being used correctly, and the in-house management devices 12, 22 may notify the global management device 13, 23 of the result by e-mail or the like via the global communication network 102.
[0062] The various processes described above may not only be executed in chronological order as described, but may also be executed in parallel or individually depending on the processing capabilities of the devices executing the processes or as necessary. Needless to say, other modifications are possible within the scope of the present invention.
[0063] [Note] The above contents are listed below. [Appendix 1] A terminal device, a processing unit in which the software is installed; an internal communication unit that, when the processing unit starts the software, transmits first usage information corresponding to an identifier that uniquely identifies the terminal device to an internal management device connected to an internal communication network to which the terminal device is connected; a global communication unit that transmits second usage information corresponding to the identifier to a global management device connected to the global communication network when the processing unit starts the software and the terminal device is connectable to the global communication network; A terminal device having the above configuration.
[0064] [Appendix 2] An in-house management device, an internal communication unit connected to an internal communication network, which receives, when a terminal device starts software, first usage information corresponding to an identifier that uniquely identifies the terminal device from the terminal device connected to the internal communication network; an output unit that outputs usage status information that indicates a usage status of the software based on the first usage information; An in-organization management device having the above.
[0065] [Appendix 3] 1. An internal management device according to claim 2, comprising: The in-organization management device, wherein the usage status information indicates at least the number of the terminal devices identified by the identifier corresponding to the first usage information.
[0066] [Appendix 4] 1. An internal management device according to claim 2, comprising: The in-house management device, wherein the usage status information represents at least time-series information on the number of the terminal devices that have activated the software during each of a plurality of periods.
[0067] [Appendix 5] 5. The internal management device of claim 4, a processing unit that uses the time-series information of the number to estimate whether the software has been used appropriately, The usage status information indicates an estimation result as to whether the software has been used appropriately.
[0068] [Appendix 6] 1. An internal management device according to claim 2, comprising: The internal management device has a global communication unit that transmits the usage information to a global management device connected to the global communication network when the internal management device is connectable to the global communication network.
[0069] [Appendix 7] a global management device, a global communication unit that receives, via a global communication network, the usage status information transmitted from the internal management device of Supplementary Note 6 and second usage information transmitted from the terminal device that started the software, the second usage information corresponding to an identifier that uniquely identifies the terminal device; an output unit that outputs third usage status information based on the usage status information and second usage status information that represents the usage status of the software based on the second usage information; A global management device having:
[0070] [Appendix 8] 8. The global management device of claim 7, comprising: The third usage status information indicates whether the usage status information and the second usage status information are consistent with each other. [Explanation of symbols]
[0071] 1,2 License Management System 11 Terminal equipment 12,22 Internal management device 13,23 Global Management Device 101 Internal communication network 102 Global Communication Network 113,122 Internal Communications Department 114,135,225 Global Communications Department 122,132,222,232 Processing section
Claims
1. A terminal device, a processing unit in which software is installed; an internal communication unit that, when the processing unit starts the software, transmits first usage information corresponding to an identifier that uniquely identifies the terminal device to an internal management device connected to an internal communication network to which the terminal device is connected; a global communication unit that transmits second usage information corresponding to the identifier to a global management device connected to the global communication network when the processing unit starts the software and the terminal device is connectable to the global communication network; A terminal device having the above configuration.
2. An in-house management device, an intra-organization communication unit connected to an intra-organization communication network, which receives, when a terminal device starts software, first usage information corresponding to an identifier that uniquely identifies the terminal device from the terminal device connected to the intra-organization communication network; an output unit that outputs usage status information representing a usage status of the software based on the first usage information; An in-organization management device having the above.
3. 3. The in-organization management device according to claim 2, The usage status information indicates at least the number of the terminal devices identified by the identifiers corresponding to the first usage information.
4. A license management method for executing the processing of the terminal device of claim 1 or the processing of the in-organization management device of claim 2 or 3.
5. A program for causing a computer to execute the processing of the terminal device of claim 1 or the processing of the in-organization management device of claim 2 or 3.
Citation Information
Patent Citations
Data processor and storage medium
JP2000250751A
Management and introduction supporting method of software program, its executing equipment, and recording medium recorded its transaction program
JP2002006975A
License managing method for software and storage medium
JP2002222021A
System environment management program and system environment management device
JP2004341650A
Method and system for instrumenting software
JP2008520051A