DE112012001501T5 - Verwaltung von Lizenzen mit nutzungsabhängiger Bezahlung für Software-Anwendungen - Google Patents

Verwaltung von Lizenzen mit nutzungsabhängiger Bezahlung für Software-Anwendungen Download PDF

Info

Publication number
DE112012001501T5
DE112012001501T5 DE112012001501.0T DE112012001501T DE112012001501T5 DE 112012001501 T5 DE112012001501 T5 DE 112012001501T5 DE 112012001501 T DE112012001501 T DE 112012001501T DE 112012001501 T5 DE112012001501 T5 DE 112012001501T5
Authority
DE
Germany
Prior art keywords
user
usage
software application
software
actions
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.)
Pending
Application number
DE112012001501.0T
Other languages
English (en)
Inventor
Abhijit Bose
Shang Q. Guo
Jonathan Lenchner
Mattias Marder
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112012001501T5 publication Critical patent/DE112012001501T5/de
Pending legal-status Critical Current

Links

Images

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]
    • G06F21/12Protecting executable software

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Es werden Verfahren und Vorrichtungen zum Verwalten von Lizenzierungsmodellen mit nutzungsabhängiger Bezahlung bereitgestellt, die eine Lizenzgebühr auf der Grundlage des Gebrauchs durch den Anwender festlegen. Es wird ein Verfahren auf Client-Seite bereitgestellt, um die Nutzung eines Teils einer Software-Anwendung durch den Anwender zu überwachen, indem Aktionen des Anwenders auf einer Abbildebene überwacht werden; indem ermittelt wird, ob eine oder mehrere vorher definierte Aktionen des Anwenders erkannt werden, wobei die vorher definierten Aktionen des Anwenders die Nutzung einer Funktion der Software-Anwendung aufweisen; und indem eine Meldung der vorher definierten Aktionen des Anwenders an einen Vermittlungs-Server zur Zahlungsverarbeitung bereitgestellt wird. Die Meldungen werden wahlweise regelmäßig für eine Mehrzahl der Meldungen durchgeführt. Das Ausführen der Software-Anwendung kann wahlweise ausgesetzt werden, wenn die Zahlung für die Nutzung nicht geleistet wird oder wenn die Meldung vom Vermittlungs-Server nicht empfangen wird.

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft allgemein das Gebiet der Verwaltung von Software-Lizenzen und insbesondere die Techniken zur Verwaltung eines Software-Lizenzierungsmodells mit nutzungsabhängiger Bezahlung.
  • Hintergrund der Erfindung
  • Software spielt für die meisten Geschäfts- und Privatanwender eine wertvolle Rolle. Software wird bisher üblicherweise mit einer unbefristeten Software-Lizenz lizensiert. Bei einer unbefristeten Software-Lizenz bezahlt der Anwender einmalig für die Software und hat damit eine Lizenz für die Nutzung des gesamten Software-Pakets. In einem Unternehmensumfeld muss eine Kopie eines bestimmten Software-Produktes üblicherweise für jeden Anwender lizenziert werden. Im Allgemeinen wird bei einer unbefristeten Software-Lizenz eine einheitliche Preisstrategie angewandt, die auf Intensivanwender des Software-Produkts zugeschnitten ist. Viele Software-Anwender möchten jedoch nicht den vollen Preis für ein vollständiges Software-Paket bezahlen, wenn sie die Software selten oder nur eine Teilmenge der verfügbaren Merkmale und/oder Funktionen des vollständigen Software-Pakets nutzen.
  • Software-Anbieter können ihre Software-Produkte darüber hinaus verwerten, indem sie die Software-Produkte an diejenigen Anwender lizenzieren, die nur an einer Teilmenge der verfügbaren Funktionen interessiert sind, aber nicht den vollen Preis für den Kauf des vollständigen Software-Pakets bezahlen möchten. Für das Implementieren von Software-Lizenzierungsmodellen mit nutzungsabhängiger Bezahlung wurden eine Reihe von Techniken vorgeschlagen oder angeregt. Die meisten Lizenzierungsmodelle mit nutzungsabhängiger Bezahlung werden im Server implementiert und sind für Web-Anwendungen/Dienstleistungen gedacht. Beispielsweise bieten Betreiber von Software-as-a-Service (SaaS, Software als Dienstleistung) wie Amazon.com Inc. Preisschemeta an, die auf Modellen mit nutzungsabhängiger Bezahlung beruhen. Beispielsweise ermöglicht es die Dienstleistung Elastic Compute Cloud (EC2) von Amazon Unternehmen, ihre eigene Software zu beherbergen (to host) und auf der Grundlage der Anzahl der genutzten Anwendungsstunden zu bezahlen. Außerdem ist die Musikindustrie dazu übergegangen, überwiegend einzelne Musiktitel und nicht in erster Linie Musik in Form ganzer Compact Disks (CDs) zum Verkauf anzubieten.
  • Für Verfahren und Vorrichtungen zum Verwalten von Lizenzierungsmodellen mit nutzungsabhängiger Bezahlung, die eine Lizenzgebühr auf der Grundlage des Verbrauchs durch den Anwender ermitteln, bleibt eine Notwendigkeit bestehen. Noch eine weitere Notwendigkeit besteht für Verfahren und Vorrichtungen zum Verwalten von Lizenzierungsmodellen mit nutzungsabhängiger Bezahlung, die es einem Anwender ermöglichen, auf mehr granularer Ebene als beim herkömmlichen unbefristeten Modell Software zu erhalten und zu bezahlen.
  • Kurzdarstellung der Erfindung
  • Allgemein werden Verfahren und Vorrichtungen zum Verwalten von Lizenzierungsmodellen mit nutzungsabhängiger Bezahlung bereitgestellt, die eine Lizenzgebühr auf der Grundlage des Gebrauchs durch den Anwender ermitteln. Gemäß einem Aspekt der Erfindung wird ein clientseitiges Verfahren zum Überwachen der Nutzung eines Teils einer Software-Anwendung durch einen Anwender bereitgestellt, indem Aktionen des Anwenders auf einer Abbildebene überwacht werden; indem festgestellt wird, ob eine oder mehrere vorher definierte Anwenderaktionen erkannt werden, wobei die vorher definierten Anwenderaktionen eine Nutzung einer Funktion der Software-Anwendung aufweisen; und indem eine Meldung der vorher definierten Anwenderaktionen an einen Vermittlungs-Server zur Zahlungsverarbeitung bereitgestellt wird. Die Meldungen werden wahlweise regelmäßig für eine Mehrzahl der Meldungen durchgeführt. Das Ausführen der Software-Anwendung kann wahlweise ausgesetzt werden, wenn die Zahlung für die Nutzung nicht geleistet wird oder die Meldung vom Vermittlungs-Server nicht empfangen wird.
  • Bei einer Implementierung ermittelt ein zentraler Vermittlungs-Server eine Lizenzgebühr für die vorher definierten Anwenderaktionen. Die ermittelte Lizenzgebühr kann beispielsweise auf einer Nutzungsmenge und/oder einer Kennung der Funktion beruhen, die mit einer bestimmten vorher definierten Anwenderaktion verbunden ist. Der Vermittlungs-Server kann die Zahlung auf der Grundlage von Software-Nutzungsvereinbarungen für überwachte Software-Anwendungen und/oder Nutzungsberichten ermitteln. Die Software-Nutzungsvereinbarungen können beispielsweise Maßnahmen und Regeln für die Angabe eines Zahlungsbetrags für die Funktionen einer bestimmten Software-Anwendung aufweisen.
  • Die Anwenderaktionen können überwacht werden, beispielsweise indem Interaktionen des Anwenders mit der Benutzeroberfläche der Software-Anwendung abgetastet werden. Beispielsweise kann eines oder mehrere des Folgenden überwacht werden: Menüauswahlen, Maustastenauswahlen, Maustastenklickvorgänge, zusätzlichen Benutzeroberflächen-Widgets oder Tastenkürzel. Außerdem kann ein Abbild nahe an der Anwenderaktion abgetastet und verglichen werden, um einen Auswahltyp und eine Auswahlinstanz zu ermitteln. Bei einer beispielhaften Implementierung erfolgt das Abtasten durch ein Screen-Scraping-(Bildschirmauslese-)Werkzeug oder ein Benutzeroberflächen-Widget.
  • Ein vollständigeres Verständnis der vorliegenden Erfindung sowie weitere Merkmale und Vorteile der vorliegenden Erfindung werden unter Bezugnahme auf die folgende detaillierte Beschreibung und die Zeichnungen erlangt.
  • Kurzbeschreibung der Zeichnungen
  • 1 veranschaulicht eine beispielhafte Implementierung eines Lizenzverwaltungssystems mit nutzungsabhängiger Bezahlung, das Merkmale der vorliegenden Erfindung einbindet;
  • 2 ist ein Ablaufplan, der eine beispielhafte Implementierung eines Überwachungsprogramms auf der Client-Seite beschreibt, das Merkmale der vorliegenden Erfindung einbindet;
  • 3 veranschaulicht ein beispielhaftes Nutzungsprotokoll, das Merkmale der vorliegenden Erfindung einbindet;
  • 4A bis 4C sind Ablaufpläne, die eine beispielhafte Implementierung verschiedener Routinen beschreiben, die durch einen beispielhaften Vermittler, der Merkmale der vorliegenden Erfindung einbindet, implementiert werden;
  • 5 ist eine beispielhafte Darstellung einer Software-Nutzungsvereinbarung für eine bestimmte überwachte Anwendung; und
  • 6 veranschaulicht eine beispielhafte grafische Benutzeroberfläche (GUI), die es einem Anwender ermöglicht, einen beispielhaften Speichervorgang innerhalb einer Anwendung zu implementieren.
  • Detaillierte Beschreibung der bevorzugten Ausführungsformen
  • Die vorliegende Erfindung stellt Verfahren und Vorrichtungen zum Verwalten von Software-Lizenzierungsmodellen mit nutzungsabhängiger Bezahlung bereit. Das offenbarte Lizenzverwaltungssystem mit nutzungsabhängiger Bezahlung ermittelt eine Lizenzgebühr auf der Grundlage des Gebrauchs durch den Anwender. Gemäß einem Aspekt der Erfindung überwacht eine Überwachungs- und Messanwendung die Nutzung der Software auf dem Client-Gerät und sendet einen Nutzungsbericht an einen Zahlungsvermittler, der auf einem Server oder in einer Datenverarbeitungs-Cloud ausgeführt wird. Der Zahlungsvermittler belastet den Endanwender auf der Grundlage von Regeln in einer Software-Nutzungsvereinbarung, die für jedes Software-Produkt unterschiedlich sein können. Auf diese Weise können Regeln aufgestellt werden, dem Endanwender ein Merkmal zu berechnen, wenn der Anwender dieses Merkmal zum ersten Mal verwendet, wenn der Anwender das Merkmal zum n-ten Mal verwendet, oder einen Kostensatz auf der Grundlage, wie oft ein bestimmtes Merkmal oder bestimmter Satz Merkmale vom Anwender verwendet wird, zu berechnen. Neben anderen Vorteilen sind an der Software-Anwendung keine Änderungen erforderlich. Vielmehr werden die Zahlungsbedingungen vollständig durch eine oder mehrere von der Software-Anwendung unabhängige Überwachungs- und Messanwendungen vollzogen.
  • Bei einer beispielhaften Realisierung können Software-Anbieter die Zahlungsbedingungen in XML oder einem anderen einheitlichen Format angeben. Auf diese Weise können die Zahlungsbedingungen durch die offenbarte Überwachungs/Mess-Anwendung dem Anwender wahlweise für jede Software einheitlich angezeigt werden. Die Nutzungsberichte, die gemäß der vorliegenden Erfindung erzeugt werden, können wahlweise sowohl den Software-Anwendern als auch den Software-Anbietern bereitgestellt werden.
  • 1 veranschaulicht eine beispielhafte Implementierung eines Lizenzverwaltungssystems 100 mit nutzungsabhängiger Bezahlung, das Merkmale der vorliegenden Erfindung einbindet. Wie in 1 dargestellt, weist das beispielhafte Lizenzverwaltungssystem mit nutzungsabhängiger Bezahlung 100 eine Mehrzahl von Anwendereinheiten 110-1 bis 110-N auf (hier zusammen als Anwendereinheiten 110 bezeichnet), die eine oder mehrere Software-Anwendungen 120-1 bis 120-N (hier zusammen als Software-Anwendungen 120 bezeichnet). Die Software-Anwendungen 120-1 bis 120-N werden von einem oder mehreren Software-Anbietern 180-1 bis 180-N bereitgestellt.
  • Gemäß einem Aspekt der Erfindung überwacht ein clientseitiges Überwachungsprogramm 200 die Nutzung einer oder mehrerer der Software-Anwendungen 120, wie weiter unten in Verbindung mit 2 erörtert wird. Wie in 1 dargestellt und weiter unten erörtert, weist das beispielhafte clientseitige Überwachungsprogramm 200 einen Verbindungsmakler 130 und ein Nutzungserfassungsprogramm 140 auf. Allgemein erfasst das Nutzungserfassungsprogramm 140 Anwenderaktionen und zeichnet sie auf Abbildebene auf, und der Verbindungsmakler 130 sendet die Nutzungsprotokolle an einen zentralen Vermittler 400 zur weiteren Verarbeitung. Wie in 1 dargestellt und weiter unten in Verbindung mit 4A bis 4C erörtert, weist der beispielhafte Vermittler 400 ein Nutzungsanalysewerkzeug 150, ein Abrechnungsverwaltungswerkzeug 160 und ein Software-Profil 170 auf.
  • 2 ist ein Ablaufplan, der eine beispielhafte Implementierung eines clientseitigen Überwachungsprogramms 200 beschreibt, das Merkmale der vorliegenden Erfindung einbindet. Wie in 2 dargestellt, überwacht das clientseitige Überwachungsprogramm 200 in Schritt 210 zunächst die Anwenderaktionen auf Abbildebene. In Schritt 220 wird eine Prüfung durchgeführt, um zu ermitteln, ob eine vorher definierte Anwenderaktion erkannt wird. Bei einer beispielhaften Implementierung wird während der Arbeit des Anwenders mit der Zielanwendung 120 und bei jeder Interaktion mit dem Widget der Benutzeroberfläche (UI), z. B. einer Menüauswahl, einer Auswahl aus dem Kontextmenü oder ein Maustastenklick auf eine Schaltfläche, das Abbild um die Markerkoordinaten herum (d. h. die Koordinaten des Ereignisses, das die Interaktion signalisiert) abgetastet und verglichen, um die Art der Auswahl (Menüauswahl, Auswahl aus dem Kontextmenü mit der rechten Maustaste, Klick auf eine Schaltfläche etc.) und die Instanz (d. h., welche Menüauswahl gewählt wurde oder welche Schaltfläche angeklickt wurde) zu ermitteln.
  • Wenn in Schritt 220 festgestellt wird, dass eine vorher definierte Anwenderaktion nicht erkannt wird, kehrt die Programmsteuerung zu Schritt 210 zurück. Wenn jedoch in Schritt 220 festgestellt wird, dass eine vorher definierte Anwenderaktion erkannt wird, erfasst das Nutzungserfassungsprogramm 140 die Anwenderaktionen in Schritt 230 auf Abbildebene. Die Anwenderaktionen können beispielsweise über ein Screen-Scraping-Werkzeug erfasst werden, das beispielsweise die Techniken nutzt, die in den jeweils durch Bezugnahme hier eingeschlossenen US-Patentanmeldungsschriften Nr. 2008/0001959 und Nr. 2009/0273597 beschrieben werden. Das Screen-Scraping-Werkzeug kann beispielsweise eine Angabe der Menüauswahl oder der Schaltfläche, die der Anwender anklickt, oder der Tastenkombination (Befehlstastenkürzel für die Funktion), die der Anwender eingibt, über Ereignisse des Betriebssystems (OS) erfassen. Die Nutzung eines unabhängigen Werkzeugs zum Erfassen der Anwenderaktionen ermöglicht es, dass die vorliegende Erfindung gegebenenfalls ohne wesentliche Änderungen an den Software-Anwendungen 120 implementiert werden kann. In einer weiteren Abwandlung können die Anwenderaktionen durch ein Benutzeroberflächen-Widget erlangt werden, das eingerichtet ist, seine Verwendung zu melden. Diese Einrichtung kann einmal auf Betriebssystemebene erfolgen (z. B. innerhalb des Windows Software Development Kit (SDK)) und dann von einer Anwendung 120 verwendet werden, die dieses SDK nutzt. In Schritt 250 wird ein Nutzungsbericht 300 des Ereignisses aufgezeichnet, wie weiter unten in Verbindung mit 3 erörtert wird.
  • Wie in 2 in Schritt 260 dargestellt, baut der Verbindungsmakler 130 regelmäßig eine Handshake-Verbindung mit dem Vermittler 400 auf und sendet die Nutzungsprotokolle 300 an den Vermittler 150. Wenn der Verbindungsmakler 130 sich nach einem maximal zulässigen Zeitraum nicht mit dem Vermittler 400 verbinden kann oder der Anwender nicht für die Nutzung zahlt, kann das Ausführen der Anwendung ausgesetzt werden.
  • Es ist anzumerken, dass die Nutzungsprotokolle 300, die in Schritt 260 gesendet werden, wahlweise über die Zeit angesammelt und stapelweise an den Vermittler 150 gesendet werden können. So kann es dem Anwender auch dann ermöglicht werden, die Software-Anwendung 120 zu nutzen, wenn die Anwendereinheit 110 offline ist. Sobald der Anwender einen vorher definierten Grenzwert erreicht hat, z. B. einen maximalen Zeitraum oder eine Anzahl Anwenderaktionen, muss der Verbindungsmakler 130 Verbindung zum Vermittler 400 aufnehmen, um einen ununterbrochenen Zugang zur Software-Anwendung 120 zu gewährleisten.
  • 3 veranschaulicht ein beispielhaftes Nutzungsprotokoll 300, das Merkmale der vorliegenden Erfindung einbindet. Wie zuvor angegeben, wird bei Erkennen eines vorher definierten Nutzungsereignisses, z. B. Aufrufen einer Speicherfunktion einer bestimmten Software-Anwendung 120 durch den Anwender, ein bestimmtes Nutzungsprotokoll 300 durch das clientseitige Überwachungsprogramm 200 erstellt. Wie in 3 dargestellt, werden im beispielhaften Nutzungsprotokoll 300 eine Kennung der Software-Anwendung 120, eine Kennung des zur Software-Anwendung 120 gehörigen Software-Anbieters 180, eine Kennung der zugehörigen Anwendereinheit 110 und des zugehörigen Betriebssystems (OS), die zum Nutzungsereignis gehörige Funktion, ein Zeit/Datums-Stempel, der Dateiname bzw. die Dateigröße, die zur Nutzung gehören, die Aktionsart und die Kosten für das Nutzungsereignis aufgezeichnet.
  • 4A ist ein Ablaufplan, der eine beispielhafte Realisierung einer beispielhaften Software-Profilverwaltungsroutine 410 beschreibt, die durch den Vermittler 400 realisiert werden kann und Merkmale der vorliegenden Erfindung einbindet. Wie in 4A dargestellt, entwickelt die Software-Profilverwaltungsroutine 410 in Schritt 420 ein Software-Profil 170 mit Software-Nutzungsvereinbarungen 500 für jede überwachte Anwendung 120 der entsprechenden Software-Anbieter 180. Wie weiter unten in Verbindung mit 5 erörtert wird, weisen die beispielhaften Software-Nutzungsvereinbarungen 500 beispielsweise die Maßnahmen/Regeln auf, die die Namen der jeweiligen Software-Funktionen, die (Namen der) bei Aufruf der Funktionen zu vergleichenden Abbilddateien, gegebenenfalls ein Tastenkürzel zum Aufrufen der Funktion und eine detaillierte Beschreibung angeben, wie die Funktionen abgerechnet werden, z. B. auf nutzungsabhängiger Grundlage in der Client-Anwendung.
  • Wie zuvor angegeben, sendet der Verbindungsmakler 130 in der Anwendereinheit 110 Nutzungsprotokolle 300 an den zentralen Vermittler 400 zur Weiterverarbeitung. 4B ist ein Ablaufplan, der eine beispielhafte Implementierung einer beispielhaften Software-Nutzungsanalyseroutine 430 beschreibt, die durch den Vermittler 400 implementiert werden kann und Merkmale der vorliegenden Erfindung einbindet. In Schritt 440 erstellt die Nutzungsanalysefunktion 150 des Vermittlers 400 Nutzungsanalyseberichte und stellt diese für die Anwender und/oder Software-Anbieter 180 bereit.
  • 4C ist ein Ablaufplan, der eine beispielhafte Implementierung einer beispielhaften Abrechnungsverwaltungsroutine 450 beschreibt, die durch den Vermittler 400 implementiert werden kann und Merkmale der vorliegenden Erfindung einbindet. In Schritt 460 berechnet die Abrechnungsverwaltungsfunktion 160 dem Anwender 110 die Nutzung der Anwendungsfunktionen auf der Grundlage der Nutzungsvereinbarungen 500 und der Nutzungsberichte 300.
  • 5 ist eine beispielhafte Darstellung einer Software-Nutzungsvereinbarung 500 für eine bestimmte überwachte Anwendung 120, wie sie vom Software-Anbieter 180 bereitgestellt wird. Die Software-Nutzungsvereinbarung 500 kann beispielsweise in einem XML-Format bereitgestellt und gespeichert werden. Wie zuvor angegeben, weisen die beispielhaften Software-Nutzungsvereinbarungen 500 beispielsweise die Maßnahmen/Regeln auf, die die Namen der jeweiligen Software-Funktionen, die (Namen der) bei Aufruf der Funktionen zu vergleichenden Abbilddateien, gegebenenfalls ein Tastenkürzel zum Aufrufen der Funktionen und eine detaillierte Beschreibung angeben, wie die Funktionen abgerechnet werden, z. B. auf nutzungsabhängiger Grundlage in der Client-Anwendung 120.
  • Es wird darauf hingewiesen, dass die Software-Nutzungsvereinbarung 500 für eine bestimmte überwachte Anwendung 120 wahlweise zusätzlich zum Vermittler 400 in der Anwendereinheit 110 gespeichert werden kann. Die clientseitige Software-Nutzungsvereinbarung 500 ermöglicht es dem Nutzungserfassungsprogramm 140 der Anwendereinheit 110, die Nutzungsaktionen zu filtern, die in den Nutzungsprotokollen 300 aufgezeichnet werden, um beispielsweise nur diejenigen Aktionen, die eine Abrechnung auslösenden Funktionen entsprechen, an den Vermittler 400 zu übertragen.
  • 6 veranschaulicht eine beispielhafte grafische Benutzeroberfläche (GUI), die es einem Anwender ermöglicht, beispielsweise einen Speichervorgang in einer Anwendung 120 zu implementieren. Wie in 6 dargestellt, ermöglicht es die beispielhafte GUI 600 einem Anwender, durch Auswählen einer Menüoption 610 oder durch ein Tastenkürzel 620 einen Speichervorgang zu implementieren. Wenn der Anwender den Vorgang „Speichern” 610 oder 620 auswählt, wird die Aktion erfasst, aufgezeichnet und an den Vermittler 400 gesendet. Ein beispielhaftes Nutzungsprotokoll 300 für einen beispielhaften Speichervorgang ist in 3 dargestellt. Eine beispielhafte Software-Nutzungsvereinbarung 500 für einen beispielhaften Speichervorgang ist in 5 dargestellt. Der Vermittler 400 rechnet mit dem Anwender auf der Grundlage der Nutzungsvereinbarung 500 ab, die im Software-Profil 170 gespeichert ist.
  • Einzelheiten zu einem beispielhaften System und zu einem Fertigungsartikel
  • Wie für den Fachmann ersichtlich, können Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt ausgeführt werden. Entsprechend können Aspekte der vorliegenden Erfindung die Form einer lediglich aus Hardware bestehenden Ausführungsform, einer lediglich aus Software bestehenden Ausführungsform (darunter Firmware, residente Software, Mikro-Code etc.) oder einer Software- und Hardware-Aspekte kombinierenden Ausführungsform annehmen, die hier alle generell als „Schaltung”, „Modul” oder „System” bezeichnet werden. Ferner können Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien mit darauf verkörpertem Programmcode verkörpert ist.
  • Eine oder mehrere Ausführungsformen der Erfindung oder ihrer Elemente können in Form einer Vorrichtung mit einem Speicher und mindestens einem Prozessor implementiert werden, der mit dem Speicher verbunden und funktionsmäßig in der Lage ist, die beispielhaften Verfahrensschritte durchzuführen.
  • Eine oder mehrere Ausführungsformen können Software nutzen, die auf einem Universal-Computer bzw. einer Universal-Workstation läuft. 7 stellt ein Computersystem 700 bildlich dar, das beim Implementieren eines oder mehrerer Aspekte und/oder Elemente der vorliegenden Erfindung nützlich sein kann. Auf 7 Bezug nehmend, kann eine solche Implementierung beispielsweise einen Prozessor 702, einen Speicher 704 und eine Eingabe/Ausgabe-Schnittstelle verwenden, die beispielsweise durch eine Anzeige 706 und eine Tastatur 708 gebildet wird. Der Ausdruck „Prozessor” wie hier verwendet soll jede beliebige Verarbeitungseinheit einschließen, wie beispielsweise eine Einheit mit einer CPU (Zentraleinheit) und/oder anderen Formen einer verarbeitenden Schaltung.
  • Ferner kann sich der Ausdruck „Prozessor” auf mehr als einen einzelnen Prozessor beziehen. Der Ausdruck „Speicher” soll einen mit einem Prozessor oder einer CPU verbundenen Speicher einschließen wie beispielsweise einen RAM (Schreib-Lese-Speicher), einen ROM (Nur-Lese-Speicher), eine feste Speichereinheit (z. B. Festplatte), eine Wechselspeichereinheit (z. B. Diskette), einen Flash-Speicher und Ähnliches. Außerdem soll die Wortverbindung „Eingabe/Ausgabe-Schnittstelle” wie hier verwendet beispielsweise einen oder mehrere Mechanismen zum Eingeben von Daten in die Verarbeitungseinheit (z. B. Maus) und einen oder mehrere Mechanismen für das Bereitstellen von Ergebnissen, die mit der Verarbeitungseinheit verbunden sind (z. B. Drucker) einschließen. Der Prozessor 702, der Speicher 704 und die Eingabe/Ausgabe-Schnittstelle wie beispielsweise die Anzeige 706 und die Tastatur 708 können miteinander verbunden werden, z. B. über einen Bus 710 als Teil der Datenverarbeitungseinheit 712. Geeignete Verbindungen, z. B. über den Bus 710, können auch für eine Netzwerkschnittstelle 714 wie beispielsweise eine Netzwerkkarte, die als Schnittstelle zu einem Computernetzwerk bereitgestellt werden kann, und für eine Medienschnittstelle 716 wie beispielsweise ein Disketten- oder CD-ROM-Laufwerk, die als Schnittstelle zu den Medien 718 bereitgestellt werden kann, bereitgestellt werden.
  • Es können ein oder mehrere Analog/Digital-Wandler 720 bereitgestellt werden, um analoge Eingaben, z. B. eine analoge Video-Einspielung, zu empfangen und diese zu digitalisieren. Derartige Wandler können mit dem Systembus 710 verbunden sein.
  • Entsprechend kann Computer-Software mit Anweisungen oder Programmcode zum Durchführen der Methodiken der Erfindung wie hier beschrieben in mindestens einer der zugehörigen Speichereinheiten (z. B. ROM, fester oder Wechselspeicher) gespeichert werden und, sobald nutzungsbereit, in Teilen oder im Ganzen (z. B. in den RAM) geladen und durch eine CPU implementiert werden. Eine solche Software könnte unter anderem Firmware, residente Software, Mikro-Code und Ähnliches sein, ohne darauf beschränkt zu sein.
  • Ein Datenverarbeitungssystem, das zum Speichern und/oder Ausführen von Programmcode geeignet ist, enthält mindestens einen Prozessor 702, der über einen Systembus 710 direkt oder indirekt mit Speicherelementen 704 verbunden ist. Zu den Speicherelemente können unter anderem ein lokaler Speicher, der während der eigentlichen Implementierung des Programmcodes verwendet wird, ein Massenspeicher und Zwischenspeicher gehören, die eine vorübergehende Speicherung von mindestens einem Teil von Programmcode bereitstellen, um die Anzahl der Male zu verringern, die der Programmcode während der Realisierung aus dem Massenspeicher abgerufen werden muss.
  • Eingabe/Ausgabe- bzw. E/A-Einheiten (darunter Tastaturen 708, Anzeigen 706, Zeigeeinheiten und Ähnliches, ohne auf diese beschränkt zu sein) können entweder direkt (wie z. B. über den Bus 710) oder über zwischengeschaltete E/A-Steuereinheiten (der Übersichtlichkeit halber weggelassen) mit dem System verbunden sein.
  • Netzwerkadapter wie die Netzwerkschnittstelle 714 können ebenfalls mit dem System verbunden werden, damit das Datenverarbeitungssystem über zwischengeschaltete private oder öffentliche Netzwerke mit anderen Datenverarbeitungssystemen oder entfernt angeordneten Druckern oder Speichereinheiten verbunden werden kann. Modems, Kabelmodem und Ethernet-Karten sind nur einige der aktuell erhältlichen Arten von Netzwerkadaptern.
  • Wie hier sowie in den Ansprüchen verwendet, beinhaltet ein „Server” ein physisches Datenverarbeitungssystem (z. B. System 712, wie in 7 dargestellt), auf dem ein Serverprogramm läuft. Es ist anzumerken, dass ein solcher physischer Server gegebenenfalls eine Anzeige und eine Tastatur beinhalten kann.
  • Wie erwähnt, können Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien mit darauf verkörpertem Programmcode verkörpert ist.
  • Jede Kombination eines oder mehrerer computerlesbarer Medien kann verwendet werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder um ein computerlesbares Speichermedium handeln. Ein computerlesbares Speichermedium kann beispielsweise ein(e) elektronische(s), magnetische(s), optische(s), elektromagnetische(s), Infrarot- oder Halbleiter-System, -Vorrichtung oder -Einheit oder eine beliebige geeignete Kombination der vorgenannten sein, ohne auf diese beschränkt zu sein. Der Medienblock 718 ist ein nichteinschränkendes Beispiel. Spezifischere Beispiele (eine nicht erschöpfende Liste) computerlesbarer Speichermedien wären u. a. folgende: eine elektrische Verbindung mit einem oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compact-Disk-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine Magnetspeichereinheit oder jede beliebige Kombination der vorgenannten. Im Kontext dieses Dokuments kann ein computerlesbares Speichermedium jedes materielle Medium sein, das ein Programm zur Verwendung durch oder in Zusammenhang mit einem/r Anweisungsausführungssystem, -vorrichtung oder -einheit enthalten oder speichern kann.
  • Ein computerlesbares Signalmedium kann ein verbreitetes Datensignal mit darin verkörpertem computerlesbarem Programmcode aufweisen, beispielsweise im Basisband oder als Teil einer Trägerwelle. Ein solches verbreitetes Signal kann jede beliebige einer Vielfalt von Formen annehmen, darunter, ohne darauf beschränkt zu sein, elektromagnetisch, optisch oder jede geeignete Kombination davon. Ein computerlesbares Signalmedium kann jedes computerlesbare Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem/r Anweisungsausführungssystem, -vorrichtung oder -einheit übermitteln, verbreiten oder transportieren kann.
  • Programmcode, der auf einem computerlesbaren Medium verkörpert ist, kann unter Verwendung eines geeigneten Mediums, darunter, ohne auf diese beschränkt zu sein, drahtlose, drahtgebundene, Lichtwellenleiterkabel-, HF-Medien etc. oder jeder beliebigen geeigneten Kombination der vorgenannten übertragen werden.
  • Computerprogrammcode zum Ausführen von Operationen für Aspekte der vorliegenden Erfindung kann in jeder beliebigen Kombination einer oder mehrerer Programmiersprachen geschrieben sein, darunter eine objektorientierte Programmiersprache wie Java, Smalltalk, C++ oder Ähnliche und herkömmliche prozedurale Programmiersprachen wie der Programmiersprache „C” oder ähnliche Programmiersprachen. Der Programmcode kann gänzlich auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder gänzlich auf einem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Szenario kann der entfernt angeordnete Computer über jede Art von Netzwerk mit dem Computer des Benutzers verbunden werden, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann mit einem externen Computer erfolgen (beispielsweise über das Internet mit Hilfe eines Internet-Dienstanbieters).
  • Aspekte der vorliegenden Erfindung sind nachstehend unter Bezugnahme auf Ablaufplandarstellungen und/oder Blockschaubildern von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es ist anzumerken, dass jeder Block der Ablaufplandarstellungen und/oder Blockschaubilder und Kombinationen von Blöcken in den Ablaufplandarstellungen und/oder Blockschaubildern durch Computerprogrammanweisungen implementiert werden können. Diese Computerprogrammanweisungen können einem Prozessor eines Universal-Computers, eines Spezial-Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zum Erzeugen einer Maschine bereitgestellt werden, so dass die Anweisungen, die über den Prozessor des Computers oder eine andere programmierbare Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel zur Implementierung der im Block bzw. den Blöcken des Ablaufplans und/oder Blockschemas spezifizierten Funktionen/Handlungen erzeugen.
  • Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten anweisen kann, in einer bestimmten Weise zu funktionieren, so dass die im computerlesbaren Medium gespeicherten Anweisungen einen Fertigungsartikel erzeugen, darunter Anweisungen, die die im Block bzw. in den Blöcken des Ablaufplans und/oder Blockschaubilds spezifizierten Funktionen/Handlungen implementieren.
  • Die Computerprogrammanweisungen können auch in einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um die Durchführung einer Reihe von Funktionsschritten auf dem Computer, einer anderen programmierbaren Datenverarbeitungsvorrichtung oder anderen Einheiten zum Erzeugen eines auf einem Computer implementierten Prozesses zu bewirken, so dass die Anweisungen, die auf dem Computer oder einer anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse zur Implementierung der im Block bzw. in den Blöcken des Ablaufplans und/oder Blockschaubilds spezifizierten Funktionen/Handlungen bereitstellen.
  • Der Ablaufplan und die Blockschaubilder in den FIG. veranschaulichen die Architektur, Funktionalität und Funktion möglicher Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. Diesbezüglich kann jeder Block im Ablaufplan oder in den Blockschaubildern ein Modul, Segment oder Teil von Programmcode darstellen, das/der eine oder mehrere ausführbare Anweisungen zur Realisierung der spezifizierten Logikfunktion(en) aufweist. Es ist ebenfalls anzumerken, dass bei manchen alternativen Realisierungen die im Block genannten Funktionen in anderer als der in den Figuren genannten Reihenfolge auftreten können. Beispielsweise können zwei aufeinanderfolgend dargestellte Blöcke je nach beteiligter Funktionalität sogar im Wesentlichen gleichzeitig ausgeführt werden oder die Blöcke können manchmal in umgekehrter Reihenfolge ausgeführt werden. Es ist auch anzumerken, dass jeder Block der Blockschaubilder und/oder Ablaufplandarstellung und Kombinationen aus Blöcken in den Blockschaubildern und/oder der Ablaufplandarstellung durch spezielle Systeme auf der Grundlage von Hardware, die die spezifizierten Funktionen oder Handlungen ausführen, oder Kombinationen aus spezieller Hardware und Computeranweisungen implementiert werden können.
  • Hier beschriebene Verfahrensschritte können beispielsweise an einen Universal-Computer, der zum Durchführen solcher Schritte programmiert wurde, oder an Hardware zum Durchführen solcher hier beschriebener Schritte geknüpft sein, wie hier beschrieben. Ferner können hier beschriebene Verfahrensschritte, darunter beispielsweise Gewinnen und Codieren von Datenströmen ebenfalls an physische Sensoren wie Kameras oder Mikrofone geknüpft sein, von denen die Datenströme gewonnen werden.
  • Es ist anzumerken, dass jedes der hier beschriebenen Verfahren einen zusätzlichen Schritt des Bereitstellens eines Systems beinhalten kann, das unterscheidbare Software-Module aufweist, die auf einem computerlesbaren Speichermedium verkörpert sind. Die Verfahrensschritte können dann unter Verwendung der oben beschriebenen unterscheidbaren Software-Module und/oder Teilmodule des oben beschriebenen Systems in mindestens einem Hardware-Prozessor 702 ausgeführt werden. In manchen Fällen kann spezielle Hardware verwendet werden, um eine oder mehrere der hier beschriebenen Funktionen zu realisieren. Ferner kann ein Computerprogrammprodukt ein computerlesbares Speichermedium mit Programmcode enthalten, der implementiert werden kann, um einen oder mehrere hier beschriebene Verfahrensschritte durchzuführen, darunter die Bereitstellung des Systems mit den unterscheidbaren Software-Modulen.
  • Auf jeden Fall ist anzumerken, dass die hier veranschaulichten Komponenten in verschiedenen Formen von Hardware, Software oder Kombinationen davon implementiert werden können, z. B. anwendungsspezifische integrierte Schaltkreise (ASICs), funktionale Schaltungen, ein in geeigneter Weise programmierter digitaler Universal-Computer mit zugehörigem Speicher und Ähnliches. Anhand der Lehren der hier bereitgestellten Erfindung kann ein Fachmann andere Implementierungen der Komponenten dieser Erfindung in Betracht ziehen.
  • Die hier verwendete Terminologie dient nur dem Zweck, bestimmte Ausführungsformen zu beschreiben, und soll die Erfindung nicht einschränken. Wie hier verwendet, sollen die Singularformen „ein”, „eine” und „der, die, das” auch die Pluralformen einschließen, sofern es der Kontext nicht anders angibt. Es ist ferner anzumerken, dass die Ausdrücke „aufweist” und/oder „aufweisend”, wenn sie in dieser Spezifikation verwendet werden, das Vorhandensein der genannten Merkmale, Ganzzahlen, Schritte, Operationen, Elemente und/oder Komponenten angeben, aber nicht das Vorhandensein oder Hinzufügen eines/r oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon ausschließen.
  • Die entsprechenden Strukturen, Materialien, Handlungen und Äquivalente aller Mittel oder aus Schritt-plus-Funktion bestehender Elemente in den nachstehenden Ansprüchen sollen jede Struktur, jedes Material oder jede Handlung für das Durchführen der Funktion in Verbindung mit anderen beanspruchten Elementen, wie im Besonderen beansprucht, einschließen. Die Beschreibung der vorliegenden Erfindung wurde zum Zweck der Veranschaulichung und Beschreibung dargestellt, soll aber nicht erschöpfend oder auf die Erfindung in der offenbarten Form beschränkt sein. Viele Modifikationen und Variationen werden für den Fachmann offensichtlich sein, ohne vom Umfang und Geist der Erfindung abzuweichen. Die Ausführungsform wurde gewählt und beschrieben, um die Grundgedanken der Erfindung und die praktische Anwendung am besten zu beschreiben, und um andere Fachleute zu befähigen, die Erfindung für verschiedene Ausführungsformen mit verschiedenen Modifikationen nachzuvollziehen, die für den besonders betrachteten Gebrauch geeignet sind.

