Come posso concedere in licenza le applicazioni di rete?

6

Ho cinque applicazioni residenti sui server. Alcune di queste applicazioni sono basate su socket (C / C ++), altre sono basate sul web (Java, PHP). Devo dare licenze a queste applicazioni sulla base del numero di utenti che possono accedere, del tipo di funzionalità e del tipo di utenti. Che tipo di modello di business dovrei usare? Ne ho alcuni in mente:

  1. Creare un webservice java che verrà montato su un dato di licenza e tutti i server comunicheranno con esso quando un utente accede a una delle applicazioni di cui sopra.
  2. Crea un server basato su socket.
  3. Monta un file di licenza su ciascun server e fai in modo che ognuno comunichi con il suo file singolarmente e funga da regole di licenza.

Se hai altre soluzioni, perfavore, spara.

    
posta GingerHead 10.01.2012 - 16:01
fonte

3 risposte

4

Utilizza un file di licenza con firma digitale locale che codifica le regole aziendali

Ho diviso la mia risposta per coprire i requisiti generalmente accettati, una strategia aziendale corrispondente e gli aspetti tecnici del problema.

Requisiti generali

Poche cose infastidiscono gli utenti più che il loro lavoro interrotto a causa di un problema di licenza. A tal fine si desidera avere un sistema che:

  • è resiliente contro gli errori di rete e hardware (nessun singolo punto di errore)
  • si adatta bene (nuovi server e più utenti arrivano man mano che l'azienda cresce)
  • è resistente contro la contraffazione delle licenze
  • avvisa gli amministratori quando si avvicinano ai limiti della loro licenza
  • non presenta mai un falso positivo (se l'accesso sicuro non è sicuro è la regola per un comportamento di licenza amichevole)

per citarne solo alcuni.

Strategia aziendale

La tua azienda vorrà il controllo totale sulla licenza, altrimenti il cliente manipolerà i valori a loro vantaggio. Tuttavia, il cliente non vorrà che la tua azienda guardi alle spalle e quindi il sistema dovrà essere autonomo sul loro sito.

Il cliente non vorrà fallire l'intero sistema se una licenza non può essere verificata. Questa ovvia richiesta esclude un approccio di autenticazione centralizzato in rete, poiché potrebbe non riuscire per una moltitudine di motivi (rete, codifica scadente, interruzione dell'alimentazione, guasto dell'hardware, ecc.). Mentre l'autenticatore della licenza centrale viene riparato (potrebbero essere giorni in cui farlo), il cliente non è in grado di fare nulla, assolutamente inaccettabile.

Tenendo presente quanto sopra, la strategia per mantenere i clienti soddisfatti è quella di ottenere un po 'di attenzione in termini di manutenzione utilizzando un file di licenza locale contenente le regole per il server specificato.

Implementazione tecnica

Per raggiungere questo obiettivo e ridurre al minimo il colpo, ti suggerisco di fare quanto segue:

  1. Scrivi uno strumento di configurazione della licenza per la tua azienda. Questo file definisce il limite utente, le funzioni consentite e i tipi di utente per ciascun prodotto sotto forma di un file di licenza con firma digitale emesso dalla società utilizzando una chiave privata.

  2. I server devono caricare il file di licenza e verificare la firma digitale utilizzando la chiave pubblica che è ospitata su un noto sito di chiavi pubbliche ( pgp.mit.edu ) o incorporato direttamente nel codice all'avvio o dopo la manutenzione

  3. Ogni server verifica il carico, il tipo e le attività correnti dell'utente rispetto al file di licenza firmato mentre il traffico si verifica. Il caricamento che si avvicina al limite della licenza dovrebbe attivare un'email o un messaggio agli amministratori di sistema.

  4. I server possono aggiornare il loro file di licenza in risposta a una richiesta PUT basata su socket che ha una firma digitale idonea (nuovamente verificata dal sito della chiave remota). Ciò consentirà a uno script automatico di fornire modifiche alle licenze quando uno dei tuoi ragazzi è sul posto che fornisce manutenzione.

risposta data 10.01.2012 - 17:25
fonte
1

Sei sicuro di volerlo scrivere?

Hai esaminato le applicazioni / i servizi di controllo delle licenze esistenti?

Se il costo non è proibitivo, sembra una classica applicazione che non vale la pena inventare qui.

    
risposta data 10.01.2012 - 17:46
fonte
1

Penso che dovresti consultare FlexLm .

Per un po 'di tempo SUN lo stava usando per fornire servizi di licenza distribuiti per i loro prodotti.

    
risposta data 10.01.2012 - 21:54
fonte

Leggi altre domande sui tag