US20020026588A1 - Dynamic resource control in a processing system - Google Patents

Dynamic resource control in a processing system Download PDF

Info

Publication number
US20020026588A1
US20020026588A1 US09/915,404 US91540401A US2002026588A1 US 20020026588 A1 US20020026588 A1 US 20020026588A1 US 91540401 A US91540401 A US 91540401A US 2002026588 A1 US2002026588 A1 US 2002026588A1
Authority
US
United States
Prior art keywords
licence
controller
resource
inter
processing system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US09/915,404
Other versions
US7150023B1 (en
Inventor
Pierre Sauvage
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Valtrus Innovations Ltd
Hewlett Packard Enterprise Development LP
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Assigned to HEWLETT-PACKARD COMPANY reassignment HEWLETT-PACKARD COMPANY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SAUVAGE, PIERRE
Publication of US20020026588A1 publication Critical patent/US20020026588A1/en
Assigned to HEWLETT-PACKARD DEVELOPMENT COMPANY L.P. reassignment HEWLETT-PACKARD DEVELOPMENT COMPANY L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT-PACKARD COMPANY
Application granted granted Critical
Publication of US7150023B1 publication Critical patent/US7150023B1/en
Assigned to HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP reassignment HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Assigned to OT PATENT ESCROW, LLC reassignment OT PATENT ESCROW, LLC PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Assignors: HEWLETT PACKARD ENTERPRISE COMPANY, HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Assigned to VALTRUS INNOVATIONS LIMITED reassignment VALTRUS INNOVATIONS LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: OT PATENT ESCROW, LLC
Adjusted expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs

Definitions

  • the invention relates to processing systems, and more specifically to resource control in a processing system. It notably applies to controlling licences in multiprocessing telecommunication systems or in computers.
  • Installation time protection is often used for PC software and requires input of a password when the software is installed; the password being provided at the time the product is purchased.
  • Hardware protection schemes make it necessary to connect a hardware protection device to the computer system in order to use the resource. The behaviour of the protection device is scanned in order to allow or prohibit use of the resource.
  • Start-up time protection is used for HP Open Call SS7; the application program relies on the licence granted at start-up time.
  • U.S. Pat. No. 5,940,504 proposes a license management scheme for recording the use of a licensed product, and for controlling its use in accordance with the terms of the license.
  • a licensed product invokes a license check monitor at regular time intervals.
  • the monitor generates request datagrams which identify the licensee and the product and sends the request datagrams over a network to a license control system.
  • the license control system maintains a record of the received datagrams, and compares the received datagrams to data stored in its licensee database.
  • the license control system transmits reply datagrams with either a denial or an approval message to the monitor.
  • the monitor terminates further use of the product if it receives a denial message.
  • the monitor generates its own denial message if its request datagrams are unanswered after a predetermined interval of time.
  • HP Open Call SS7 a platform for telecommunication Common Channel Signalling systems operating under CCITT Signalling System n°7.
  • the HP Open Call SS7 system is a multiprocessing system; it is part of a signalling network existing within the telecommunication network and controlling it. The operation of these platforms is generally satisfactory, but could still be improved as regards licensing technology.
  • Current licensing technologies used within the applicant's HP Open Call SS7 are process-oriented; the licensing controls the process behaviour; the licensing scheme is static and does not allow dynamic upgrade.
  • Windows 2000 allows control of CPU time by the various applications. At the time an application is started, the ratio of CPU time used by the application may be limited. This solution is not dynamic, and implies that an application needs to be shut down and restarted in order to limit CPU access.
  • This invention is directed to overcoming these problems by improving the control of the use of a resource in a data processing system in a manner that provides for dynamic control of the use of the resource and does not rely on the continual availability of a separate control system so as to enable high availability of the processes and the possibility of on-line upgrades.
  • the invention provides a method for controlling the use of a resource by at least one process in a data processing system having an inter-process communication mechanism provided with storage facilities that do not rely on the functioning of processes that use the mechanism, comprising the steps of:
  • the step of communicating comprises having the licence controller repeatedly update the parameter according to the use of the resource allowed for the process.
  • the step of communicating may comprise having a process repeatedly read from its inter-process communication the allowed work unit rate for the resource.
  • the step of communicating comprises having the licence controller read from the inter-process communication of a process the actual use rate for the resource by the process.
  • the step of controlling may comprise, for the process, adapting its operation to the allowed work unit rate for the process.
  • the processes comprise a plurality of identical processes
  • the step of communicating comprises having the licence controller update the inter-process communication of said identical processes while sharing use of the resource between said identical processes.
  • the invention notably can be applied to multiprocessing systems.
  • the invention further relates to a processing system, comprising a resource and at least one process using the resource; a licence controller; an inter-process communication between the licence controller and each process, wherein an inter-process communication contains information representative of the allowed use of the resource by its process.
  • the invention provides a processing system, comprising a resource and at least one process using the resource; a licence controller; an inter-process communication between the licence controller and each process, wherein an inter-process communication contains information representative of the actual use of the resource by its process.
  • FIG. 1 is a schematic view of a multiprocessing system embodying the invention
  • FIG. 2 is a flowchart of the operation of the system of FIG. 1;
  • FIG. 3 is a schematic view of another multiprocessing system embodying the invention.
  • the invention Whilst the invention is described below with reference to a preferred embodiment, where it is applied to licence control in a multiprocessing system, it will be understood that the invention may be applied more generally to control any type of distributed resource, e.g. for controlling memory size, rate of CPU time, access to disks, peripherals, printers, networks, etc.
  • the invention applies not only to multiprocessing systems, but also more generally to any type of processing system, including single-processor systems such as conventional personal computers.
  • a licence controller is provided for each process to be controlled, for controlling the licensing of the process.
  • An inter-process communication mechanism between the process and the licence controller is also provided. Through the inter-process communication, a process and the licence controller exchange information regarding actual and allowed use of the resource by the process. According to this information, the process may be controlled.
  • the invention applies to a multiprocessing system, inasmuch as the licence controller is a process separate from other processes.
  • FIG. 1 is a schematic view of a multiprocessing system embodying the invention: it shows a licence controller 1 , and two resource users, that is a process 3 and an application 5 with its attached library 7 .
  • a memory 9 that is shared between process 3 and licence controller 1 .
  • Shared memory 9 thus acts as an inter-process communication between process 3 and licence controller 1 .
  • another memory 11 shared between library 7 and licence controller 1 .
  • Shared memory 11 thus acts as an inter-process communication path between library 7 and licence controller 1 .
  • Shared memories 9 and 11 may be independent memories, or may be segments of the same physical memory. In any case, memories 9 and 11 are functionally independent.
  • the licence controller 1 is a process designed to allocate use of resources—in the present embodiment, it is designed to control the operation of process 3 and application 5 , that is the amount of work unit rate for the process or for the application.
  • Shared memories 9 and 11 act as inter-process communication paths that allows each process to communicate with the other process. It will be understood that other types of inter-process communication could be used, e.g. a socket or a file.
  • a shared memory permits a heart beat scheme to be implemented, as exemplified below. Where as a socket simply returns to one of the processes a signal originating from the other process, a shared file may be accessed successively by the process and the licence controller.
  • a time-lock that is reassessed each time a process accesses the file also allows the licence controller to control the activity of the process.
  • Process 3 and library 7 each define a work unit, which is an activity unit or a resource unit—such as memory or CPU requirement—, the operation of which needs to be controlled.
  • FIG. 2 is a flowchart of the operation of the system of FIG. 1, as regards process 3 . It is assumed in this description that process 3 is started before application 5 . In step 10 , process 3 is started, and memory 9 is allocated for the inter-process communication. Process 3 then writes in the inter-process communication information regarding its identity and its work unit rate. This information may comprise, for instance:
  • protocol entity [0036] protocol entity
  • step 12 memory 9 is attached to the licence controller enabling the licence controller to communicate with the process.
  • the process is identified by the information contained in the inter-process communication at the time it is attached to the licence controller.
  • licence controller 1 computes an allowed use for process 3 ; where the invention is applied to licence control, the computed information is representative of the operation of process 3 allowed under the licence; in the case of a telecommunication signalling network, the computed information may represent a transaction rate, a call rate, or a link number: more generally, the computed information is representative of the activity unit or resource unit rate. Licence controller 1 writes the computed information into shared memory 9 .
  • process 3 writes actual work unit rate into shared memory 9 .
  • shared memory contains both the licensed work unit rate and the actual work unit rate for the process.
  • the actual work unit rate may thus be compared to the licensed work unit rate, as indicated in box 18 . If the actual work unit rate is higher than the licensed work unit rate, as indicated at 20 , action may be taken by the process, or by the licence controller, since the information is available to both. Else, as symbolised by arrow 22 , licence controller 1 or process 3 may update the licensed or actual work unit rate at any time.
  • process 3 may at any time read licence information from shared memory 9 , and adapt its operation to the licence information read.
  • licence controller 1 may at any time write into shared memory 9 update licence information for controlling the operation of process 3 , or take whatever necessary action according to the actual work unit rate read from the shared memory.
  • Licence controller 1 may thus control operation of library 7 and application 5 .
  • the operation of the system provides the following advantages: the operation is process oriented, and licence controller 1 may control operation of each process independently; in addition, operation of an application may be controlled through its library.
  • licensing is dynamic, and may be updated at any time during the operation of a process. It can be seen that high availability for the processes is ensured,: processes may be restarted even if the licence controller is not available, or may continue their operation even when and if the licence controller is not active. This allows the licence controller to be updated or modified without impacting the operation of controlled processes.
  • the information stored in the inter-process communication may comprise a work unit tolerance, indicating, for instance, if the licensed rate may be exceeded for a given period of time. This feature is particularly useful for telecommunication systems, where a traffic peak may have to be dealt with for a short period of time.
  • the information stored in the inter-process communication may comprise action to be taken in case of excess of licensed work unit rate or action to be taken in case of excess of work unit tolerance. This allows action to be taken either by the process or by the licence controller.
  • the invention thus allows the licensing processing to be implemented in the licence controller, and not necessarily in each and every process. This makes it possible to simplify the operation of a process, by only requiring ability to address the inter-process communication. Key computation, interface documentation, licensing logic—actions in case of misused licence, logs and alarm—may be implemented in the licence controller only, for all controlled processes.
  • FIG. 3 is a schematic view of another multiprocessing system embodying the invention.
  • the system comprise three processes 26 , 28 and 30 , and the invention is used for sharing load between the processes.
  • Inter-process communications 32 , 34 , 36 are provided between each process and a licence controller 38 .
  • the licence controller may then increase the licensed working rate for the other processes to n/(m ⁇ 1).
  • the licence controller may progressively and gracefully decrease the licensed work unit rate.
  • a licensed work unit rate may be increased progressively: for instance, when a new process is installed, it may be started for test purposes with a reduced licensed working rate. The licensed working rate may thereafter be increased, at the end of the testing phase.
  • the invention thus provides dynamic update, load sharing, and a graceful stopping of processes.
  • the invention is of particular advantage when applied in telecommunication multiprocessing systems, such as the HP Open Call SS7 platform of the applicant. Complete and accurate control of licences, or of the use of resources, can be achieved without any detrimental effect on the operation of the system.
  • the “process” may cover any resource user. Specifically, the “process” could be an actual process, in the usual meaning of this term, a library, a hardware device, etc.
  • the invention was described in reference to the preferred embodiment of a multiprocessing system; it may also be applied to a system having a single processor, for controlling use of resources. It may thus apply for controlling CPU use in a multitask system, for controlling licenses, or for controlling use of peripherals or other hardware or software resources.

Abstract

The invention suggests providing in a processing system a licence controller (1), for controlling use of a resource by processes (3, 5, 7); for each process to be controlled, there is provided an inter-process communication (9, 11) between the process and the licence controller. A process and the licence controller exchange through the inter-process communication of the process information regarding actual and allowed use of the resource by the process. According to this information, the process may be controlled, be it on a self-control basis or through control of the licence controller.
Use of the resource to be dynamically adapted; high availability is guaranteed since processes may operate even when the licence controller fails.

Description

  • The invention relates to processing systems, and more specifically to resource control in a processing system. It notably applies to controlling licences in multiprocessing telecommunication systems or in computers. [0001]
  • Resource control is used in the field of computers for controlling software or hardware licences. Current licensing control schemes fall into three main categories: [0002]
  • installation time; [0003]
  • hardware protection; [0004]
  • start-up time. [0005]
  • Other products—such as the products of Oracle—rely on the user and do not use any licensing control scheme. [0006]
  • Installation time protection is often used for PC software and requires input of a password when the software is installed; the password being provided at the time the product is purchased. Hardware protection schemes make it necessary to connect a hardware protection device to the computer system in order to use the resource. The behaviour of the protection device is scanned in order to allow or prohibit use of the resource. Start-up time protection is used for HP Open Call SS7; the application program relies on the licence granted at start-up time. [0007]
  • These schemes have the following drawbacks. They do not allow dynamic control of the licence, or more generally, dynamic control of the use of a resource. An application needs to be stopped in order to change its licence status. [0008]
  • U.S. Pat. No. 5,940,504 proposes a license management scheme for recording the use of a licensed product, and for controlling its use in accordance with the terms of the license. A licensed product invokes a license check monitor at regular time intervals. The monitor generates request datagrams which identify the licensee and the product and sends the request datagrams over a network to a license control system. The license control system maintains a record of the received datagrams, and compares the received datagrams to data stored in its licensee database. The license control system transmits reply datagrams with either a denial or an approval message to the monitor. The monitor terminates further use of the product if it receives a denial message. The monitor generates its own denial message if its request datagrams are unanswered after a predetermined interval of time. [0009]
  • In the field of multiprocessing systems, such as telecommunication multiprocessing systems, there is a particular need for a resource control scheme that allows real-time and continuous use of applications in variable load conditions. This need for a resource control scheme is also present in other types of processing systems that only feature a single processor. [0010]
  • The applicant provides under the trademark HP Open Call SS7 a platform for telecommunication Common Channel Signalling systems operating under CCITT Signalling System n°7. The HP Open Call SS7 system is a multiprocessing system; it is part of a signalling network existing within the telecommunication network and controlling it. The operation of these platforms is generally satisfactory, but could still be improved as regards licensing technology. Current licensing technologies used within the applicant's HP Open Call SS7 are process-oriented; the licensing controls the process behaviour; the licensing scheme is static and does not allow dynamic upgrade. Last, all components implement the complete licensing processing: key computation, interface, documentation, licensing logic—such as actions in case of misused licence, logs, alarms, etc. [0011]
  • Windows 2000 allows control of CPU time by the various applications. At the time an application is started, the ratio of CPU time used by the application may be limited. This solution is not dynamic, and implies that an application needs to be shut down and restarted in order to limit CPU access. [0012]
  • This invention is directed to overcoming these problems by improving the control of the use of a resource in a data processing system in a manner that provides for dynamic control of the use of the resource and does not rely on the continual availability of a separate control system so as to enable high availability of the processes and the possibility of on-line upgrades. [0013]
  • To achieve this, the invention provides a method for controlling the use of a resource by at least one process in a data processing system having an inter-process communication mechanism provided with storage facilities that do not rely on the functioning of processes that use the mechanism, comprising the steps of: [0014]
  • providing a licence controller; [0015]
  • communicating an allowed work unit rate for the resource between the at least one process and the licence controller by storing at least one parameter in the storage facilities provided by the inter-process communication; and, in the at least one process, controlling the use of the resource by the process according to the parameter. [0016]
  • In one embodiment of the invention, the step of communicating comprises having the licence controller repeatedly update the parameter according to the use of the resource allowed for the process. In this case, the step of communicating may comprise having a process repeatedly read from its inter-process communication the allowed work unit rate for the resource. [0017]
  • In another embodiment of the invention, the step of communicating comprises having the licence controller read from the inter-process communication of a process the actual use rate for the resource by the process. [0018]
  • In both embodiments, the step of controlling may comprise, for the process, adapting its operation to the allowed work unit rate for the process. [0019]
  • In yet another embodiment of the invention, the processes comprise a plurality of identical processes, and the step of communicating comprises having the licence controller update the inter-process communication of said identical processes while sharing use of the resource between said identical processes. [0020]
  • The invention notably can be applied to multiprocessing systems. [0021]
  • The invention further relates to a processing system, comprising a resource and at least one process using the resource; a licence controller; an inter-process communication between the licence controller and each process, wherein an inter-process communication contains information representative of the allowed use of the resource by its process. [0022]
  • Last, the invention provides a processing system, comprising a resource and at least one process using the resource; a licence controller; an inter-process communication between the licence controller and each process, wherein an inter-process communication contains information representative of the actual use of the resource by its process. [0023]
  • A system embodying the invention will now be described, by way of non-limiting example, and with reference to the accompanying drawings, wherein: [0024]
  • FIG. 1 is a schematic view of a multiprocessing system embodying the invention; [0025]
  • FIG. 2 is a flowchart of the operation of the system of FIG. 1; [0026]
  • FIG. 3 is a schematic view of another multiprocessing system embodying the invention.[0027]
  • Whilst the invention is described below with reference to a preferred embodiment, where it is applied to licence control in a multiprocessing system, it will be understood that the invention may be applied more generally to control any type of distributed resource, e.g. for controlling memory size, rate of CPU time, access to disks, peripherals, printers, networks, etc. The invention applies not only to multiprocessing systems, but also more generally to any type of processing system, including single-processor systems such as conventional personal computers. [0028]
  • According to the invention, a licence controller is provided for each process to be controlled, for controlling the licensing of the process. An inter-process communication mechanism between the process and the licence controller is also provided. Through the inter-process communication, a process and the licence controller exchange information regarding actual and allowed use of the resource by the process. According to this information, the process may be controlled. The invention applies to a multiprocessing system, inasmuch as the licence controller is a process separate from other processes. [0029]
  • FIG. 1 is a schematic view of a multiprocessing system embodying the invention: it shows a licence controller [0030] 1, and two resource users, that is a process 3 and an application 5 with its attached library 7. There is provided a memory 9 that is shared between process 3 and licence controller 1. Shared memory 9 thus acts as an inter-process communication between process 3 and licence controller 1. There is provided another memory 11 shared between library 7 and licence controller 1. Shared memory 11 thus acts as an inter-process communication path between library 7 and licence controller 1. Shared memories 9 and 11 may be independent memories, or may be segments of the same physical memory. In any case, memories 9 and 11 are functionally independent.
  • The licence controller [0031] 1 is a process designed to allocate use of resources—in the present embodiment, it is designed to control the operation of process 3 and application 5, that is the amount of work unit rate for the process or for the application. Shared memories 9 and 11 act as inter-process communication paths that allows each process to communicate with the other process. It will be understood that other types of inter-process communication could be used, e.g. a socket or a file. A shared memory permits a heart beat scheme to be implemented, as exemplified below. Where as a socket simply returns to one of the processes a signal originating from the other process, a shared file may be accessed successively by the process and the licence controller. A time-lock that is reassessed each time a process accesses the file also allows the licence controller to control the activity of the process.
  • [0032] Process 3 and library 7 each define a work unit, which is an activity unit or a resource unit—such as memory or CPU requirement—, the operation of which needs to be controlled.
  • The operation of the system of FIG. 1 is now described, with reference to FIG. 2, which is a flowchart of the operation of the system of FIG. 1, as [0033] regards process 3. It is assumed in this description that process 3 is started before application 5. In step 10, process 3 is started, and memory 9 is allocated for the inter-process communication. Process 3 then writes in the inter-process communication information regarding its identity and its work unit rate. This information may comprise, for instance:
  • licensing revision; [0034]
  • process name; [0035]
  • protocol entity; [0036]
  • work unit type; [0037]
  • actual work unit rate. [0038]
  • At [0039] step 12, memory 9 is attached to the licence controller enabling the licence controller to communicate with the process. The process is identified by the information contained in the inter-process communication at the time it is attached to the licence controller.
  • At [0040] step 14, licence controller 1 computes an allowed use for process 3; where the invention is applied to licence control, the computed information is representative of the operation of process 3 allowed under the licence; in the case of a telecommunication signalling network, the computed information may represent a transaction rate, a call rate, or a link number: more generally, the computed information is representative of the activity unit or resource unit rate. Licence controller 1 writes the computed information into shared memory 9.
  • At [0041] step 16, process 3 writes actual work unit rate into shared memory 9. At this time, shared memory contains both the licensed work unit rate and the actual work unit rate for the process. The actual work unit rate may thus be compared to the licensed work unit rate, as indicated in box 18. If the actual work unit rate is higher than the licensed work unit rate, as indicated at 20, action may be taken by the process, or by the licence controller, since the information is available to both. Else, as symbolised by arrow 22, licence controller 1 or process 3 may update the licensed or actual work unit rate at any time.
  • Thus, once [0042] process 3 is started, it may at any time read licence information from shared memory 9, and adapt its operation to the licence information read. Similarly, licence controller 1 may at any time write into shared memory 9 update licence information for controlling the operation of process 3, or take whatever necessary action according to the actual work unit rate read from the shared memory.
  • The operation of the system of FIG. 1 as regards library [0043] 7 is similar. Licence controller 1 may thus control operation of library 7 and application 5.
  • The operation of the system, as exemplified above, provides the following advantages: the operation is process oriented, and licence controller [0044] 1 may control operation of each process independently; in addition, operation of an application may be controlled through its library. In addition, as discussed in reference to FIG. 2, licensing is dynamic, and may be updated at any time during the operation of a process. It can be seen that high availability for the processes is ensured,: processes may be restarted even if the licence controller is not available, or may continue their operation even when and if the licence controller is not active. This allows the licence controller to be updated or modified without impacting the operation of controlled processes.
  • In addition, the information stored in the inter-process communication may comprise a work unit tolerance, indicating, for instance, if the licensed rate may be exceeded for a given period of time. This feature is particularly useful for telecommunication systems, where a traffic peak may have to be dealt with for a short period of time. Last, the information stored in the inter-process communication may comprise action to be taken in case of excess of licensed work unit rate or action to be taken in case of excess of work unit tolerance. This allows action to be taken either by the process or by the licence controller. [0045]
  • The invention thus allows the licensing processing to be implemented in the licence controller, and not necessarily in each and every process. This makes it possible to simplify the operation of a process, by only requiring ability to address the inter-process communication. Key computation, interface documentation, licensing logic—actions in case of misused licence, logs and alarm—may be implemented in the licence controller only, for all controlled processes. [0046]
  • FIG. 3 is a schematic view of another multiprocessing system embodying the invention. The system comprise three [0047] processes 26, 28 and 30, and the invention is used for sharing load between the processes. Inter-process communications 32, 34, 36 are provided between each process and a licence controller 38. At start-up time, assuming there as m processes, and the overall licence for this type of processes is n, the right for each process is n/m. If a process fails, this may be noticed by the licence controller—either because the actual work unit rate decreases, or because there is no update of the actual work unit rate. The licence controller may then increase the licensed working rate for the other processes to n/(m−1).
  • Whenever a process needs to be stopped, the licence controller may progressively and gracefully decrease the licensed work unit rate. On the contrary, a licensed work unit rate may be increased progressively: for instance, when a new process is installed, it may be started for test purposes with a reduced licensed working rate. The licensed working rate may thereafter be increased, at the end of the testing phase. [0048]
  • The invention thus provides dynamic update, load sharing, and a graceful stopping of processes. [0049]
  • The invention is of particular advantage when applied in telecommunication multiprocessing systems, such as the HP Open Call SS7 platform of the applicant. Complete and accurate control of licences, or of the use of resources, can be achieved without any detrimental effect on the operation of the system. [0050]
  • Although the invention has been explained in reference to preferred embodiments, it should be understood that it is not limited to these embodiments, and that various changes or modifications can be contemplated by the person skilled in the art, without departing from the invention, as determined by the appended claims. For instance, in the preferred embodiment, the actual work unit rate and the licensed work unit rate were both written in the inter-process communication. However, the invention could also apply where only the licensed work unit rate is written to the inter-process communication, in case where any action to be taken is taken by the process. [0051]
  • In the description above, the “process” may cover any resource user. Specifically, the “process” could be an actual process, in the usual meaning of this term, a library, a hardware device, etc. [0052]
  • As discussed above, the invention was described in reference to the preferred embodiment of a multiprocessing system; it may also be applied to a system having a single processor, for controlling use of resources. It may thus apply for controlling CPU use in a multitask system, for controlling licenses, or for controlling use of peripherals or other hardware or software resources. [0053]

Claims (13)

1. A method for controlling the use of a resource by at least one process in a data processing system having an inter-process communication mechanism provided with storage facilities that do not rely on the functioning of processes that use the mechanism, comprising the steps of:
providing a licence controller;
communicating an allowed work unit rate for the resource between the at least one process and the licence controller by storing at least one parameter in the storage facilities provided by the inter-process communication; and, in the at least one process, controlling the use of the resource by the process according to the parameter.
2. A method as claimed in claim 1, wherein the step of communicating comprises having the licence controller repeatedly update an inter-process communication of a process according to the use of the resource allowed for the process.
3. A method as claimed in claim 2, wherein the step of communicating comprises having a process repeatedly read from its inter-process communication the parameter.
4. A method as claimed in claim 1, wherein the step of communicating comprises having the licence controller read from the inter-process communication of a process the actual use of the resource by the process.
5. A method as claimed in claim 1, wherein the step of controlling comprises, for the process, adapting its operation to the allowed work unit rate for the process.
6. A method as claimed in claim 1 wherein the processes comprise a plurality of identical processes, and wherein the step of communicating comprises having the licence controller update the inter-process communication of said identical processes while sharing use of the resource between said identical processes.
8. A method as claimed in claim 1 wherein the processing system is a multiprocessing system.
9. A processing system, comprising:
a resource and at least one process using the resource;
a licence controller;
an inter-process communication between the licence controller and each process provided with storage facilities that do not rely on the functioning of processes that use the mechanism,
wherein an inter-process communication contains information representative of the allowed use of the resource by its process.
10. A processing system as claimed in claim 9 wherein the license controller comprises program elements for communicating an allowed work unit rate for the resource between the at least one process and the licence controller by storing at least one parameters in the storage facilities provided by the inter-process communication; and the process comprises program elements for controlling the use of the resource by the process according to the parameter.
11. A processing system as claimed in claim 10 wherein the licence controller is arranged to repeatedly update the inter-process communication of a process according to the use of the resource allowed for the process.
12. A processing system as claimed in claim 11, wherein the process is arranged to repeatedly read the parameter from its inter-process communication.
13. A processing system as claimed in claim 11 wherein the licence controller is arranged to update the inter-process communication of a plurality of identical processes to enable sharing use of the resource between said identical processes.
14. A processing system as claimed in claim 10 wherein the processing system is a multiprocessing system.
US09/915,404 2000-07-31 2001-07-27 Dynamic resource control in a processing system Expired - Lifetime US7150023B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00410088.9 2000-07-31
EP00410088A EP1178384A1 (en) 2000-07-31 2000-07-31 Dynamic resource control in a processing system

Publications (2)

Publication Number Publication Date
US20020026588A1 true US20020026588A1 (en) 2002-02-28
US7150023B1 US7150023B1 (en) 2006-12-12

Family

ID=8174040

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/915,404 Expired - Lifetime US7150023B1 (en) 2000-07-31 2001-07-27 Dynamic resource control in a processing system

Country Status (2)

Country Link
US (1) US7150023B1 (en)
EP (1) EP1178384A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030079126A1 (en) * 2001-10-19 2003-04-24 Kadam Sunil S. Method and apparatus to facilitate software installation using embedded user credentials
US20060020555A1 (en) * 2004-07-26 2006-01-26 Septon Daven W Monitoring a license proxy
US20180321998A1 (en) * 2017-05-08 2018-11-08 International Business Machines Corporation Performance efficient time locks on data in a storage controller
US10489080B2 (en) 2017-05-08 2019-11-26 International Business Machines Corporation Point in time copy of time locked data in a storage controller
US10514721B2 (en) 2017-05-08 2019-12-24 International Business Machines Corporation Validation of clock to provide security for time locked data
US10514859B2 (en) 2017-05-08 2019-12-24 International Business Machines Corporation Reduction of processing overhead for point in time copy to allow access to time locked data

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1414194B1 (en) 2002-10-22 2006-12-13 Hewlett-Packard Company, A Delaware Corporation Method and Apparatus for operating a telecommunication platform
US7477902B2 (en) * 2005-09-29 2009-01-13 Alcatel-Lucent Usa Inc. Capacity allocation in a wireless communication system
US9336369B2 (en) * 2007-09-28 2016-05-10 Abbyy Development Llc Methods of licensing software programs and protecting them from unauthorized use
US9129098B2 (en) 2007-09-28 2015-09-08 Abbyy Development Llc Methods of protecting software programs from unauthorized use

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745694A (en) * 1994-08-30 1998-04-28 Nec Corporation Network resource reservation with admission and link control functions separated for expandability and high-speed operation
US5790809A (en) * 1995-11-17 1998-08-04 Mci Corporation Registry communications middleware
US5940504A (en) * 1991-07-01 1999-08-17 Infologic Software, Inc. Licensing management system and method in which datagrams including an address of a licensee and indicative of use of a licensed product are sent from the licensee's site
US6023766A (en) * 1997-02-14 2000-02-08 Fujitsu Limited Software license control system and software license control equipment
US6457063B1 (en) * 1998-04-30 2002-09-24 Sun Microsystems, Inc. Method, apparatus & computer program product for dynamic administration, management and monitoring of daemon processes
US6785726B1 (en) * 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for delivering local and remote server events in a similar fashion

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5940504A (en) * 1991-07-01 1999-08-17 Infologic Software, Inc. Licensing management system and method in which datagrams including an address of a licensee and indicative of use of a licensed product are sent from the licensee's site
US5745694A (en) * 1994-08-30 1998-04-28 Nec Corporation Network resource reservation with admission and link control functions separated for expandability and high-speed operation
US5790809A (en) * 1995-11-17 1998-08-04 Mci Corporation Registry communications middleware
US6023766A (en) * 1997-02-14 2000-02-08 Fujitsu Limited Software license control system and software license control equipment
US6457063B1 (en) * 1998-04-30 2002-09-24 Sun Microsystems, Inc. Method, apparatus & computer program product for dynamic administration, management and monitoring of daemon processes
US6785726B1 (en) * 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for delivering local and remote server events in a similar fashion

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030079126A1 (en) * 2001-10-19 2003-04-24 Kadam Sunil S. Method and apparatus to facilitate software installation using embedded user credentials
US7237122B2 (en) * 2001-10-19 2007-06-26 Mcafee, Inc. Method and apparatus to facilitate software installation using embedded user credentials
US20060020555A1 (en) * 2004-07-26 2006-01-26 Septon Daven W Monitoring a license proxy
US20180321998A1 (en) * 2017-05-08 2018-11-08 International Business Machines Corporation Performance efficient time locks on data in a storage controller
US10489080B2 (en) 2017-05-08 2019-11-26 International Business Machines Corporation Point in time copy of time locked data in a storage controller
US10514721B2 (en) 2017-05-08 2019-12-24 International Business Machines Corporation Validation of clock to provide security for time locked data
US10514859B2 (en) 2017-05-08 2019-12-24 International Business Machines Corporation Reduction of processing overhead for point in time copy to allow access to time locked data
US10528435B2 (en) * 2017-05-08 2020-01-07 International Business Machines Corporation Performance efficient time locks on data in a storage controller
US11200121B2 (en) 2017-05-08 2021-12-14 International Business Machines Corporation Performance efficient time locks on data in a storage controller
US11347426B2 (en) 2017-05-08 2022-05-31 International Business Machines Corporation Point in time copy of time locked data in a storage controller
US11455003B2 (en) 2017-05-08 2022-09-27 International Business Machines Corporation Validation of clock to provide security for time locked data
US11520515B2 (en) 2017-05-08 2022-12-06 International Business Machines Corporation Reduction of processing overhead for point in time copy to allow access to time locked data

Also Published As

Publication number Publication date
EP1178384A1 (en) 2002-02-06
US7150023B1 (en) 2006-12-12

Similar Documents

Publication Publication Date Title
AU667155B2 (en) Licence management mechanism for a computer system
US7661147B2 (en) System for controlling use of digitally encoded products
US6502079B1 (en) Method and system for enforcing floating licenses
CN101411163B (en) System and method for tracking the security enforcement in a grid system
EP0836132B1 (en) Software metering management of remote computing devices
US6056786A (en) Technique for monitoring for license compliance for client-server software
US5023907A (en) Network license server
US5579222A (en) Distributed license administration system using a local policy server to communicate with a license server and control execution of computer programs
US7694082B2 (en) Computer program and method for managing resources in a distributed storage system
CN101010656B (en) Operating system independent agent
CN100410882C (en) System and method for centralized software management in virtual machines
US5892451A (en) Remote management of computing devices
US7418489B2 (en) Method and apparatus for applying policies
US6212610B1 (en) Memory protection mechanism for a distributed shared memory multiprocessor with integrated message passing support
US7720972B2 (en) System for transferring standby resource entitlement
US7458066B2 (en) Computer system and method for transferring executables between partitions
CN106295355B (en) A kind of active safety support method towards Linux server
US7150023B1 (en) Dynamic resource control in a processing system
EP0836131A2 (en) Security of remote computing devices
US20080040471A1 (en) System for determining unreturned standby resource usage
AU2003285358A1 (en) Method for managing virtual machines
JP2005259126A (en) Metered execution of code
US20090049449A1 (en) Method and apparatus for operating system independent resource allocation and control
US5872979A (en) Method and system for removing software involving shared files
Dannenberg et al. A butler process for resource sharing on spice machines

Legal Events

Date Code Title Description
AS Assignment

Owner name: HEWLETT-PACKARD COMPANY, COLORADO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SAUVAGE, PIERRE;REEL/FRAME:012049/0337

Effective date: 20010704

AS Assignment

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY L.P., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:014061/0492

Effective date: 20030926

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY L.P.,TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:014061/0492

Effective date: 20030926

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.;REEL/FRAME:037079/0001

Effective date: 20151027

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553)

Year of fee payment: 12

AS Assignment

Owner name: OT PATENT ESCROW, LLC, ILLINOIS

Free format text: PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT;ASSIGNORS:HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP;HEWLETT PACKARD ENTERPRISE COMPANY;REEL/FRAME:055269/0001

Effective date: 20210115

AS Assignment

Owner name: VALTRUS INNOVATIONS LIMITED, IRELAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:OT PATENT ESCROW, LLC;REEL/FRAME:057650/0537

Effective date: 20210803