Claims (25)

  1. Clientseitiges Verfahren zum Überwachen einer Nutzung eines Teils einer Software-Anwendung durch einen Anwender, wobei das Verfahren aufweist: Überwachen von Aktionen des Anwenders auf einer Abbildebene; Ermitteln, ob eine oder mehrere vorher definierte Anwenderaktionen erkannt werden, wobei die eine oder die mehreren Anwenderaktionen eine Nutzung einer Funktion der Software-Anwendung aufweisen; und Bereitstellen einer Meldung der einen oder der mehreren vorher definierten Anwenderaktion an einen Vermittlungs-Server zur Zahlungsverarbeitung.
  2. Verfahren nach Anspruch 1, das ferner einen Schritt des Aussetzens des Ausführens der Software-Anwendung aufweist, wenn die Zahlung für die Nutzung nicht geleistet wird.
  3. Verfahren nach Anspruch 1, das ferner einen Schritt des Aussetzens des Ausführens der Software-Anwendung aufweist, wenn die Meldung nicht vom Vermittlungs-Server empfangen wird.
  4. Verfahren nach Anspruch 1, wobei der Schritt des Bereitstellens der Meldung in regelmäßigen Abständen für eine Mehrzahl von Meldungen durchgeführt wird.
  5. Verfahren nach Anspruch 4, wobei der Anwender über einen Zeitraum die Software-Anwendung in einem Offline-Modus nutzen kann, vorausgesetzt, dass nicht ein oder mehrere vorher definierte Kriterien verletzt werden.
  6. Verfahren nach Anspruch 1, wobei der Vermittlungs-Server für die Zahlungsverarbeitung für die vorher definierten Anwenderaktionen eine Lizenzgebühr auf der Grundlage einer Nutzungsmenge ermittelt.
  7. Verfahren nach Anspruch 1, wobei der Vermittlungs-Server für die Zahlungsverarbeitung für die vorher definierten Anwenderaktionen eine Lizenzgebühr auf der Grundlage einer Kennung der Funktion ermittelt, die mit einer bestimmten vorher definierten Anwenderaktion verbunden ist.
  8. Verfahren nach Anspruch 1, wobei der Überwachungsschritt ferner einen Schritt des Abtastens der Benutzeroberflächen-Interaktionen des Anwenders mit der Software-Anwendung aufweist.
  9. Verfahren nach Anspruch 8, wobei der Abtastschritt ferner einen Schritt des Überwachens eines oder mehrerer von Menüauswahlen, Auswahlen mit der Maustaste, Maustasten-Klickvorgängen, zusätzlichen Benutzeroberflächen-Widgets und Tastenkürzel aufweist.
  10. Verfahren nach Anspruch 8, wobei der Abtastschritt ferner Schritte des Abtastens eines Abbilds nahe der Anwenderaktion und des Vergleichens des abgetasteten Abbilds aufweist, um eine Art und Instanz der Auswahl zu ermitteln.
  11. Verfahren nach Anspruch 10, wobei der Abtastschritt mit einem Screen-Scraping-Werkzeug durchgeführt wird.
  12. Verfahren nach Anspruch 8, wobei der Abtastschritt mit einem Benutzeroberflächen-Widget durchgeführt wird.
  13. Verfahren nach Anspruch 1, wobei der Vermittlungs-Server eine Zahlung auf der Grundlage eines oder mehrerer von Nutzungsvereinbarungen und Nutzungsberichten ermittelt.
  14. Verfahren nach Anspruch 1, wobei der Vermittlungs-Server eine Zahlung auf der Grundlage mindestens einer Software-Nutzungsvereinbarung für eine oder mehrere überwachte Software-Anwendungen festlegt.
  15. Verfahren nach Anspruch 14, wobei die Software-Nutzungsvereinbarungen eine oder mehrere von Maßnahmen und Regeln zum Angeben eines Zahlungsbetrags für eine oder mehrere Funktionen einer bestimmten Software-Anwendung aufweisen.
  16. Verfahren nach Anspruch 1, das ferner einen Schritt des Bereitstellens eines oder mehrerer Nutzungsanalyseberichte an einen oder mehrere von dem Anwender und einem Software-Anbieter aufweist.
  17. Clientseitiges System zum Überwachen der Nutzung eines Teils einer Software-Anwendung durch einen Anwender, wobei das System aufweist: einen Speicher; und mindestens einen mit dem Speicher verbundenen Prozessor, der in der Lage ist zum: Überwachen von Aktionen des Anwenders auf einer Abbildebene; Ermitteln, ob eine oder mehrere vorher definierte Anwenderaktionen erkannt werden, wobei die eine oder die mehreren Anwenderaktionen die Nutzung einer Funktion der Software-Anwendung aufweisen; und Bereitstellen einer Meldung der einen oder der mehreren vorher definierten Anwenderaktionen an einen Vermittlungs-Server zur Zahlungsverarbeitung.
  18. System nach Anspruch 17, wobei der Prozessor ferner so konfiguriert ist, dass er das Ausführen der Software-Anwendung aussetzt, wenn die Zahlung für die Nutzung nicht geleistet wird.
  19. System nach Anspruch 17, wobei der Prozessor ferner so konfiguriert ist, dass er das Ausführen der Software-Anwendung aussetzt, wenn die Meldung vom Vermittlungs-Server nicht empfangen wird.
  20. System nach Anspruch 17, wobei die Meldung in regelmäßigen Abständen für eine Mehrzahl von Meldungen bereitgestellt wird.
  21. System nach Anspruch 20, wobei der Anwender über einen Zeitraum die Software-Anwendung in einem Offline-Modus nutzen kann, vorausgesetzt, dass nicht ein oder mehrere vorher definierte Kriterien verletzt werden.
  22. System nach Anspruch 17, wobei der Vermittlungs-Server für die Zahlungsverarbeitung eine Lizenzgebühr auf der Grundlage einer Nutzungsmenge für die vorher definierten Anwenderaktionen ermittelt.
  23. System nach Anspruch 17, wobei der Vermittlungs-Server für die Zahlungsverarbeitung eine Lizenzgebühr auf der Grundlage einer Kennung der Funktion, die mit einer bestimmten vorher definierten Anwenderaktion verbunden ist, für die vorher definierten Anwenderaktionen ermittelt.
  24. System nach Anspruch 17, wobei die Aktionen durch Abtasten der Benutzeroberflächen-Interaktionen des Anwenders mit der Software-Anwendung überwacht werden.
  25. Fertigungsartikel für clientseitige Überwachung einer Nutzung eines Teils einer Software-Anwendung durch einen Anwender, wobei der Fertigungsartikel ein materielles maschinenlesbares, beschreibbares Medium mit mindestens einem Programm aufweist, das beim Ausführen folgende Schritte implementiert: Überwachen von Aktionen des Anwenders auf einer Abbildebene; Ermitteln, ob eine oder mehrere vorher definierte Anwenderaktionen erkannt werden, wobei die eine oder die mehreren Anwenderaktionen en Nutzen einer Funktion der Software-Anwendung aufweisen; und Bereitstellen einer Meldung der mindestens einen vorher definierten Anwenderaktion an einen Vermittlungs-Server zur Zahlungsverarbeitung.
