WO2001082033A1 - Method for detecting the utilization of a computer program in a billable manner - Google Patents

Method for detecting the utilization of a computer program in a billable manner Download PDF

Info

Publication number
WO2001082033A1
WO2001082033A1 PCT/EP2001/003901 EP0103901W WO0182033A1 WO 2001082033 A1 WO2001082033 A1 WO 2001082033A1 EP 0103901 W EP0103901 W EP 0103901W WO 0182033 A1 WO0182033 A1 WO 0182033A1
Authority
WO
WIPO (PCT)
Prior art keywords
calls
entry
log file
call
usage fee
Prior art date
Application number
PCT/EP2001/003901
Other languages
German (de)
French (fr)
Inventor
Changsong Xie
Rolf Matzner
Original Assignee
Syntion Ag
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
Priority claimed from DE10022470A external-priority patent/DE10022470A1/en
Application filed by Syntion Ag filed Critical Syntion Ag
Publication of WO2001082033A1 publication Critical patent/WO2001082033A1/en

Links

Classifications

    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2135Metering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp

Definitions

  • the invention relates to a method for billable recording of the use of a computer program according to the preamble of claim 1.
  • the user receives a quota of a certain number of transactions from the provider, and after the quota has been installed and activated on the user's computer or computer system, a usage fee value assigned to the function is debited from the quota each time the function is used or called up. If the quota is exhausted, the program automatically stops functioning and can only be reactivated after agreement and payment of a new quota.
  • the program includes means for logging all calls to the function in question or a plurality of functions in a log file. If the logging of a plurality of different types of calls is intended, the log file should contain corresponding call type identifiers, which in particular reflect a usage fee value of the associated transaction. After a predetermined period of time, the user transmits the log file to the provider for billing.
  • the invention is therefore based on the object of providing an improved method of the generic type which offers a high degree of security against manipulation.
  • the invention includes the basic idea, each time the licensed function is called up in a log file (Log file) at least one marker for the use and a cryptographic signature and in particular also a system time identification ("timestamp"). Accordingly, the invention also includes the execution of corresponding evaluation steps before the log file is processed in terms of booking.
  • Log file log file
  • timestamp system time identification
  • an entry is made in the log file with each call, and the identification (the
  • marker is in the simplest case designed as a ones decrement or increment of a previous meter reading.
  • the calls entered are each assigned a call type identifier, which in particular represents a specific usage fee value of the called function.
  • arithmetic processing with the transaction quota is preferably carried out for each entry in the log file at the location of the computer or computer system using the program.
  • This includes, in particular, an addition of the calls (increment or number) or usage fee values contained in the respective entry and a subtraction of the sum obtained from the current "value" of the transaction quota obtained when the previous entry was processed. In the simplest case, this is in each case the subtraction of a usage fee value assigned to the individual call.
  • the usage-based license method is at predetermined times or at predetermined time intervals via a non-permanent data connection .
  • the log file is transmitted to the processing unit of the provider remote from the user computer or computer system and checked there. After the entries have been verified, in particular processing is carried out which includes the addition of the number of calls or the usage fee values resulting from the call type identifiers.
  • the total usage fee received is first saved in a separate usage fee file, which is then processed for accounting purposes for a billing process.
  • additional entries are inserted in the log file as pure system time markings with a signature at pseudo-random times that cannot be predicted by the user but are predictable for the provider. If the users deleted the last entries of the log file during this execution, the provider could know this manipulation by the lack of the system time marking (s) belonging to the corresponding time period, which should be done internally for him - and thus also in the log - file to be found again - markings are noted.
  • security entries can also contain a number marking the total number of calls.
  • the cryptographic signature mentioned is formed by encrypting at least the identifier representing the number of calls and optionally — when executing with registration of various functions — the type of call identifier with a private key of the provider.
  • the generation of the cryptographic signature preferably also includes the encryption of the system time identification and in particular also of the signature of the preceding entry.
  • a common signature is calculated for a number of successive uses. The number of uses of the function accumulated between two (signed) entries is entered in encrypted form in the log file.
  • a system time identifier timestamp
  • the aforementioned predetermined points in time or time intervals for creating the "content-related" entries or the pure timestamps are advantageously calculated by means of a hash function, known per se, from a previous entry or a part of such.
  • a further advantageous further development of the inventive concept in the execution, in which a common signature is calculated for several successive uses, is that for each entry the identification representing the number of calls is encrypted in the protocol in the same way as for the previous entry. file is carried. Each prepared new entry is initialized with a counter value incremented by a deterministic value.
  • An entry in the log file LD that is generated at the time TS (i) is structured as follows:

Abstract

The invention relates to a method for detecting the utilization of a computer program in a billable manner, especially that of a remote computer or a remote computer system, in which all calls of a function of the computer program are registered in a log file so that the utilization of the program can be billed based on the extent of utilization. According to the inventive method at least one identification representing the number of calls is recorded together with a system time identification and a cryptographic signature after a predetermined number of calls or within first predetermined time intervals. These records are then evaluated during processing of the log file so as to establish the utilization fee.

Description

Verfahren zur abrechnungsfähigen Erfassung der Nutzung eines Computerprogramms Process for accounting for the use of a computer program
Beschreibungdescription
Die Erfindung betrifft ein Verfahren zur abrechnungsfähigen Erfassung der Nutzung eines Computerprogramms nach dem Oberbegriff des Anspruchs 1.The invention relates to a method for billable recording of the use of a computer program according to the preamble of claim 1.
Es ist seit langem üblich, die Nutzung von Computerprogrammen gegen eine Pauschalgebühr zu lizensieren bzw. die Programme zu "verkaufen" . Dies ist ein für den Hersteller äußerst einfacher Weg, den Rückfluß der Entwicklungsaufwendungen und einen angemessenen Gewinn zu sichern - dieser Weg hat aber auch erhebliche Nachteile. Insbesondere bei Spezialprogrammen mit einem relativ engen Nutzerkreis ergeben sich u. U. abschrek- kend hohe Pauschalsummen, die potentielle Nutzer abschrecken können und schlimmstenfalls eine - an sich sinnvolle - Nutzung des Programms stark einschränken oder sogar weitgehend verhindern. Dies ist selbstverständlich sowohl für die potentiellen Nutzer als auch für den Hersteller höchst nachteilig.It has long been customary to license the use of computer programs for a flat fee or to "sell" the programs. This is an extremely simple way for the manufacturer to ensure the return of the development expenditure and a reasonable profit - but this way also has considerable disadvantages. Especially with special programs with a relatively narrow user base Under certain circumstances, dissuasively high lump sums, which can deter potential users and, in the worst case, severely restrict or even largely prevent use of the program, which in itself makes sense. Of course, this is extremely disadvantageous both for potential users and for the manufacturer.
In jüngerer Zeit wird daher verstärkt nach Möglichkeiten zu einer am Nutzungsumfang orientierten Lizensierung von Computerprogrammen gesucht . Der grundlegende Ablauf sieht dabei so aus, daß ein Anbieter dem Betreiber eines Computers bzw. Servers ein Programm zur Verfügung stellt und bei jeder Benutzung einer ausgezeichneten Funktion des Programms eine an den Anbieter zu zahlende Transaktionsgebühr fällig wird. Die Abrechnung kann zum einen aufgrund eines vorausbezahlten Nutzungskontingents als "Prepaid License" -Verfahren oder zum anderen aufgrund einer periodisch erstellten Abrechnung anhand des aufgelaufenen Nutzungsumfangs als "Usage-based License"- Verfahren erfolgen. Beim erstgenannten Verfahren erhält der Nutzer vom Anbieter ein Kontingent einer bestimmten Anzahl von Transaktionen, und nach Installation und Freischaltung des Kontingents auf dem Computer bzw. Computersystem des Nutzers wird bei jeder Nutzung bzw. jedem Aufruf der Funktion ein der Funktion zugeordneter Nutzungsgebührenwert vom Kontingent abgebucht . Ist das Kontingent erschöpft, stellt das Programm selbsttätig seine Funktion ein und kann erst nach Vereinbarung und Bezahlung eines neuen Kontingents wieder aktiviert werden.In recent times, there has been an increasing search for possibilities for licensing computer programs based on the scope of use. The basic process is that a provider makes a program available to the operator of a computer or server and a transaction fee payable to the provider is payable each time an excellent function of the program is used. Billing can take place on the one hand on the basis of a prepaid usage quota as a "prepaid license" procedure or on the other hand on the basis of periodically created billing based on the amount of usage accumulated as a "usage-based license" procedure. In the former method, the user receives a quota of a certain number of transactions from the provider, and after the quota has been installed and activated on the user's computer or computer system, a usage fee value assigned to the function is debited from the quota each time the function is used or called up. If the quota is exhausted, the program automatically stops functioning and can only be reactivated after agreement and payment of a new quota.
Beim letztgenannten Verfahren umfaßt das Programm Mittel zur Protokollierung aller Aufrufe der fraglichen Funktion bzw. einer Mehrzahl von Funktionen in einer Protokolldatei. Falls die Protokollierung einer Mehrzahl verschiedenartiger Aufrufe vorgesehen ist, sollte die Protokolldatei entsprechende Aufrufart-Kennzeichnungen enthalten, die insbesondere einen Nutzungsgebührenwert der zugehörigen Transaktion reflektieren. Nach einem vorbestimmten Zeitraum übermittelt der Nutzer die Protokolldatei zur Rechnungsstellung an den Anbieter.In the latter method, the program includes means for logging all calls to the function in question or a plurality of functions in a log file. If the logging of a plurality of different types of calls is intended, the log file should contain corresponding call type identifiers, which in particular reflect a usage fee value of the associated transaction. After a predetermined period of time, the user transmits the log file to the provider for billing.
Beide Verfahren tragen dem Umstand Rechnung, daß üblicherweise keine ständige Datenverbindung (Online-Verbindung) zwischen dem Programmanbieter und dem Programmnutzer besteht, die für eine Echtzeit-Abrechnung genutzt werden könnte. Die genannten Verfahren sind nach den Erkenntnissen der Erfinder jedoch nicht hinreichend manipulationssicher in dem Sinne, daß nicht-lizensierte Nutzungen (Aufrufe) zuverlässig unterbunden werden.Both methods take into account the fact that there is usually no permanent data connection (online connection) between the program provider and the program user, which could be used for real-time billing. According to the inventors' knowledge, the methods mentioned are not sufficiently tamper-proof in the sense that non-licensed uses (calls) are reliably prevented.
Der Erfindung liegt daher die Aufgabe zugrunde, ein verbessertes Verfahren der gattungsgemäßen Art bereitzustellen, welches einen hohen Grad an Manipulationssicherheit bietet.The invention is therefore based on the object of providing an improved method of the generic type which offers a high degree of security against manipulation.
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst.This object is achieved by a method with the features of claim 1.
Die Erfindung schließt den grundlegenden Gedanken ein, bei jedem Aufruf der lizensierten Funktion in eine Protokolldatei (Log-Datei) mindestens einen Marker für die Nutzung und eine kryptografische Signatur und insbesondere auch eine Systemzeit-Kennzeichnung ( "Timestamp") einzutragen. Zur Erfindung gehört demnach auch die Ausführung entsprechender Auswer- tungsschritte vor einer buchungstechnischen Verarbeitung der Protokolldatei .The invention includes the basic idea, each time the licensed function is called up in a log file (Log file) at least one marker for the use and a cryptographic signature and in particular also a system time identification ("timestamp"). Accordingly, the invention also includes the execution of corresponding evaluation steps before the log file is processed in terms of booking.
In einer ersten vorteilhaften Ausführung erfolgt bei jedem Aufruf ein Eintrag in die Protokolldatei, und die allgemein die Anzahl der Aufrufe repräsentierende Kennzeichnung (derIn a first advantageous embodiment, an entry is made in the log file with each call, and the identification (the
"Marker") ist dann in Abhängigkeit davon, ob bei der Abrechnung das Prepaid-License-Verfahren oder das Usage-Based- License-Verfahren angewandt wird, im einfachsten Fall als Einser-Dekrement oder -Inkrement eines vorhergehenden Zähler- Standes ausgebildet .Depending on whether the prepaid license method or the usage-based license method is used for billing, "marker") is in the simplest case designed as a ones decrement or increment of a previous meter reading.
In einer bevorzugten Ausführung, bei der in einer einzigen Protokolldatei die Registrierung der Nutzung von unterschiedlichen Funktionen möglich ist, wird den eingetragenen Aufru- fen jeweils eine Aufrufart-Kennzeichnung zugeordnet, die insbesondere einen spezifischen Nutzungsgebührenwert der aufgerufenen Funktion repräsentiert.In a preferred embodiment, in which it is possible to register the use of different functions in a single log file, the calls entered are each assigned a call type identifier, which in particular represents a specific usage fee value of the called function.
Im Rahmen des Prepaid-License-Verfahrens wird zur Verarbei- tung des vorbestimmten Transaktions-Kontingents vorzugsweise bei jedem Eintrag in die Protokolldatei am Ort des das Programm nutzenden Computers bzw. Computersystems eine arithmetische Verarbeitung mit dem Transaktions-Kontingent ausgeführt. Diese umfaßt insbesondere eine Addition der im jewei- ligen Eintrag enthaltenen Aufrufe (Inkrement bzw. Anzahl) bzw. Nutzungsgebührenwerte und eine Subtraktion der erhaltenen Summe von dem bei Verarbeitung des vorhergehenden Eintrages erhaltenen aktuellen "Wert" des Transaktions- Kontingentes. Im einfachsten Fall handelt es sich dabei je- weils um die Subtraktion eines dem einzelnen Aufruf zugeordneten Nutzungsgebührenwertes. In der Alternative des Usage-Based-License-Verfahrens wird zu vorgegebenen Zeiten oder in vorgegebenen Zeitabständen über eine nicht-ständige Datenverbindung die .Protokolldatei an die vom nutzenden Computer oder Computer-System entfernte Verar- beitungseinheit des Anbieters übermittelt und dort geprüft. Nach Verifizierung der Einträge wird insbesondere eine die Addition der Anzahl der Aufrufe oder der sich aus den Aufrufart-Kennzeichnungen ergebenden Nutzungsgebührenwerte umfassende Verarbeitung ausgeführt. Die erhaltene Nutzungsgebüh- rensumme wird zunächst in einer getrennten Nutzungsgebühren- datei gespeichert, die dann für einen Abrechnungsvorgang buchungstechnisch verarbeitet wird.In the context of the prepaid license method, in order to process the predetermined transaction quota, arithmetic processing with the transaction quota is preferably carried out for each entry in the log file at the location of the computer or computer system using the program. This includes, in particular, an addition of the calls (increment or number) or usage fee values contained in the respective entry and a subtraction of the sum obtained from the current "value" of the transaction quota obtained when the previous entry was processed. In the simplest case, this is in each case the subtraction of a usage fee value assigned to the individual call. In the alternative of the usage-based license method, the is at predetermined times or at predetermined time intervals via a non-permanent data connection . The log file is transmitted to the processing unit of the provider remote from the user computer or computer system and checked there. After the entries have been verified, in particular processing is carried out which includes the addition of the number of calls or the usage fee values resulting from the call type identifiers. The total usage fee received is first saved in a separate usage fee file, which is then processed for accounting purposes for a billing process.
Um Manipulationen durch Löschen des jeweils letzten Eintrages zu vermeiden, werden zu pseudo-zufälligen, durch den Nutzer nicht vorhersehbaren, für den Anbieter aber berechenbaren Zeitpunkten in der Protokolldatei zusätzliche Einträge als reine Systemzeit-Kennzeichnungen mit Signatur eingefügt. Würde bei dieser Ausführung der Nutzer die letzten Einträge der Protokolldatei löschen, könnte der Anbieter diese Manipulation anhand des Fehlens der zu dem entsprechenden Zeitraum gehörenden Systemzeit-Kennzeichnung (en) kennen, die bei ihm intern ja als vorzunehmende - und somit auch in der Protokoll- datei wieder aufzufindende - Kennzeichnungen vermerkt sind. Derartige Sicherheits-Einträge können auch eine Anzahl- Kennzeichnung der Gesamtzahl der Aufrufe enthalten.In order to avoid manipulation by deleting the last entry in each case, additional entries are inserted in the log file as pure system time markings with a signature at pseudo-random times that cannot be predicted by the user but are predictable for the provider. If the users deleted the last entries of the log file during this execution, the provider could know this manipulation by the lack of the system time marking (s) belonging to the corresponding time period, which should be done internally for him - and thus also in the log - file to be found again - markings are noted. Such security entries can also contain a number marking the total number of calls.
Die erwähnte kryptografische Signatur wird durch die Verschlüsselung mindestens der die Anzahl der Aufrufe repräsen- tierenden Kennzeichnung und wahlweise — bei der Ausführung mit Registrierung verschiedenartiger Funktionen - der Aufrufart-Kennzeichnung mit einem privaten Schlüssel des Anbieters gebildet. Bevorzugt schließt die Erzeugung der kryptografi- schen Signatur aber zusätzlich die Verschlüsselung der Sy- stemzeit-Kennzeichnung und insbesondere auch der Signatur des jeweils vorangehenden Eintrages ein. In einer bevorzugten Ausführung, die den Aufwand für die Berechnung der Signatur für jede Nutzung der Funktion bzw. Funktionen verringert, wird eine gemeinsame Signatur für eine Anzahl aufeinanderfolgender Nutzungen berechnet . Die Anzahl der zwischen zwei (signierten) Einträgen aufgelaufenen Nutzungen der Funktion wird verschlüsselt in die Log-Datei eingetragen. Auch hier wird insbesondere zu pseudo-zufälligen, nur dem Anbieter bekannten Zeitpunkten eine Systemzeit- Kennzeichnung (Timestamp) in die Protokolldatei eingetragen, und zwar zusammen mit der Anzahl der insgesamt aufgelaufenen Nutzungen mit kryptografischer Signatur.The cryptographic signature mentioned is formed by encrypting at least the identifier representing the number of calls and optionally — when executing with registration of various functions — the type of call identifier with a private key of the provider. However, the generation of the cryptographic signature preferably also includes the encryption of the system time identification and in particular also of the signature of the preceding entry. In a preferred embodiment, which reduces the effort for calculating the signature for each use of the function or functions, a common signature is calculated for a number of successive uses. The number of uses of the function accumulated between two (signed) entries is entered in encrypted form in the log file. Here too, a system time identifier (timestamp) is entered in the log file, in particular at pseudo-random times known only by the provider, together with the number of total uses with a cryptographic signature.
Die erwähnten vorbestimmten Zeitpunkte bzw. Zeitintervalle zur Erstellung der "inhaltsbehafteten" Einträge bzw. der rei- nen Timestamps werden vorteilhafterweise mittels einer - an sich bekannten - Hash-Funktion aus einem vorhergehenden Eintrag oder einem Teil eines solchen berechnet.The aforementioned predetermined points in time or time intervals for creating the "content-related" entries or the pure timestamps are advantageously calculated by means of a hash function, known per se, from a previous entry or a part of such.
Eine weitere vorteilhafte Fortbildung des Erfindungsgedankens bei der Ausführung, bei der jeweils eine gemeinsame Signatur für mehrere aufeinanderfolgende Nutzungen berechnet wird, besteht darin, daß für jeden Eintrag die die Anzahl der Aufrufe repräsentierende Kennzeichnung in gleicher Weise wie beim jeweils vorhergehenden Eintrag verschlüsselt in der Protokoll- datei mitgeführt wird. Jeder vorbereitete neue Eintrag wird hierbei mit einem um einen deterministischen Wert inkremen- tierten Zählerstand initialisiert.A further advantageous further development of the inventive concept in the execution, in which a common signature is calculated for several successive uses, is that for each entry the identification representing the number of calls is encrypted in the protocol in the same way as for the previous entry. file is carried. Each prepared new entry is initialized with a counter value incremented by a deterministic value.
Das folgende Ausführungsbeispiel verdeutlicht die Implemen- tierung der Variante mit jeweils mehrere Nutzungen repräsentierenden Einträgen für eine Usage-based License. Ein Eintrag in die Protokolldatei LD, der zum Zeitpunkt TS(i) generiert wird, ist wie folgt aufgebaut:The following embodiment illustrates the implementation of the variant with entries representing multiple uses for a usage-based license. An entry in the log file LD that is generated at the time TS (i) is structured as follows:
TS (O) TS(i) E{n(i) } |S{TS(0) ,TS(i) ,E{n(i) },S(i-l) ,pK) TS (O) TS (i) E {n (i)} | S {TS (0), TS (i), E {n (i)}, S (i-l), pK)

Claims

Dabei ist : Here is:
TS ( O ) der Zeitpunkt des Beginns der LizenzTS (O) the time the license starts
TS ( i ) der aktuelle ZeitpunktTS (i) the current time
E { . } ein Block-Cipher n ( i ) die Gesamtzahl der Nutzungen von F bis zur aktuellen Zeit TS (i)E {. a block cipher n (i) the total number of uses of F up to the current time TS (i)
S { . , pK} eine unter Benutzung des privaten Schlüssels key pK von A gebildete SignaturS {. , pK} a signature formed from A using the private key key pK
SS((ii--ll)) die Signatur des vorhergehenden EintragsSS ((ii - ll)) the signature of the previous entry
Ein solcher vollständiger Eintrag wird nach Ablauf des pseu- do-zufälligen Intervalls tl nach dem letzten Eintrag in LD geschrieben, tl kann z. B. durch eine Hash-Funktion aus dem vorhergehenden Eintrag ermittelt werden.Such a complete entry is written after the pseudo-random interval tl after the last entry in LD. B. can be determined by a hash function from the previous entry.
Die Anzahl der Nutzungen von F seit dem letzten Eintrag in LD wird in einem einzelnen Feld E{m} in der Folgezeile festgehalten:
Figure imgf000007_0001
The number of uses of F since the last entry in LD is recorded in a single field E {m} in the following line:
Figure imgf000007_0001
E{m} wird mit dem vorangehenden Eintrag initialisiert zu E{n(i)+l}. Ohne E{m} ist LD nicht gültig. Infolge der Anwen- düng der - in der Kryptografie an sich bekannten - Cipher- Funktion E{ . } ist das Feld E{m} durch B nicht zielgerichtet manipulierbar. E{m} wird danach für jeden Aufruf von F neu berechnet .E {m} is initialized with the previous entry to E {n (i) + l}. Without E {m} LD is not valid. As a result of the use of the cipher function E {which is known per se in cryptography. } the field E {m} cannot be manipulated by B in a targeted manner. E {m} is then recalculated for every call to F.
Die Ausführung der Erfindung ist nicht auf dieses Beispiel beschränkt, sondern ebenso in einer Reihe von Abwandlungen möglich, die im Rahmen fachgemäßen Handelns liegen. Verfahren zur abrechnungsfähigen Erfassung der Nutzung eines ComputerprogrammsThe implementation of the invention is not limited to this example, but is also possible in a number of modifications which are within the scope of professional action. Process for accounting for the use of a computer program
Patentansprücheclaims
Verfahren zur abrechnungsfähigen Erfassung der Nutzung eines Computerprogramms, insbesondere auf einem entfernten Computer bzw. in einem entfernten Computersystem, bei dem alle Aufrufe einer Funktion des Computerprogramms zur Er- hebung einer nutzungsumfangsbezogenen Nutzungsgebühr in einer Protokolldatei registriert werden, d a d u r c h g e k e n n z e i c h n e t, daß in die Protokolldatei nach einer vorbestimmten Anzahl von Aufrufen oder in ersten vorbestimmten Zeitintervallen je- weils mindestens eine die Anzahl der Aufrufe repräsentierende Kennzeichnung in Verbindung mit einer Systemzeit- Kennzeichnung und einer kryptografischen Signatur eingetragen wird und diese Einträge bei einer Verarbeitung der Protokolldatei zur Feststellung der Nutzungsgebühr ausge- wertet werden.Method for billable recording of the use of a computer program, in particular on a remote computer or in a remote computer system, in which all calls to a function of the computer program for collecting a usage-related usage fee are registered in a log file, characterized in that after a predetermined number of calls or in first predetermined time intervals each at least one identifier representing the number of calls is entered in connection with a system time identifier and a cryptographic signature and these entries are evaluated when the log file is processed to determine the usage fee.
Verfahren nach Anspruch 1 , d a d u r c h g e k e n n z e i c h n e t, daß ein Eintrag in die Protokolldatei bei jedem Aufruf er- folgt, wobei die die Anzahl der Aufrufe repräsentierende Kennzeichnung als Einser-Dekrement oder -Inkrement eines vorhergehenden Zählerstandes ausgebildet ist.Method according to claim 1, so that an entry is made in the log file with each call, the identification representing the number of calls being designed as a ones decrement or increment of a previous counter reading.
Verfahren nach Anspruch 1 oder 2 , d a d u r c h g e k e n n z e i c h n e t, daß den eingetragenen Aufrufen jeweils eine Aufrufart-Kenn- zeichnung zugeordnet ist, die insbesondere einen spezifischen Nutzungsgebührenwert der aufgerufenen Funktion repräsentiert .Method according to Claim 1 or 2, ie that the calls which have been entered are each assigned a call type identifier which, in particular, represents a specific usage fee value of the called function.
Verfahren nach einem der vorangehenden Ansprüche, d a d u r c h g e k e n n z e i c h n e t, daßMethod according to one of the preceding claims, d a d u r c h g e k e n n z e i c h n e t that
R : \anmeldde\s\syn012pl . doc zur Verarbeitung eines vorbestimmten Transaktions-Kontingents bei jedem Eintrag in die Protokolldatei am Ort des Computers bzw. Computersystems eine arithmetische Verarbeitung mit dem Transaktions-Kontingent ausgeführt wird, insbesondere als Addition der im Eintrag enthaltenen Aufrufe bzw. Nutzungsgebührenwerte und Subtraktion der Summe von dem bei Verarbeitung des vorhergehenden Eintrages erhaltenen aktuellen Wert des Transaktions-Kontingentes.R: \ login \ s \ syn012pl. doc for processing a predetermined transaction quota, each entry in the log file at the location of the computer or computer system is carried out arithmetic processing with the transaction quota, in particular as an addition of the calls or usage fee values contained in the entry and subtraction of the sum from that during processing of the previous entry received current value of the transaction quota.
5. Verfahren nach Anspruch 2 oder 3 und Anspruch 4, d a d u r c h g e k e n n z e i c h n e t, daß die arithmetische Verarbeitung mit dem Transaktions-Kontingent als Subtraktion des dem einzelnen Aufruf zugeordneten Nutzungsgebührenwertes ausgeführt wird.5. The method according to claim 2 or 3 and claim 4, that the arithmetic processing is carried out with the transaction quota as a subtraction of the usage fee value assigned to the individual call.
6. Verfahren nach einem der vorangehenden Ansprüche, d a d u r c h g e k e n n z e i c h n e t, daß in die Protokolldatei zwischen Aufruf-Einträgen nach zweiten vorbestimmten Zeitintervallen reine Systemzeit-Kenn- Zeichnungen, wahlweise mit Signatur und/oder kombiniert mit der Gesamtzahl der Aufrufe, eingetragen werden.6. The method according to any one of the preceding claims, so that pure system time identification drawings, optionally with a signature and / or combined with the total number of calls, are entered in the log file between call entries after second predetermined time intervals.
7. Verfahren nach einem der vorangehenden Ansprüche, d a d u r c h g e k e n n z e i c h n e t, daß die kryptografische Signatur durch die Verschlüsselung mindestens der die Anzahl der Aufrufe repräsentierenden Kennzeichnung und wahlweise der Aufrufart-Kennzeichnung mit einem privaten Schlüssel gebildet wird.7. The method according to any one of the preceding claims, that the cryptographic signature is formed by encrypting at least the identifier representing the number of calls and optionally the type of call identifier with a private key.
8. Verfahren nach Anspruch 7, d a d u r c h g e k e n n z e i c h n e t, daß die kryptografische Signatur unter zusätzlicher Verschlüsselung der Systemzeit-Kennzeichnung und der Signatur des jeweils vorangehenden Eintrages mit dem privaten Schlüssel gebildet wird.8. The method of claim 7, d a d u r c h g e k e n n z e i c h n e t that the cryptographic signature is formed with additional encryption of the system time identification and the signature of the previous entry with the private key.
9. Verfahren nach einem der vorangehenden Ansprüche, d a d u r c h g e k e n n z e i c h n e t, daß zu vorgegebenen Zeiten oder in vorgegebenen Zeitabständen über eine nicht-ständige Datenverbindung die Protokolldatei an eine vom Computer oder Computer-System entfernte Verarbeitungseinheit übermittelt und dort geprüft und insbesondere eine die Addition der Anzahl der Aufrufe oder der sich aus den Aufrufart-Kennzeichnungen ergebenden Nutzungsgebührenwerte umfassende Verarbeitung ausgeführt und die erhaltene Nutzungsgebührensumme in einer Nutzungsgebührendatei gespeichert wird.9. The method according to any one of the preceding claims, characterized in that The log file is transmitted to a processing unit remote from the computer or computer system and checked there at predetermined times or at predetermined time intervals via a non-permanent data connection, and in particular a processing comprising the addition of the number of calls or the usage fee values resulting from the call type identifiers executed and the amount of usage fees received is stored in a usage fee file.
10. Verfahren nach einem der vorangehenden Ansprüche, d a d u r c h g e k e n n z e i c h n e t, daß die ersten und/oder zweiten vorbestimmten Zeitintervalle als pseudo-zufällige Intervalle, insbesondere mittels ei- ner Hash-Funktion aus einem vorhergehenden Eintrag oder einem Teil davon, berechnet werden.10. The method as claimed in one of the preceding claims, that the first and / or second predetermined time intervals are calculated as pseudo-random intervals, in particular by means of a hash function from a previous entry or a part thereof.
11. Verfahren nach einem der Ansprüche 7 bis 10, d a d u r c h g e k e n n z e i c h n e t, daß für jeden Eintrag die die Anzahl der Aufrufe präsentierende Kennzeichnung in gleicher Weise wie beim vorhergehenden Eintrag verschlüsselt in der Protokolldatei fortlaufend mit jedem Aufruf mitgeführt wird.11. The method according to any one of claims 7 to 10, so that the identification representing the number of calls for each entry is encrypted in the log file in the same manner as for the previous entry and is carried continuously with each call in the log file.
12. Verfahren nach Anspruch 11, d a d u r c h g e k e n n z e i c h n e t, daß jeder vorbereitete neue Eintrag mit einem um einen deterministischen Wert inkrementierten Zählerstand initialisiert wird. 12. The method of claim 11, d a d u r c h g e k e n n z e i c h n e t that each prepared new entry is initialized with a counter incremented by a deterministic value.
PCT/EP2001/003901 2000-04-19 2001-04-05 Method for detecting the utilization of a computer program in a billable manner WO2001082033A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE10019492.3 2000-04-19
DE10019492 2000-04-19
DE10022470.9 2000-05-09
DE10022470A DE10022470A1 (en) 2000-04-19 2000-05-09 Software access control method for software on remote computer is based upon monitored time or number of accesses

Publications (1)

Publication Number Publication Date
WO2001082033A1 true WO2001082033A1 (en) 2001-11-01

Family

ID=26005391

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2001/003901 WO2001082033A1 (en) 2000-04-19 2001-04-05 Method for detecting the utilization of a computer program in a billable manner

Country Status (1)

Country Link
WO (1) WO2001082033A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
WO2021197820A1 (en) * 2020-03-28 2021-10-07 Robert Bosch Gmbh Method for handling an anomaly in data, in particular in a motor vehicle

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996018939A2 (en) * 1994-12-16 1996-06-20 Graphisoft R & D Software Development Company Limited By Shares Software usage metering system
EP0895148A1 (en) * 1997-07-31 1999-02-03 Siemens Aktiengesellschaft Software rental system and method for renting software
WO1999033224A1 (en) * 1997-12-19 1999-07-01 British Telecommunications Public Limited Company Data communications
US5978475A (en) * 1997-07-18 1999-11-02 Counterpane Internet Security, Inc. Event auditing system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996018939A2 (en) * 1994-12-16 1996-06-20 Graphisoft R & D Software Development Company Limited By Shares Software usage metering system
US5978475A (en) * 1997-07-18 1999-11-02 Counterpane Internet Security, Inc. Event auditing system
EP0895148A1 (en) * 1997-07-31 1999-02-03 Siemens Aktiengesellschaft Software rental system and method for renting software
WO1999033224A1 (en) * 1997-12-19 1999-07-01 British Telecommunications Public Limited Company Data communications

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
WO2021197820A1 (en) * 2020-03-28 2021-10-07 Robert Bosch Gmbh Method for handling an anomaly in data, in particular in a motor vehicle

Similar Documents

Publication Publication Date Title
DE69636457T2 (en) SECURED COMMUNICATION SYSTEM WITH NETWORKED SECRET CODES
DE69737083T2 (en) Method and device for checking data
DE69636101T2 (en) RECORDING OF A ENCRYPTED DATA PACK FOR USE IN A REMOTE TRANSACTION DATA SYSTEM
DE69636065T2 (en) ACCOUNTING AND COLLECTION SYSTEM FOR 900 NUMBERS AND METHOD FOR ONLINE COMPUTING SERVICES
EP2755846B1 (en) Method and device for allocating a parameter value detected by a charging station to a transaction
DE60121135T2 (en) SERVICE ACTIVATION BY MEANS OF A VIRTUAL ADVANCE PAYMENT CARD
DE69737960T2 (en) Billing procedure and arrangement for e-commerce
EP1227449A1 (en) Method of billing for multi-media networks
DE102008021933B4 (en) Method for determining a chain of keys, method for transmitting a subchain of the keys, computer system and chip card I
DE10296511T5 (en) Method and device for monitoring the use of a program
DE4422263A1 (en) Method for coordinating the data stock between an electronic franking machine and a data center
DE102011013741A1 (en) Charging station for electric vehicles, system and method for operating a charging station
DE10028500A1 (en) Process for installing software in hardware
EP1220075B1 (en) System and method for authorising the execution of a software installed on a computer
DE102017204250A1 (en) Method and device for securing a tachometer level of a vehicle and device for verifying a tachometer level of a vehicle
WO2001082033A1 (en) Method for detecting the utilization of a computer program in a billable manner
WO2019096491A1 (en) Method and device for enabling the authentication of products, particularly industrially produced appliances, and computer program product
DE10022470A1 (en) Software access control method for software on remote computer is based upon monitored time or number of accesses
CH716505B1 (en) System and method for providing cryptographic asset transactions, hardware approval terminal, backend server and computer program product.
EP3627434A1 (en) System, method and device for performing cryptographically secure transactions
DE69830100T2 (en) Method and device for registering information at multiple devices and recording medium with registration program stored thereon
DE60216056T2 (en) METHOD AND ARRANGEMENT IN A COMMUNICATION SYSTEM
EP3764266A1 (en) Method and device for trading on an electronic trading platform
EP1035706A2 (en) Method to connect at least two network segments to an access controller through a user identifier
WO2000042537A2 (en) Method for paying for services in a data transmission network

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP