EP2248058B1

Peer to peer software license management system for temporarily relocating available software licenses

Abstract

This record has no abstract on file.

EP2248058B1, drawing sheet 1
Sheet 1 of 6

Term

2.4 yearsleft in the term

Expires 10 February 2029.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

14 claims: 14 independent, 0 dependent

  1. 1
    An apparatus for managing software licenses comprising:a first computer node (100) comprising a computing device configured to connect to at least a second computer node (200) and a third computer node (300) in a peer-to-peer computer network;wherein the first computer node comprises a software license management controller configured to: temporarily receive a software license for a software product from a software license management controller in the second computer node;receive a request for the received software license from a software license management controller in the third computer node;determine whether the request is to borrow the software license or to check out the software license;when the request is to borrow the software license, send the received software license to the software license management controller in the third computer node for a period of time;when the request is to check out the software license: send a license grant for the received software license for an indefinite period of time to the software license management controller in the third computer node;send a heartbeat signal to the software license management controller in the third computer node for a duration of the license grant;determine whether a response is received to the heartbeat signal;andbased on a failure to receive the response to the heartbeat signal, terminate the license grant to the software license management controller in the third computer node;anduse the software license for the software product at the first computer node (i) after the period of time elapses but not during the period of time when the request is to borrow the software license and (ii) after the license grant to the software license management controller in the third computer node is terminated when the request is to check out the software license. Appareil de gestion de licences de logiciels comprenant : un premier noeud informatique (100) comprenant un dispositif informatique configuré pour être connecté à au moins un deuxième noeud informatique (200) et à un troisième noeud informatique (300) dans un réseau informatique poste à poste ;dans lequel le premier noeud informatique comprend un contrôleur de gestion de licences de logiciels configuré pour : recevoir temporairement une licence de logiciel d'un produit logiciel à partir d'un contrôleur de gestion de licences de logiciels dans le deuxième noeud informatique ;recevoir une requête demandant la licence de logiciel reçue depuis le contrôleur de gestion de licences de logiciels dans le troisième noeud informatique ;déterminer que la requête se rapporte à un emprunt de la licence de logiciel ou à une vérification de la licence de logiciel ;quand la demande se rapporte à un emprunt de la licence de logiciel, envoyer la licence de logiciel reçue au contrôleur de gestion de licences de logiciels dans le troisième noeud informatique pour une période de temps ;quand la demande se rapporte à une vérification de la licence de logiciel : envoyer une autorisation de licence pour la licence de logiciel reçue pour une période de temps indéfinie au contrôleur de gestion de licences de logiciels dans le troisième noeud informatique ;envoyer un signal de pulsation au contrôleur de gestion de licences de logiciels dans le troisième noeud informatique pendant une durée de l'autorisation de licence ;déterminer qu'une réponse au signal de pulsation est reçue ou non ;etsi une réponse au signal de pulsation n'est pas reçue, supprimer l'autorisation de licence envoyée au contrôleur de gestion de licences de logiciels dans le troisième noeud informatique ;etutiliser la licence de logiciel du produit logiciel au niveau du premier noeud informatique (i) au terme de la période de temps mais pas durant la période de temps quand la requête se rapporte à un emprunt de la licence de logiciel et (ii) après la suppression de l'autorisation de licence accordée au contrôleur de gestion de licences de logiciels dans le troisième noeud informatique quand la requête se rapporte à une vérification de la licence de logiciel. Vorrichtung zum Managen von Software-Lizenzen, die Folgendes umfasst: einen ersten Computerknoten (100), der eine Computervorrichtung umfasst, die konfiguriert ist, mit wenigstens einem zweiten Computerknoten (200) und einem dritten Computerknoten (300) in einem Peer-zu-Peer-Computernetz verbunden zu sein;wobei der erste Computerknoten einen Software-Lizenz-Management-Controller umfasst, der konfiguriert ist: eine Software-Lizenz für ein Software-Produkt von einem Software-Lizenz-Management-Controller in dem zweiten Computerknoten vorübergehend zu empfangen;eine Anforderung für die empfangene Software-Lizenz von einem Software-Lizenz-Management-Controller in dem dritten Computerknoten zu empfangen;zu bestimmen, ob die Anforderung ist, die Software-Lizenz auszuleihen oder die Software-Lizenz auszuprobieren;wenn die Anforderung ist, die Software-Lizenz auszuleihen, die empfangene Software-Lizenz für einen Zeitraum an den Software-Lizenz-Management-Controller in dem dritten Computerknoten zu senden;wenn die Anforderung ist, die Software-Lizenz auszuprobieren: eine Lizenzbewilligung für die empfangene Software-Lizenz für einen unbestimmten Zeitraum an den Software-Lizenz-Management-Controller in dem dritten Computerknoten zu senden;ein Herzschlagsignal während der Dauer der Lizenzbewilligung an den Software-Lizenz-Management-Controller in dem dritten Computerknoten zu senden;zu bestimmen, ob eine Reaktion auf das Herzschlagsignal empfangen wird;undbasierend auf einem Fehlschlag, die Reaktion auf das Herzschlagsignal zu empfangen, die Lizenzbewilligung für den Software-Lizenz-Management-Controller in dem dritten Computerknoten zu beenden;unddie Software-Lizenz für das Software-Produkt an dem ersten Computerknoten (i) nachdem der Zeitraum vergangen ist, aber nicht während des Zeitraums, wenn die Anforderung ist, die Software-Lizenz auszuleihen, und (ii) nachdem die Lizenzbewilligung für den Software-Lizenz-Management-Controller in dem dritten Computerknoten beendet ist, wenn die Anforderung ist, die Software-Lizenz auszuprobieren, zu verwenden.
  2. 2
    Appareil selon la revendication 1, dans lequel le contrôleur de gestion de licences de logiciels dans le premier noeud informatique comprend un démon de licence (140) configuré pour communiquer avec d'autres démons de licences (240, 340) dans d'autres noeuds informatiques dont les deuxième et troisième noeuds informatiques. The apparatus as set forth in Claim 1, wherein the software license management controller in the first computer node comprises a license daemon (140) that is configured to communicate with other license daemons (240, 340) in other computer nodes including the second and third computer nodes. Vorrichtung nach Anspruch 1, wobei der Software-Lizenz-Management-Controller in dem ersten Computerknoten einen Lizenz-Daemon (140) umfasst, der konfiguriert ist, mit anderen Lizenz-Daemons (240, 340) in anderen Computerknoten einschließlich des zweiten und des dritten Computerknotens zu kommunizieren.
  3. 3
    Appareil selon la revendication 2, dans lequel le démon de licence dans le premier noeud informatique, en réponse à la réception d'une requête demandant la licence de logiciel depuis un programme demandeur dans le premier noeud informatique, est configuré pour rechercher la licence de logiciel demandée dans le premier noeud informatique. The apparatus as set forth in Claim 2, wherein the license daemon in the first computer node, in response to receiving a request for the software license from a requesting program in the first computer node, is configured to search for the requested software license in the first computer node. Vorrichtung nach Anspruch 2, wobei der Lizenz-Daemon in dem ersten Computerknoten in Reaktion auf das Empfangen einer Anforderung für die Software-Lizenz von einem anfordernden Programm in dem ersten Computerknoten konfiguriert ist, nach der angeforderten Software-Lizenz in dem ersten Computerknoten zu suchen.
  4. 4
    Appareil selon la revendication 3, dans lequel le démon de licence dans le premier noeud informatique, s'il ne trouve pas la licence de logiciel demandée dans le premier noeud informatique, est configuré pour envoyer aux autres démons de licences dans les autres noeuds informatiques une requête d'emprunt de la licence de logiciel demandée. The apparatus as set forth in Claim 3, wherein the license daemon in the first computer node, in response to not finding the requested software license in the first computer node, is configured to send to the other license daemons in the other computer nodes a request to borrow the requested software license. Vorrichtung nach Anspruch 3, wobei der Lizenz-Daemon in dem ersten Computerknoten in Reaktion darauf, dass die angeforderte Software-Lizenz in dem ersten Computerknoten nicht gefunden wird, konfiguriert ist, eine Anforderung, die angeforderte Software-Lizenz auszuleihen, an die anderen Lizenz-Daemons in den anderen Computerknoten zu senden.
  5. 5
    Appareil selon la revendication 1, dans lequel la licence de logiciel fournie au troisième noeud informatique prend fin lors de l'un des événements suivants :un programme demandeur dans le troisième noeud informatique libère la licence de logiciel ;le programme demandeur dans le troisième noeud informatique met fin à l'opération ;etle signal de pulsation provenant du troisième noeud informatique échoue. The apparatus as set forth in Claim 1, wherein the software license provided to the third computer node terminates upon one of: a requesting program in the third computer node releases the software license;the requesting program in the third computer node terminates operation;andthe heartbeat signal from the third computer node fails. Vorrichtung nach Anspruch 1, wobei die dem dritten Computerknoten bereitgestellte Software-Lizenz bei einem des Folgenden endet: ein anforderndes Programm in dem dritten Computerknoten gibt die Software-Lizenz frei;das anfordernde Programm in dem dritten Computerknoten beendet den Betrieb;das Herzschlagsignal von dem dritten Computerknoten fällt aus.
  6. 6
    Appareil selon la revendication 1, dans lequel le premier noeud informatique est configuré pour permettre, quand la requête se rapporte à un emprunt de la licence de logiciel, au troisième noeud informatique d'utiliser la licence de logiciel envoyée pendant que le troisième noeud informatique est déconnecté du premier noeud informatique. The apparatus as set forth in Claim 1, wherein the first computer node is configured to allow, when the request is to borrow the software license, the third computer node to use the sent software license while the third computer node is disconnected from the first computer node. Vorrichtung nach Anspruch 1, wobei der erste Computerknoten konfiguriert ist, es dem dritten Computerknoten zu erlauben, die gesendete Software-Lizenz zu verwenden, während der dritte Computerknoten von dem ersten Computerknoten getrennt ist, wenn die Anforderung ist, die Software-Lizenz auszuleihen.
  7. 7
    Appareil selon la revendication 1, dans lequel le contrôleur de gestion de licences de logiciels dans le premier noeud informatique est configuré en outre pour mettre fin automatiquement à la licence accordée au troisième noeud informatique pour la licence de logiciel empruntée à l'expiration de la période de temps. The apparatus as set forth in Claim 1, wherein the software license management controller in the first computer node is further configured to automatically terminate the license to the third computer node for the borrowed software license after expiration of the period of time. Vorrichtung nach Anspruch 1, wobei der Software-Lizenz-Management-Controller in dem ersten Computerknoten ferner konfiguriert ist, die Lizenz für den dritten Computerknoten für die ausgeliehene Software-Lizenz nach dem Ablauf des Zeitraums automatisch zu beenden.
  8. 8
    A system comprising:the apparatus comprising the first computer node (100) of any of Claims 1 through 7;the second computer node (200);andthe third computer node (300);wherein a license daemon (240) in the second computer node is configured to: determine that the software license is available from the second computer node in response to a request from a license daemon (140) in the first computer node;mark the requested software license as being in use for a requested time limit;andsend the requested software license to the license daemon in the first computer node. System, das Folgendes umfasst: die Vorrichtung, die den ersten Computerknoten (100) umfasst, nach einem der Ansprüche 1 bis 7;den zweiten Computerknoten (200);undden dritten Computerknoten (300);wobei ein Lizenz-Daemon (240) in dem zweiten Computerknoten konfiguriert ist: in Reaktion auf eine Anforderung von einem Lizenz-Daemon (140) in dem ersten Computerknoten zu bestimmen, dass die Software-Lizenz von dem zweiten Computerknoten verfügbar ist;die angeforderte Software-Lizenz als während einer angeforderten Zeitgrenze als in Gebrauch zu markieren;unddie angeforderte Software-Lizenz an den Lizenz-Daemon in dem ersten Computerknoten zu senden. Système comprenant : l'appareil comprenant le premier noeud informatique (100) selon l'une quelconque des revendications 1 à 7 ;le deuxième noeud informatique (200) ;etle troisième noeud informatique (300) ;dans lequel un démon de licence (240) dans le deuxième noeud informatique est configuré pour : déterminer que la licence de logiciel est disponible à partir du deuxième noeud informatique en réponse à une requête par un démon de licence (140) dans le premier noeud informatique ;marquer la licence de logiciel demandée comme étant utilisée pour une limite de temps demandée ;etenvoyer la licence de logiciel demandée au démon de licence dans le premier noeud informatique.
  9. 9
    System nach Anspruch 8, wobei der erste Computerknoten konfiguriert ist, von dem zweiten Computerknoten getrennt zu werden, nachdem der erste Computerknoten die Software-Lizenz von dem zweiten Computerknoten empfangen hat. Système selon la revendication 8, dans lequel le premier noeud informatique est configuré pour être déconnecté du deuxième noeud informatique après que le premier noeud informatique a reçu la licence de logiciel depuis le deuxième noeud informatique. The system as set forth in Claim 8, wherein the first computer node is configured to be severed from the second computer node after the first computer node has received the software license from the second computer node.
  10. 10
    A method for managing software licenses comprising:operating a software license management controller within a first computer node (100), the first computer node comprising a computing device configured to connect to at least a second computer node (200) and a third computer node (300) in a peer-to-peer computer network;temporarily receiving a software license for a software product from a software license management controller of the second computer node for use by the software license management controller of the first computer node;receiving a request for the received software license from a software license management controller in the third computer node;determining whether the request is to borrow the software license or to check out the software license;when the request is to borrow the software license, sending, using the software license management controller of the first computer node, the received software license to the software license management controller in the third computer node for a period of time;when the request is to check out the software license: sending a license grant for the received software license for an indefinite period of time to the software license management controller in the third computer node;sending a heartbeat signal to the software license management controller in the third computer node for a duration of the license grant;determining whether a response is received to the heartbeat signal;andbased on a failure to receive the response to the heartbeat signal, terminating the license grant to the software license management controller in the third computer node;andusing the software license for the software product at the first computer node (i) after the period of time elapses but not during the period of time when the request is to borrow the software license and (ii) after the license grant to the software license management controller in the third computer node is terminated when the request is to check out the software license. Procédé de gestion de licences de logiciels comprenant : l'exploitation d'un contrôleur de gestion de licences de logiciels dans un premier noeud informatique (100), le premier noeud informatique comprenant un dispositif informatique configuré pour être connecté à au moins un deuxième noeud informatique (200) et un troisième noeud informatique (300) dans un réseau informatique poste à poste ;la réception temporaire d'une licence de logiciel d'un produit logiciel depuis un contrôleur de gestion de licences de logiciels du deuxième noeud informatique en vue de son utilisation par le contrôleur de gestion de licences de logiciels du premier noeud informatique ;la réception d'une requête demandant la licence de logiciel reçue depuis le contrôleur de gestion de licences de logiciels dans le troisième noeud informatique ;la détermination que la demande se rapporte à un emprunt de la licence de logiciel ou à une vérification de la licence de logiciel ;quand la demande se rapporte à un emprunt de la licence de logiciel, l'envoi, au moyen du contrôleur de gestion de licences de logiciels du premier noeud informatique, de la licence de logiciel reçue au contrôleur de gestion de licences de logiciels dans le troisième noeud informatique pour une période de temps ;quand la demande se rapporte à une vérification de la licence de logiciel : l'envoi d'une autorisation de licence pour la licence de logiciel reçue pour une période de temps indéfinie au contrôleur de gestion de licences de logiciels dans le troisième noeud informatique ;l'envoi d'un signal de pulsation au contrôleur de gestion de licences de logiciels dans le troisième noeud informatique pendant une durée de l'autorisation de licence ;la détermination qu'une réponse au signal de pulsation est reçue ou non ;etsi une réponse au signal de pulsation n'est pas reçue, la suppression de l'autorisation de licence envoyée au contrôleur de gestion de licences de logiciels dans le troisième noeud informatique ;et l'utilisation de la licence de logiciel du produit logiciel au niveau du premier noeud informatique (i) au terme de la période de temps mais pas durant la période de temps de demande d'emprunt de la licence de logiciel et (ii) après la suppression de l'autorisation de licence accordée au contrôleur de gestion de licences de logiciels dans le troisième noeud informatique quand la requête se rapporte à une vérification de la licence de logiciel. Verfahren zum Managen von Software-Lizenzen, das Folgendes umfasst: Betreiben eines Software-Lizenz-Management-Controllers innerhalb eines ersten Computerknotens (100), wobei der erste Computerknoten eine Computervorrichtung umfasst, die konfiguriert ist, mit wenigstens einem zweiten Computerknoten (200) und einem dritten Computerknoten (300) in einem Peer-zu-Peer-Computernetz verbunden zu sein;vorübergehendes Empfangen einer Software-Lizenz für ein Software-Produkt von einem Software-Lizenz-Management-Controller des zweiten Computerknotens für die Verwendung durch den Software-Lizenz-Management-Controller des ersten Computerknotens;Empfangen einer Anforderung für die empfangene Software-Lizenz von einem Software-Lizenz-Management-Controller in dem dritten Computerknoten;Bestimmen, ob die Anforderung ist, die Software-Lizenz auszuleihen oder die Software-Lizenz auszuprobieren;wenn die Anforderung ist, die Software-Lizenz auszuleihen, Senden unter Verwendung des Software-Lizenz-Management-Controllers des ersten Computerknotens der empfangenen Software-Lizenz für einen Zeitraum an den Software-Lizenz-Management-Controller in dem dritten Computerknoten;wenn die Anforderung ist, die Software-Lizenz auszuprobieren: Senden einer Lizenzbewilligung für die empfangene Software-Lizenz für einen unbestimmten Zeitraum an den Software-Lizenz-Management-Controller in dem dritten Computerknoten;Senden eines Herzschlagsignals während einer Dauer der Lizenzbewilligung an den Software-Lizenz-Management-Controller in dem dritten Computerknoten;Bestimmen, ob eine Reaktion auf das Herzschlagsignal empfangen wird;undbasierend auf einem Fehlschlag, die Reaktion auf das Herzschlagsignal zu empfangen, Beenden der Lizenzbewilligung für den Software-Lizenz-Management-Controller in dem dritten Computerknoten;undVerwenden der Software-Lizenz für das Software-Produkt an dem ersten Computerknoten (i) nachdem der Zeitraum vergangen ist, aber nicht während des Zeitraums, wenn die Anforderung ist, die Software-Lizenz auszuleihen, und (ii) nachdem die Lizenzbewilligung für den Software-Lizenz-Management-Controller in dem dritten Computerknoten beendet ist, wenn die Anforderung ist, die Software-Lizenz auszuprobieren.
  11. 11
    Procédé selon la revendication 10, comprenant en outre :la coupure d'une connexion entre le premier noeud informatique et the deuxième noeud informatique après que le premier noeud informatique a reçu la licence de logiciel depuis le deuxième noeud informatique. The method as set forth in Claim 10, further comprising: severing a connection between the first computer node and the second computer node after the first computer node has received the software license from the second computer node. Verfahren nach Anspruch 10, das ferner Folgendes umfasst: Trennen einer Verbindung zwischen dem ersten Computerknoten und dem zweiten Computerknoten, nachdem der erste Computerknoten die Software-Lizenz von dem zweiten Computerknoten empfangen hat.
  12. 12
    Procédé selon la revendication 10, comprenant en outre :la réception, dans un démon de licence (140) dans le contrôleur de gestion de licences de logiciels du premier noeud informatique, d'une requête demandant la licence de logiciel depuis un programme demandeur dans le premier noeud informatique ;la recherche de la licence de logiciel demandée dans le premier noeud informatique ;etsi la licence de logiciel demandée n'est pas trouvée dans le premier noeud informatique, l'envoi d'une demande d'emprunt de la licence de logiciel demandée par le démon de licence dans le premier noeud informatique à d'autres démons de licences (240, 340) dans d'autres noeuds informatiques. The method as set forth in Claim 10, further comprising: receiving, in a license daemon (140) in the software license management controller of the first computer node, a request for the software license from a requesting program in the first computer node;searching for the requested software license in the first computer node;andin response to not finding the requested software license in the first computer node, sending a request to borrow the requested software license from the license daemon in the first computer node to other license daemons (240, 340) in other computer nodes. Verfahren nach Anspruch 10, das ferner Folgendes umfasst: Empfangen in einem Lizenz-Daemon (140) in dem Software-Lizenz-Management-Controller des ersten Computerknotens einer Anforderung für die Software-Lizenz von einem anfordernden Programm in dem ersten Computerknoten;Suchen nach der angeforderten Software-Lizenz in dem ersten Computerknoten;undin Reaktion darauf, dass die angeforderte Software-Lizenz in dem ersten Computerknoten nicht gefunden wird, Senden einer Anforderung, die angeforderte Software-Lizenz auszuleihen, von dem Lizenz-Daemon in dem ersten Computerknoten an die anderen Lizenz-Daemons (240, 340) in den anderen Computerknoten.
  13. 13
    Procédé selon la revendication 12, comprenant en outre :la détermination, par un démon de licence (240) dans le deuxième noeud informatique, que la licence de logiciel demandée est située dans le deuxième noeud informatique ;le marquage, par le démon de licence dans le deuxième noeud informatique, que la licence de logiciel demandée est utilisée pendant une période de temps demandée ;l'envoi de la licence de logiciel demandée par le démon de licence dans le deuxième noeud informatique au démon de licence dans le premier noeud informatique ;etla coupure d'une connexion entre le premier noeud informatique et le deuxième noeud informatique. The method as set forth in Claim 12, further comprising: determining, by a license daemon (240) in the second computer node, that the requested software license is located in the second computer node;marking, by the license daemon in the second computer node, that the requested software license is in use for a requested time period;sending the requested software license from the license daemon in the second computer node to the license daemon in the first computer node;andsevering a connection between the first computer node and the second computer node. Verfahren nach Anspruch 12, das ferner Folgendes umfasst: Bestimmen durch einen Lizenz-Daemon (240) in dem zweiten Computerknoten, dass sich die angeforderte Software-Lizenz in dem zweiten Computerknoten befindet;Markieren durch den Lizenz-Daemon in dem zweiten Computerknoten, dass sich die angeforderte Software-Lizenz während eines angeforderten Zeitraums in Gebrauch befindet;Senden der angeforderten Software-Lizenz von dem Lizenz-Daemon in dem zweiten Computerknoten an den Lizenz-Daemon in dem ersten Computerknoten;undTrennen einer Verbindung zwischen dem ersten Computerknoten und dem zweiten Computerknoten.
  14. 14
    Procédé selon la revendication 13, dans lequel :l'envoi de la licence de logiciel reçue au troisième noeud informatique comprend l'envoi de la licence de logiciel reçue par le démon de licence dans le premier noeud informatique à un démon de licence (340) dans le troisième noeud informatique ;etle procédé comprend en outre la suppression automatique de la licence de logiciel envoyée à l'expiration de la période de temps. The method as set forth in Claim 13, wherein: sending the received software license to the third computer node comprises sending the received software license by the license daemon in the first computer node to a license daemon (340) in the third computer node;andthe method further comprises automatically terminating the sent software license after expiration of the period of time. Verfahren nach Anspruch 13, wobei: das Senden der empfangenen Software-Lizenz an den dritten Computerknoten das Senden der empfangenen Software-Lizenz durch den Lizenz-Dämonen in dem ersten Computerknoten an einen Lizenz-Daemon (340) in dem dritten Computerknoten umfasst;unddas Verfahren ferner das automatische Beenden der gesendeten Software-Lizenz nach dem Ablauf des Zeitraums umfasst.