DE112012001501.0T 2011-03-30 2012-03-27 Verwaltung von Lizenzen mit nutzungsabhängiger Bezahlung für Software-Anwendungen Pending DE112012001501T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
USUS-13/075,643 2011-03-30
US13/075,643 US20120254024A1 (en) 2011-03-30 2011-03-30 Pay-Per-Use License Management for Software Applications
PCT/CA2012/050189 WO2012129689A1 (en) 2011-03-30 2012-03-27 Pay-per-use license management for software applications

Publications (1)

Publication Number Publication Date
DE112012001501T5 true DE112012001501T5 (de) 2014-01-02

Family

ID=46928548

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012001501.0T Pending DE112012001501T5 (de) 2011-03-30 2012-03-27 Verwaltung von Lizenzen mit nutzungsabhängiger Bezahlung für Software-Anwendungen

Country Status (4)

Country Link
US (1) US20120254024A1 (de)
JP (1) JP2014516431A (de)
DE (1) DE112012001501T5 (de)
WO (1) WO2012129689A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150088680A1 (en) * 2013-09-24 2015-03-26 Xerox Coporation Methods and systems for operating a marketplace for software products
US9881144B2 (en) 2015-06-15 2018-01-30 International Business Machines Corporation Identifying usage of code
US9922176B2 (en) 2015-10-16 2018-03-20 International Business Machines Corporation Borrowing software licenses in a license management system for time based usage
US11128482B2 (en) * 2019-04-19 2021-09-21 Microsoft Technology Licensing, Llc Metering cloud workloads at edge computing devices

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5437014A (en) * 1991-12-31 1995-07-25 International Business Machines Corporation System for supporting mouse button events of dependent workstation terminals connected to main processor executing multiple application programs
US6578199B1 (en) * 1999-11-12 2003-06-10 Fujitsu Limited Automatic tracking system and method for distributable software
US20020083003A1 (en) * 2000-09-26 2002-06-27 Halliday David C. Method and apparatus for the accurate metering of software application usage and the reporting of such usage to a remote site on a public network
US7036006B2 (en) * 2001-05-17 2006-04-25 Veritas Operating Corporation System to provide computing as a product using dynamic computing environments
US7571143B2 (en) * 2002-01-15 2009-08-04 Hewlett-Packard Development Company, L.P. Software pay-per-use pricing
US20050144175A1 (en) * 2002-02-18 2005-06-30 Siemens Aktiengesellschaft Method and system for administrating use of a service
WO2005064458A1 (en) * 2003-12-23 2005-07-14 Sentillion, Inc. Methods and apparatus for externally controlling a software application to create new application behavior
JP2005284827A (ja) * 2004-03-30 2005-10-13 Fujitsu Ltd 情報処理装置
US20080001959A1 (en) * 2006-06-28 2008-01-03 Amir Geva System, Method and Computer Program Product for Performing Information Transfer Using a Virtual Operator
CA2599766A1 (en) * 2006-08-30 2008-02-29 Econiq Ltd System and method for communicating between graphical user interfaces
US20090273597A1 (en) * 2008-05-05 2009-11-05 International Business Machines Corporation User interface screen layout analysis using hierarchical geometric features
US9082117B2 (en) * 2008-05-17 2015-07-14 David H. Chin Gesture based authentication for wireless payment by a mobile electronic device
US20160005016A1 (en) * 2009-03-12 2016-01-07 Cetrus LLC Metering System For Software Licenses
US9466077B2 (en) * 2009-06-30 2016-10-11 Google Inc. Propagating promotional information on a social network

Also Published As

Publication number Publication date
US20120254024A1 (en) 2012-10-04
WO2012129689A1 (en) 2012-10-04
JP2014516431A (ja) 2014-07-10

Similar Documents

Publication Publication Date Title
US11574023B2 (en) Document processing system and method
AU2011255477B2 (en) Bug clearing house
DE112012002362B4 (de) Automatisierte Empfehlungen für Cloud-Computing-Optionen
DE112016002120T5 (de) Entwicklungs- und Vetriebsplattform für Software
US20090150866A1 (en) Enforcing legal holds of heterogeneous objects for litigation
US20090150168A1 (en) Litigation document management
US20090150906A1 (en) Automatic electronic discovery of heterogeneous objects for litigation
US20090150431A1 (en) Managing relationships of heterogeneous objects
DE202016107435U1 (de) Systeme für die Benachrichtigung von Benutzern über Änderungen an Dateien in cloudbasierten Dateispeichersystemen
CN105324756A (zh) 云服务性能调优和基准测试
US9753920B2 (en) Document processing system and method
DE112018007724T5 (de) Blockchain basierter Verifizierungsrahmen
DE112012001501T5 (de) Verwaltung von Lizenzen mit nutzungsabhängiger Bezahlung für Software-Anwendungen
DE102021130957A1 (de) Empfehlungen zur stabilität von software-aktualisierungen
US20210042214A1 (en) Generating test plans for testing computer products based on product usage data
Herzberg et al. Towards Process Evaluation in Non-Automated Process Execution Environments.
DE102008059875A1 (de) System und Verfahren zum Nachverfolgen von Zeit
WO2017152231A1 (en) "incident reporting"
KR100956142B1 (ko) 도식 형태 표시를 기반으로 하는 지식 재산권 관리 시스템 및 방법
JP2020068019A (ja) 情報分析装置、情報分析方法、情報分析システムおよびプログラム
Leitner et al. Managing ERP configuration variants: an experience report
JP6063235B2 (ja) 作業自動化支援システム及び作業自動化支援方法
US20080250050A1 (en) Method and system for developing a desired set of configuration profiles for an application program and storage medium for storing a set of computer instructions which effectuate the method
US11620322B1 (en) System and method for managing regulatory information
US20130204670A1 (en) Method and system for automated business case tracking

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

Representative=s name: DILG HAEUSLER SCHINDELMANN PATENTANWALTSGESELL, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021220000

Ipc: G06F0021100000

Effective date: 20131115

R082 Change of representative

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R082 Change of representative

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R082 Change of representative

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R016 Response to examination communication