ITTO990234A1 - Procedimento e sistema per fornire un'immagine software personalizzataad un sistema di elaboratore. - Google Patents

Procedimento e sistema per fornire un'immagine software personalizzataad un sistema di elaboratore.

Info

Publication number
ITTO990234A1
ITTO990234A1 IT1999TO000234A ITTO990234A ITTO990234A1 IT TO990234 A1 ITTO990234 A1 IT TO990234A1 IT 1999TO000234 A IT1999TO000234 A IT 1999TO000234A IT TO990234 A ITTO990234 A IT TO990234A IT TO990234 A1 ITTO990234 A1 IT TO990234A1
Authority
IT
Italy
Prior art keywords
software
memory
computer
identification
medium
Prior art date
Application number
IT1999TO000234A
Other languages
English (en)
Inventor
Tom Colligan
Jonathan Ellis
Hunter Robertson
Original Assignee
Dell Usa Lp
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 Dell Usa Lp filed Critical Dell Usa Lp
Publication of ITTO990234A1 publication Critical patent/ITTO990234A1/it
Application granted granted Critical
Publication of IT1309082B1 publication Critical patent/IT1309082B1/it

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Description

DESCRIZIONE dell'invenzione industriale dal titolo: "PROCEDIMENTO E SISTEMA PER FORNIRE UN'IMMAGINE SOFTWARE PERSONALIZZATA AD UN SISTEMA DI ELABORATORE",
SFONDO DELL'INVENZIONE
Un sistema di elaboratore viene tipicamente acquistato e fornito come sistema hardware-software combinato. Nel passato, il software è stato fornito tramite dischetti flessibili (floppy) che erano caricati manualmente in un'unità a dischetti dall'acquirente e scaricati dischetto per dischetto. Dato che la capacità di memoria e di unità a dischi si è allargata e la dimensione delle immagini software è cresciuta notevolmente, il caricamento di software tramite un dischetto flessibile è diventato molto problematico. Per esempio, la dimensione di una tipica immagine di sistema software si è espansa ad un campo da 2 a 600 megabyte e ci si aspetta che continuerà a crescere nel futuro. Si utilizza tipicamente un gran numero di dischetti flessibili, per esempio nell'ordine di 50 dischetti, per trasferire un'immagine tipica di sistema software.
Molti fornitori di sistemi di elaboratore hanno sostituito i dischetti flessibili con compact disk (CD) ROM di elevate capacità per fornire immagini software. I fornitori di sistemi di elaboratore che forniscono software su CD ROM vendono soltanto un numero limitato di configurazioni hardware (per esempio da 4 a 8) e utilizzano ancor meno configurazioni software (per esempio 2 o 3). Il sistema software comprende un sistema operativo comune, unità hard, utilità software e programmi applicativi per l'utilizzo tra tutti i sistemi di elaboratore di una particolare configurazione. Questi fornitori di sistemi di elaboratore hanno i dischetti software stampati in massa, generalmente in lotti dell'ordine dalle decine alle centinaia di migliaia, cosicché i sistemi software identici sono forniti in modo interscambiabile a molti sistemi di elaboratore.
Il sistema di elaboratore hardware convenzionale comprende tipicamente vari sottosistemi hardware diversi. Durante l'installazione di questi sistemi software prodotti in serie convenzionali in sistemi di elaboratore hardware, si esegue in generale una certa configurazione software. Il processo di scaricamento comprende spesso routine che rilevano automaticamente l'identificazione dei sottosistemi hardware e costruiscono unità di pilotaggio appropriate per i sottosistemi rilevati.
Molti venditori hardware diversi forniscono i sottosistemi hardware e spesso molti fornitori software diversi forniscono i modi di software forniti sui dischetti prodotti in serie. Un problema comune con la tecnica convenzionale di fornitura del software ad un sistema di elaboratore utilizzando software prodotto in serie è che si verificano spesso varie incoerenze tra i vari sottosistemi software e i modi di software. La prima volta che una particolare configurazione di sistema hardware-software si combina avviene quando un cliente tenta di attivare il sistema, dopo molto tempo da quando il sistema ha lasciato la fabbrica. Un cliente non ha tipicamente le capacità di stabilire correttamente le varie caratteristiche configurabili dell'hardware e del software per eseguire in modo ottimale il software su una particolare configurazione hardware, Pertanto, l'attivazione di un sistema è spesso un esercizio doloroso e lungo sìa per il cliente del sistema di elaboratore sia per il venditore con il cliente che fa un utilizzo frequente dei servizi di aiuto al cliente del venditore.
La Dell Computer Corporation™ evita le difficoltà dell'integrazione di sistema softwarehardware costruendo in modo "personalizzato" ogni sistema di elaboratore secondo un ordine. Un cliente ordina un elaboratore, specificando sottosistemi hardware e pacchetti software particolari. L'integrazione software-hardware, compresa l'installazione di elementi di pilotaggio particolari per 1'hardware che è installato in modo nativo completo nell'elaboratore, viene eseguita in fabbrica dalla Dell Computer Corporation™, testata e sottoposta a assicurazione di compatibilità prima che il sistema combinato abbandoni la fabbrica. Si garantisce così che il software funzioni con il particolare sistema hardware ordinato e si garantisce inoltre che funzioni insieme alle particolari unità di pilotaggio nel sistema operativo .
Una conseguenza del modello di affari di fabbricazione secondo ordine è che ogni carico di software è potenzialmente unico. Pertanto, il software non può essere fornito tramite dischetti prodotti in serie. La Dell™ ha pertanto fornito un'immagine software installando il software sull'hardware specifico in fabbrica, garantendo che il caricamento di software funzioni in modo appropriato, spedendo quindi il sistema di elaboratore con l'immagine software caricata su un'unità a disco rigido nel sistema di elaboratore.
L'unità a disco rigido è talvolta un supporto volatile, pertanto l'immagine nell'unità a disco rigido può essere modificata, in modo intenzionale o non intenzionale. Poiché l'immagine software è fornita sull'unità a disco rigido, qualsiasi modifica inadatta nell'immagine software non viene corretta facilmente. Quando il cliente ha un problema che è corretto scrivendo dati corretti sul disco rigido e il cliente non ha realizzato un supporto di riserva, la Dell™ effettua le correzioni fornendo un disco rigido di sostituzione contenente l'immagine software fornita originale. Tipicamente una persona di manutenzione di terzi viene inviata al sito del cliente per sostituire il disco rigido guasto con il disco rigido di sostituzione ed eseguire il processo di installazione. La Dell™ effettua la sostituzione sia che la difficoltà con l'unità a disco rigido sia causata da un guasto di sistema sia che sia causata da azioni non autorizzate o proibite da parte del cliente. Per esempio, un cliente può installare un sottosistema hardware diverso e installare in modo non corretto elementi di pilotaggio software per controllare il sottosistema hardware, guastando in tal modo l'unità a disco rigido.
Le unità a disco rigido di sostituzione sono utilizzate come metodo primario per inviare il software sul campo per correggere molti problemi. I problemi comprendono, per esempio, il guasto di file da parte del cliente o di un virus, le difficoltà con l'installazione del sottosistema hardware che non era stato fornito dalla fabbrica, una decisione presa dal cliente di modificare il sistema operativo, un cattivo scaricamento di software da fabbrica, il malfunzionamento dell'unità a disco rigido, e simili.
Sfortunatamente, la sostituzione dell'unità a disco rigido è costosa e spesso non opportuna per il cliente. La sostituzione dell'unità a disco rigido è costosa non solo a causa del costo dell'unità a disco rigido ma anche a causa del costo ugualmente grande di una chiamata di manutenzione di un terzo e della movimentazione e test estesi dell'unità a disco rigido restituita.
Quello che è necessario sono un sistema e una tecnica per fornire un'immagine software "costruita secondo ordine" ad un sistema di calcolatore che riduca il costo e migliori la convenienza.
L'INVENZIONE
Un procedimento ed un sistema per fornire un'immagine software ad un sistema di elaboratore utilizzano un compact disk (CD) ROM programmato in modo personalizzato che è configurato per un singolo sistema di elaboratore specifico ed è vincolato ad esso e scaricato e attivabile soltanto sul singolo sistema di elaboratore specifico. Il procedimento e il sistema utilizzano inoltre una procedura di installazione per ripristinare il sistema di elaborazione specificato nello stato software in cui si trovava l'elaboratore al momento in cui l'elaboratore aveva lasciato la fabbrica dopo la configurazione e lo scaricamento iniziali. Il CD ROM programmato in modo personalizzato è inviato ad un cliente in combinazione con un dischetto flessibile inizializzabile, ed un foglio di istruzioni tecniche da utilizzare da parte del cliente per ripristinare il sistema di elaborazione ad una condizione software "nuova di fabbrica".
Si definisce una tecnica di protezione utilizzando tre componenti comprendenti il sistema di elaboratore, il CD ROM programmato in modo personalizzato, e il dischetto flessibile inizializzabile che hanno una chiave reciproca e unica in modo che lo scaricamento dell'immagine software è possibile soltanto quando si impiegano tutti e tre i componenti in combinazione. Così uno specifico CD ROM programmato in modo personalizzato ed uno specifico dischetto flessibile inizializzabile con le stesse chiari possono essere utilizzati soltanto per scaricare il software sullo specifico hardware di sistema di elaboratore che ha le stesse chiavi. La tecnica di protezione elimina la possibilità che l'immagine software possa essere scaricata su un altro hardware di elaboratore diverso dall'hardware di elaboratore con chiave tale da ricevere il software. La tecnica di protezione utilizza numeri di identificazione (ID) di etichetti a riferimento incrociato su tutti e tre gli elementi di chiave compresa la scrittura dell'ID di etichetta sul CD ROM programmato in modo personalizzato e il dischetto flessibile inizializzabìle, ed un numero di etichette di servizio unico dell'hardware di elaboratore. Soltanto una combinazione corrispondente dello specifico CD ROM programmato in modo personalizzato a chiave incrociata, del dischetto flessibile inizializzabìle associato, e dell'hardware di elaboratore con chiave unica, impiegati insieme, consentono il ricaricamento dell'immagine software contenuta sul CD ROM programmato in modo personalizzato.
Una prima operazione nella tecnica di protezione è la creazione di una combinazione di un CD ROM programmato in modo personalizzato ed un dischetto flessibile inizializzabìle con chiave unica. Un ordine di cliente originale viene elaborato e si compila uno specifico caricamento di immagine software determinata dal cliente secondo l'ordine cliente originale. L'immagine software di solito viene scaricata sull'hardware di sistema dì elaboratore in fabbrica, e quindi spedita ad un cliente. Il caricamento del software determinato dal cliente è un'immagine software configurata in modo specifico per la scrittura sull'unità a disco rigido dell'hardware di sistema di elaboratore specifico. In combinazione con l'immagine software, un file di identificazione (ID) di etichetta viene scritto sul CD ROM programmato in modo personalizzato che contiene un numero di Etichetta di Servizio dell'hardware di sistema di elaboratore specifico che è autorizzato a ricevere l'immagine software. La combinazione dell'immagine software e del file di identificazione sono masterizzati su un disco di supporto di CD ROM. Il disco flessibile inizializzabile specificato ha un corrispondente file di identificazione (ID) scritto che contiene il numero di ID del CD ROM programmato in modo personalizzato e il nome del file di identificazione sul CD ROM programmato in modo personalizzato che contiene le informazioni di etichetta per il CD ROM programmato in modo personalizzato. Il dischetto flessibile inizializzabile memorizza inoltre un programma di ripristino di CD, un file eseguibile che controlla il processo di ripristino dell'immagine software sul sistema di elaboratore. Il CD ROM programmato in modo personalizzato e il dischetto flessibile inizializzabile associati sono inviati al cliente in combinazione con un foglio di direzioni tecniche di kit dì servizio. Il cliente ha l'hardware di sistema di elaboratore ordinato e configurato originariamente.
Alla ricezione da parte del cliente, il foglio di direzioni tecniche del kit di servizio dirige il cliente a collocare il dischetto flessibile inizializzabile nella fessura di unità a disco flessibile del sistema di elaboratore, collocare il CD ROM programmato in modo personalizzato nella fessura per CD ROM del sistema di elaboratore, e re-inizializzare il sistema di elaboratore. Il dischetto flessibile inizializzabile memorizza un programma di ripristino di CD che si attiva al caricamento di inizializzazione del sistema di elaboratore. Il programma di ripristino di CD scarica dapprima e apre il file di ID di etichetta contenuto sull'immagine di ID dal CD ROM programmato in modo personalizzato. In aggiunta ad aprile il file di ID di etichetta sul CD ROM programmato in modo personalizzato, il programma di ripristino di CD apre il file di ID dal dischetto flessibile inizializzabile e verifica che le informazioni di etichetta nei file di ID corrispondano al CD ROM programmato in modo personalizzato e al dischetto flessibile inizializzabile.
Il programma di ripristino di CD comprende un programma di installazione che ottiene il numero di etichetta di servizio dall'elaboratore che esegue il programma di installazione. Il numero di Etichette di Servizio dell'elaboratore viene confrontato con le informazioni di etichetta contenute nel file di ID memorizzato sul CD ROM programmato in modo personalizzato. Se la Etichetta di Servizio hardware di elaboratore corrisponde all'ID di etichetta sul CD ROM programmato in modo personalizzato, il programma di ripristino completa un programma di ripristino di unità a disco rigido cancellando le informazioni sull'unità a disco rigido e scaricando l'immagine software dal CD ROM programmato in modo personalizzato sull'unità a disco rigido. Se i numeri di etichetta di servizio non corrispondono, il numero di Etichetta di Servizio a cui si accede all'hardware di elaboratore viene segnalata al cliente insieme alle istruzioni per il cliente che dirigono il cliente ad ottenere un'assistenza di servizio aggiuntiva.
Si ottengono molti vantaggi tramite il sistema e il procedimento operativo descritti. Un vantaggio è che il sistema di trasporto di software riduce il costo della risoluzione di errori e della correzione dei problemi software sul campo. Il sistema di trasporto di software riduce vantaggiosamente il tasso di incidenza sul campo iniziale dell'unità a disco rigido, una misura dei guasti di affidabilità degli elaboratori alla spedizione iniziale dal fornitore. Il sistema di trasporto software riduce in modo vantaggioso il numero di guasti dell'unità a disco rigido che non sono duplicati nel test al ritorno del sistema di elaboratore.
La tecnica di protezione restringe in modo vantaggioso l'utilizzo di software in licenza al singolo elaboratore unico per cui è concessa la licenza evitando contemporaneamente interferenze con il processo di base che consentono il caricamento di software libero sull'elaboratore. BREVE DESCRIZIONE DEI DISEGNI
Le caratteristiche delle presenti forme di attuazione ritenute nuove sono evidenziate in modo specifico nelle rivendicazioni allegate. Tuttavia, forme di attuazione dell'invenzione relative sia alla struttura sia al procedimento di funzionamento possono essere meglio comprese facendo riferimento alla seguente descrizione e ai disegni allegati.
La Figura 1 è un diagramma a blocchi schematico che illustra una forma di attuazione di un sistema di trasporto di software per fornire un'immagine software ad un elaboratore quale un elaboratore personale PC.
La Figura 2 è un diagramma di flusso che illustra gli atti che sono eseguiti nell'applicazione della tecnica di protezione del sistema di trasporto di software.
Le Figure 3A e 3B illustrano un diagramma di flusso che indica atti che devono essere eseguiti per fabbricare un pacchetto di trasporto di software.
La Figura 4 è un diagramma a blocchi che illustra l'hardware di un sistema di elaboratore che implementa un procedimento indipendente dal sistema operativo per evitare la sicurezza del sistema operativo per operazioni eseguite da utilità essenziali.
La Figura 5 è una illustrazione grafica di una mappa di memoria nel sistema di elaboratore illustrato in Figura 4.
La Figura 6 è un diagramma a blocchi che illustra vari blocchi funzionali di un sistema software che fornisce la completa funzionalità XBIOS senza privarsi della sicurezza del sistema operativo.
DESCRIZIONE DETTAGLIATA DELLE FORME DI ATTUAZIONE PREFERITE
Con riferimento alla Figura 1, un diagramma a blocchi schematico illustra una forma di attuazione di un sistema di trasporto di software 100 per fornire un'immagine software 102 ad un elaboratore 104 quale un elaboratore personale (PC). Il sistema di trasporto di software 100 illustrativo comprende una banca dati 116 ed un masterizzatore 118 per compact disk (CD) ROM che funzionano insieme per produrre tre componenti di trasporto di software: (1) un compact disk (CD) ROM 106 programmato in modo personalizzato, (2) un dischetto flessibile inizializzabile 108, e (3) un foglio di direzioni tecniche di kit di servizio 110. I tre componenti, in combinazione, definiscono ed implementano una procedura di installazione per ripristinare l'elaboratore 104 ad uno stato software "nuovo di fabbrica" che è identico allo stato dell'elaboratore 104 al momento in cui l'elaboratore 104 abbandona la fabbrica dopo la configurazione e lo scaricamento iniziali.
I tre componenti hanno scopi diversi. Il CD ROM 106 programmato in modo personalizzato è un supporto di trasporto software per trasferire l'immagine di software 102 ad una memoria eseguibile principale nell'elaboratore 104, tipicamente un'unità a disco rigido 112. Il dischetto flessibile inizializzabile 108 è un supporto di scaricamento software per controllare lo scaricamento dal CD ROM 106 programmabile in modo personalizzato. Il foglio di direzioni tecniche di kit di servizio 110 è un elenco di istruzioni che istruisce un utente a scaricare l'immagine software 1012 al CD ROM 106 programmato in modo personalizzato utilizzando il dischetto flessibile inizializzabile 108.
La banca dati 116 comprende un controllore di memorizzazione di massa 120, una memoria di massa 122 che comprende tipicamente una pluralità di dispositivo di memorizzazione di massa contenenti unità a disco rigido, unità CD ROM, nastri magnetici e simili. Il controllore di memorizzazione di massa 120 controlla la memoria di massa 122 per accedere a informazioni quali i codici software in vari formati compresi codici sorgente, oggetto, assoluto, binario, immagini software e simili. Il controllore di memorizzazione di massa 120 comprende vari programmi per elaborare i codici software quali assembler, compilatori, collegatori o simili per formare un' immagine software che è scaricata tipicamente sull'unità a disco rigido in un elaboratore per eseguire programmi.
Nella forma di attuazione illustrativa, il controllore di memorizzazione di massa 120 è connesso alla memoria di massa 122 e al masterizzatore di CD ROM 118 per trasferire il codice software dalla memoria di massa 122 ad un supporto in CD ROM. Il controllore di memorizzazione di massa 120 è inoltre collegabile ad un elaboratore 104 per scaricare programmi dalla memoria di massa 122 ad un'unità a disco rigido 112 dell'elaboratore 104.
Un'operazione del controllore di memorizzazione di massa 120 è la produzione di un'immagine software 102 per lo scaricamento sull'unità a disco rigido 112 dell'elaboratore 104 e la successiva esecuzione di programma da parte dell'elaboratore 104. Si entra in una configurazione hardware e software dell'elaboratore 104 sul controllore di memorizzazione di massa 120 per determinare i componenti software da inserire nell'immagine software 102. Il controllore di memorizzazione di massa 120 esegue i vari programmi di elaborazione per produrre l'immagine software 102. L'immagine viene scaricata sull'elaboratore 104 e il pacchetto hardware e software che realizzano l'elaboratore 104 vengono spediti al cliente. Il procedimento di fornitura di un'immagine software, dall'inserimento dell'ordine cliente allo scaricamento del software, o automatizzato o semi-automatizzato.
Si utilizza lo stesso procedimento automatizzato per generare il CD ROM 106 programmato in modo personalizzato. Il CD ROM 106 programmato in modo personalizzato è reso disponibile per il cliente nel caso in cui si verifichi una difficoltà nel sistema di elaboratore. In alcuni sistemi, l'immagine software 102 creata durante la programmazione originale del sistema di elaboratore è memorizzata nella memoria di massa 122. In altri sistemi, l'immagine software 102 è rigenerata quando è necessario reinserendo semplicemente l'ordine cliente originale.
Per esempio, in un sistema illustrativo, si utilizza lo stesso procedimento automatizzato per generare un'immagine software per lo scaricamento su un'unità a disco rigido e per generare un'immagine per la masterizzazione su un CD ROM. Tuttavia, invece di scaricare un'immagine su un'unità a disco rigido, l'immagine software viene trasferita al masterizzatore di CD ROM 118 per scrivere l'immagine software 102 in un CD ROM 106 programmato in modo personalizzato, si programma il dischetto flessibile inizializzabile 108, e si inviano il CD ROM e il pacchetto di dischetti al cliente. Il procedimento automatizzato sfrutta vantaggiosamente istruzioni di controllo di procedimento interne utilizzando una tecnica automatizzata o semi-automatizzata che genera il CD ROM 106 programmato in modo personalizzato e il dischetto flessibile inizializzabile 108 in maniera efficace ed efficiente dal punto di vista dei costi. Anche se le istruzioni di controllo sono potenzialmente complesse, la tecnica automatizzata facilita la generazione dei supporti di trasporto software senza richiedere operatori esperti.
Il compact disk (CD) ROM 106 programmato in modo personalizzato è configurato per un singolo hardware di elaboratore specifico ed è vincolato ad essere scaricato soltanto sul singolo elaboratore specificato per 1'esecuzione. Il dischetto flessibile inizializzabile 108 è codificato singolarmente in modo da corrispondere al CD ROM 106 programmato in modo personalizzato e al singolo elaboratore specifico. L'immagine software 102 formata sul CD ROM 106 programmato in modo personalizzato fa corrispondere con precisione la configurazione dell'hardware di elaboratore con il livello dettagliato di ogni dispositivo, bus, BIOS, elemento di pilotaggio di dispositivo e sistema operativo. In modo vantaggioso, l'immagine software 102 viene scritta sull'unità disco rigido 112 e si attiva immediatamente l'elaboratore 104 con la configurazione software corretta per comandare l'hardware installato.
Il sistema di trasporto di software 100 implementa inoltre una tecnica di protezione tramite una configurazione speciale dell'elaboratore 104, del CD ROM 106 programmato in modo personalizzato, e del dischetto flessibile inizializzabile 108 che hanno una chiave mutua e unica in modo tale che il caricamento dell'immagine software è possibile soltanto quando si impiegano tutti e tre i componenti in combinazione.
Il CD ROM 106 programmato in modo personalizzato e il dischetto flessibile inizializzabile 108 formano un pacchetto di sistema di trasporto di software comune, avente le stesse chiavi di identificazione, e sono utilizzabili soltanto per scaricare l'immagine software 102 nell'hardware di elaboratore specifico 104 avente le stesse chiavi di identificazione. Numeri di identificazione (ID) di etichette in riferimento incrociato sono codificate applicando l'ID di etichetta al CD ROM 106 programmato in modo personalizzato e al dischetto flessibile inizializzabile 108. L'hardware di elaboratore 104 ha inoltre un identificatore di Etichetta di Servizio Unico che identifica in modo specifico un singolo elaboratore. La Etichetta di Servizio è tipicamente una stringa alfanumerica a una molteplicità di caratteri che è programmata o "masterizzata" in una sezione di memoria all'interno dell'elaboratore 104. In alcuni sistemi, la Etichetta di Servizio è masterizzata in una sezione nascosta di memoria non volatile durante il procedimento di fabbricazione dell'elaboratore 104. La tecnica di protezione proibisce il caricamento dell'immagine software 102 su qualsiasi hardware di elaboratore diverso dall'hardware di elaboratore 104 che ha chiavi tali da ricevere l'immagine software 102. Il ricaricamento dell'immagine software 102 contenuta sul CD ROM programmato in modo personalizzato su un'unità a disco rigido 112 dell'elaboratore 104 viene consentito soltanto per una combinazione corrispondente del CD ROM 106 programmato in modo personalizzato con chiave incrociata specifica, nel dischetto flessibile inizializzabile 108 associato specifico, e dell'hardware di elaboratore 104 con chiave unica.
Con riferimento alla Figura 2 in combinazione con la Figura 1, un diagramma di flusso illustra gli atti che sono eseguiti quando si applica la tecnica di protezione 200 del sistema di trasporto di software 100. La tecnica di protezione 200 restringe in modo vantaggioso l'utilizzo di software con licenza al singolo elaboratore unico per cui la licenza è concessa evitando contemporaneamente l'interferenza con il processo di base che consente il libero caricamento di software dell'elaboratore. In un'operazione di creazione di immagini software 202, si elabora un ordine cliente originale e si compila un caricamento di immagine software 102 specifica determinata dal cliente secondo l'ordine del cliente originale. Il caricamento determinato dal cliente è un'immagine software 102 che è configurata in modo speciale per la scrittura sull'unità a disco rigido 112 dell'hardware di elaboratore 104 specifico. Di conseguenza, l'immagine software 102 è identica all'immagine a disco rigido che è scaricata originariamente sul disco rigido dell'hardware di sistema di elaboratore in fabbrica, e quindi spedita ad un cliente.
Quando si crea l'immagine software 102, la tecnica di protezione 200 esegue un'operazione di creazione di pacchetto con chiave 204 in cui si formano codici di chiave per un CD ROM 106 programmato in modo personalizzato con chiave unica combinato e con un dischetto flessibile inizializzabile 108. Le chiavi vengono create accedendo al numero di Etichetta di Servizio 206 dell'hardware di elaboratore 204 specifico che è autorizzato a ricevere l'immagine software 102 e formando un file di identificazione (ID) di etichetta 208 contenente il numero di Etichetta di Servizio. In aggiunta ad una chiave basata sulla Etichetta di Servizio, l'operazione di formazione di Etichetta 208 comprende l'atto di generare un carattere con numeri casuali. Nella forma di attuazione illustrativa, la Etichetta di Servizio dall'elaboratore 104 e il numero casuale vengono utilizzati come chiave che viene scritta sia sul CD ROM 1056 programmato in modo personalizzato sia sul dischetto flessibile inizializzabile 108, servendo in tal modo come identificatore di base per impedire l'utilizzo di software con licenza su qualsiasi elaboratore diverso dall'elaboratore 104 per cui il software è dato in licenza.
Un'operazione di scrittura di CD ROM 210 masterizza l'immagine software 102 e il file di ID di etichetta combinati sul supporto di CD ROM programmato in modo personalizzato
Altre operazioni dell'operazione di creazione del pacchetto con chiave 202 preparano il dischetto flessibile inizializzabile 108. Un'operazione di creazione di file di ID di dischetto flessibile 22 forma un file di etichetta di ID contenente informazioni di etichetta per il CD ROM 106 programmato in modo personalizzato compresa la codifica della Etichetta di Servizio e etichetta del numero casuale, e contenente il nome del file di ID di etichetta sul CD ROM 106 programmato in modo personalizzato. L'operazione di creazione di file di ID di dischetto flessibile 212 scrive quindi il file di etichetta di ID sul dischetto flessibile inizializzabile 108. Un'operazione di creazione di un programma di ripristino 214. memorizza un programma di ripristino di CD sul dischetto flessibile inizializzabile 108. Il programma di ripristino di CD è un file eseguibile che è eseguito da utenti, quali un cliente, per ripristinare l'immagine software 102 sull'unità a disco rigido 112 dell'elaboratore 104. In alcune forme di attuazione, il programma di ripristino di CD funziona automaticamente, senza l'intervento dell'utente. In alcune forme di attuazione, il programma di ripristino di CD funziona automaticamente con l'unico intervento che è la visualizzazione di un messaggio di avvertimento ed un tempo di attesa per consentire all'utente di rispondere al messaggio di avvertimento.
In un'operazione di invio di un pacchetto di trasferimento software 216, un pacchetto comprendente il CD ROM 106 programmato in modo personalizzato, il dischetto flessibile inizializzabile 108, e il foglio di direzioni tecniche di kit di servizi 110 viene inviato all'utente o cliente. Si presume che l'utente abbia il possesso dell'hardware di sistema di elaborazione ordinato e configurato originariamente 104. Il foglio di direzioni tecniche del kit di servizio 110 fornisce all'utente istruzioni per utilizzare il CD ROM 106 programmato in modo personalizzato e il dischetto flessibile inizializzabile 108 per ripristinare l'unità a disco rigido 112 nella condizione software esatta dell'elaboratore 104 quando è spedito originariamente dalla fabbrica. Qualsiasi software installato sull'elaboratore 104 o qualsiasi dato caricato sull'unità a disco rigido 112 dopo l'invio originale sono eliminati in modo che inizializzano tutti i valori di dati e le condizioni di processore.
Gli utenti ricevono il pacchetto di trasferimento software e il foglio di direzioni tecniche di kit di servizio 110 dirige l'utente ad eseguire il programma di ripristino 218 collocando il CD ROM 106 programmato in modo personalizzato nel lettore di CD ROM del sistema di elaboratore, inserendo il dischetto flessibile inizializzabile 108 nella fessura di unità a disco flessibile del sistema di elaboratore, e riaw iando l'elaboratore 104. Una tecnica per riavviare l'elaboratore 104 è quella di spegnere l'elaboratore, attendere circa 30 secondi, e applicare energia all'elaboratore 104. Il dischetto flessibile inizializzabile 108 memorizza il programma di ripristino che è attivato al caricamento di inizializzazione dell'elaboratore 104. L'atto di esecuzione del programma di ripristino 218 simula la parte di scaricamento di software del processo di fabbricazione modificando il record di boot master dell'unità a disco rigido 112 per invocare uno speciale sistema operativo di ripristino. File di sistema operativo speciali comprendenti file .EXE, .BAT, e CONFIG.SYS vengono attivati per caricare un elemento di pilotaggio di CD ROM e trovare l'immagine software 102 sul CD ROM.
In un'operazione di controllo di etichette di ID 220, il programma di ripristino scarica dapprima e apre il file di ID di etichetta contenuto sull'immagine di CD dal CD ROM 1056 programmato in modo personalizzato. In aggiunta ad aprire il file di ID di etichetta sul CD ROM 106 programmato in modo personalizzato, il programma di ripristino apre il file di ID dal dischetto flessibile inizializzabile 108 e verifica che le informazioni di etichetta nel file di ID corrispondano al CD ROM 106 programmato in modo personalizzato nel dischetto flessibile inizializzabile 108.
In un'operazione di esecuzione di un programma di installazione 222, il programma di installazione ottiene il numero di Etichetta di Servizio dall'elaboratore 104, che sta eseguendo il programma di installazione. Il programma di installazione viene memorizzato tipicamente sul dischetto flessibile inizializzabile 108 ma può essere memorizzato in altri dispositivi di memoria, quale il CD ROM 106 programmato in modo personalizzato, in altre forme di attuazione. Il programma di installazione accede al numero di Etichetta dì Servizio nell'elaboratore 104 tramite una tra parecchie tecniche di accesso. In modo illustrativo, il programma di installazione accede al numero di Etichetta di Servizio utilizzando chiamate XBIOS che leggono locazioni di memoria selezionate in un processore dell'elaboratore 104. In altre implementazioni, si possono utilizzare altre tecniche e combinazioni di tecniche per accedere al numero di Etichetta di Servizio. Per esempio, una tecnica di protezione che è applicabile ad una molteplicità di tipi di sistemi di elaboratore può utilizzare una molteplicità di tecniche per accedere alla Etichetta di Servizio. In un'implementazione si accede ad un codice di ID di sistema di elaboratore tramite il programma di installazione per determinare la piattaforma hardware e software dell'elaboratore in esecuzione, indicando in tal modo una tecnica adatta per accedere alla Etichetta di Servizio. Per un primo tipo di elaboratore, si utilizzano chiamate XBIOS per accedere alla Etichetta di Servizio. Un secondo tipo di elaboratore ha una Etichetta di Servizio a cui si accede tramite tecniche di proprietà per leggere una ROM CMOS, una memoria non volatile o una memoria supportata da batteria. Un terzo tipo di elaboratore ha una Etichetta di Servizio a cui si accede utilizzando le chiamate di Desktop Management Interface (DMI).
Il codice di ID di sistema designa il tipo generale di elaboratore. L'utilizzo del codice di ID di sistema di un elaboratore per determinare come accedere alla Etichetta di Servizio è vantaggioso per consentire al sistema di trasporto di software 100 di supportare una molteplicità di tipi e generazioni di elaboratori. L'utilizzo di tecniche diverse per accedere alla Etichetta di Servizio è inoltre vantaggioso per consentire al sistema di trasporto software 100 di supportare elaboratori che eseguono vari sistemi operativi. Per esempio, l'accesso a locazioni di memoria interne è diverso per elaboratori che eseguono i sistemi operativi Windows 95™ e Windows NT™.
Un'operazione di convalida di chiave hardware 224 confronta il numero di Etichetta di Servizio dell’elaboratore 104 con le informazioni di ID di etichetta contenute nel file di ID memorizzato sul CD ROM 106 programmato in modo personalizzato. Se la Etichetta di Servizio dell'elaboratore 104 corrisponde all'ID di etichetta sul CD ROM 106 programmato in modo personalizzato, il programma di ripristino visualizza un messaggio di avvertimento, attendendo per consentire all'utente di interrompere il programma di ripristino, e quindi completare il processo di ripristino dell'unità a disco rigido. Il messaggio di avvertimento informa l'utente che l'unità a disco rigido sta per essere cancellata a fornisce un'icona pulsante per interrompere il processo di ripristino. Così si consente all'utente di interrompere l'operazione e trasferire i dati prima di cancellare dati importanti dal disco rigido.
Il processo di ripristino dell'unità a disco rigido si completa cancellando le informazioni 226 sull'unità a disco rigido 112 e scaricando 228 l'immagine software 102 dal CD ROM 106 programmato in modo personalizzato sull'unità a disco rigido 112. Il programma di ripristino cancella l'unità a disco rigido 112 formattando l'unità a disco rigido 112 per cancellare eventuali dati guasti, garantire il funzionamento appropriato dell'unità, ed eliminare qualsiasi virus che può aver infettato l'unità 112. Il programma di ripristino scarica l'immagine software 102 copiando tutto il software ordinato e configurato originariamente dal CD ROM 106 programmato in maniera personalizzata sull'unità a disco rigido 112 in un ordine corretto. Quando i file vengono copiati sull'unità a disco rigido 112, gli attributi di file vengono correttamente assegnati o azzerati per il funzionamento dell'immagine software 102. Il procedimento di copia è moderatamente lungo, durando tipicamente da 10 a 25 minuti. A seguito della copia dei file, un'operazione di controllo di trasporto di software 230 esegue una routine che verifica che le chiavi software-hardware e lo scaricamento di software sono eseguiti ed effettuati correttamente. Il programma di ripristino termina 232 visualizzando un messaggio sul visualizzatore di elaboratore che richiede all'utente di togliere il CD ROM dal lettore, togliendo il dischetto flessibile inizializzabile 108 dall'unità, e riavviando l'elaboratore 104. A seguito della seconda operazione di riavviamento, l'elaboratore 104 si trova nella condizione identica dell'elaboratore alla spedizione originale con l'eventuale eccezione di differenze derivanti da qualsiasi modifica effettuata all'ordine software originale tramite accordo tra l'utente o cliente ed un rappresentante di fabbrica.
In varie forme di attuazione, si possono implementare tecniche di protezione aggiuntive. Per esempio, in alcuni sistemi, i dati da file sul CD ROM 106 programmato in modo personalizzato possono essere modificati in maniera definita prima della programmazione del CD ROM 106 programmato in modo personalizzato. Il programma di ripristino inverte le modifiche definite quando si scrive l'immagine software 102 sull'unità a disco rigido 112. La tecnica di protezione aggiuntiva impedisce la lettura non autorizzata di dati dal CD ROM 106 programmato in modo personalizzato e la scrittura di dati su disco utilizzando un programma di utilità.
Se la Etichetta di Servizio dell'elaboratore 104 non corrisponde agli ID di etichetta sul CD ROM 106 programmato in modo personalizzato, il programma di ripristino genera un segnale di condizione di errore 234. Il programma di ripristino fornisce informazioni diagnostiche, compreso il numero di Etichetta di servizio a cui 1'hardware di elaboratore 104 accede e fornisce istruzioni all'utente che dirigono l'utente a richiedere un'assistenza di servizio aggiuntiva.
Con riferimento alle Figure 3A e 3B, un diagramma di flusso illustra un procedimento esemplificativo che comprende atti che sono eseguiti per fabbricare un pacchetto di trasporto di software. Il pacchetto di trasporto di software comprende un CD ROM 106 programmato in modo personalizzato, un dischetto flessibile inizializzabile 108, ed un foglio di direzioni tecniche di kit di servizio 110 per l'invio ad un cliente.
Un procedimento di fabbricazione di pacchetti di trasporto di software 300 comincia quando un distributore inserisce un numero d'ordine in un sistema automatizzato/computerizzato per reperire un record di ordine cliente 302. Il record di ordine cliente specifica il software ordinato dal cliente per numero categorico. Il distributore inserisce i numeri categorici 304 per il software richiesto nell'ordine cliente. Il distributore inserisce quindi uno stato di emissione di distribuzione 306 come ordine breve che comprende un campo di ordini di acquisto (PO), un metodo di spedizione, e numeri di collegamento. Il distributore verifica che l'indirizzo di distribuzione sia corretto 308. Il distributore genera un numero d'ordine di scambio 310 e registra la distribuzione in un registro di commenti di distribuzione 312.
L'ordine registrato è stampato automaticamente nel servizio locale 314. Il servizio locale costruisce e invia un'unità a disco rigido 316 comprendente un software caricato specificato dal cliente in una stazione di masterizzazione di CD ROM.
Il procedimento della stazione di masterizzazione di CD ROM ha inizio 318 e il personale di servizio locale nella stazione di masterizzazione di CD ROM connette l'unità a disco rigido alla stazione di masterizzazione di CD 320.
Il personale di servizio locale ricerca un'etichetta di servizio al cliente dal distributore 322. Il personale di servizio locale esegue quindi una routine PREP_BAT 324 che prepara l'unità a disco rigido per la copia dell'immagine software, copia file dall'unità a disco rigido sul dischetto flessibile, ed esegue una routine MARETAG_EXE che realizza le etichette di identificazione descritte in precedenza per associare reciprocamente l'elaboratore, il CD ROM, e il dischetto flessibile inizializzabile . La routine PRE_BAT richiede l'inserimento dell'Etichetta di servizio.
Il personale di servizio locale esegue CDBURN_FLU 326 che masterizza il CD ROM 106 programmato in modo personalizzato. Il personale di servizio locale inserisce la Etichetta di Servizio nel software della stazione di masterizzazione 328 e masterizza il CD ROM 106 programmato in modo personalizzato con l'immagine software 330 ordinata dal cliente. Il personale di servizio locale estrae un foglio di direzioni tecniche di kit di servizio 110 dallo stock 332 e inserisce il CD ROM 106 programmato in modo personalizzato, il dischetto flessibile inizializzabile 108 e il foglio di direzioni tecniche di kit di servizio 110 in un cartone di spedizione 334. Il personale di servizio locale invia quindi il cartone di spedizione alla spedizione 336 per l'invio al cliente.
Con riferimento alla Figura 4, è illustrato un sistema di elaboratore 400 che esegue un sistema per creare un ambiente indipendente dal sistema operativo per eseguire programmi di utilità. Il sistema di elaboratore 400, tipicamente un elaboratore personale, comprende un processore 410, una memoria ad accesso casuale (RAM) di sistema 420, una ROM di sistema 422, un'unità a disco rigido 430 e vari altri dispositivi di ingresso/uscita 440. Questi componenti di sistema comunicano tramite un bus 450 che comprende linee di dati, indirizzi di controllo. Una RAM non volatile di clock CMOS 460, che è connessa al processore 410 tramite il bus 450, è utilizzata tipicamente per memorizzare informazioni anche quando si interrompe l'alimentazione al sistema di elaboratore 400. Le istruzioni di programma che realizzano il programma per creare un ambiente indipendente dal sistema operativo sono memorizzate in un dispositivo di memoria quale l'unità a disco rigido 430 o la ROM di sistema 422 connessi al processore 410. Il processore 410, per esempio un processore x86 quale un processore 486, 586 oppure PENTIUM™, esegue le operazioni di calcolo del sistema di elaboratore 400.
Con riferimento alla Figura 5, una mappa di memoria 500 di un sistema di elaboratore illustra una memoria di programmi 510 avente un indirizzo iniziale di 0O00H, una memoria video 512 con un indirizzo iniziale di OAOOOH ed una memoria BIOS 514 collocata negli indirizzi da 0F000H a 0FFFFH. Un sistema di uscita di ingresso di base (BIOS) è la parte di un sistema operativo che personalizza il sistema operativo per un elaboratore specifico. Il BIOS forma l'interfaccia di livello più basso per dispositivi comuni quali un clock di sistema, un disco rigido e un visualizzatore, per esempio. La memoria BIOS 514 comprende informazioni per l'interfaccia con un sistema di ingresso e uscita di base di estensione XBIOS 510.
Il XBIOS 520 estende la funzionalità BIOS di un sistema di elaboratore. In particolare, vari integratori di sistema di elaboratore comprendono una memoria XBIOS 520 per fornire caratteristiche estese alla funzionalità BIOS standard. Alcune di queste caratteristiche sono comprese per facilitare l'utilizzo di programmi a beneficio dell'utente di elaboratore. In modo specifico, rispetto alla funzionalità che si ottiene tramite una forma di attuazione secondo la presente invenzione, si utilizza la funzionalità BIOS per far passare un indirizzo di un blocco di controllo al modo di gestione di sistema (SMM), che esegue un'operazione designata dal blocco di controllo. Una di queste operazioni è l'aggiornamento della tabella di partizione protetta. Un'altra operazione è di identificazione di una particolare locazione di settore fisico su una unità a disco. Altre caratteristiche che sono eseguite tipicamente dal BIOS possono comprendere la gestione di un'icona di batteria per visualizzare la durata della batteria restante per una batterica ricaricabile e attivare un pannello di controllo per impostare parametri di gestione di potenza. Le caratteristiche comprendono inoltre WinCPL, una applicazione che consente l'esecuzione di funzioni di gestione di potenza senza invocare un'operazione di gestione di sistema. La WinCPL controlla varie operazioni di sicurezza quali l'impostazione di una parola chiave, il controllo del volume degli altoparlanti, l'abilitazione del click di tasto simulato, la modifica di parametri di visualizzazione quali luminosità e contrasto. Le caratteristiche comprendono inoltre un'utilità di etichetta di risorsa che consente ad un utente di elaboratore di assegnare un'etichetta di risorsa per identificare un particolare sistema di elaborazione e leggere l'etichetta di risorsa assegnata. L'etichetta di risorsa è utile per identificare e inventariare i sistemi di elaboratore per scopi contabili e simili. Un'altra ulteriore caratteristica è un file eseguibile monitor.exe che controlla i parametri di monitor video quali polarizzazione video, velocità di rinfresco di monitor e simili.
Il XBI0S 520 memorizza una pluralità di puntatori che puntano ad inserimenti in una tabella di XBIOS 522. La tabella di XBIOS 522 comprende una pluralità di puntatori negli indirizzi di memorie per varie funzioni di programma applicativo 524 assegnate. Ogni singola funzione di programma XBIOS 524 ha un inserimento separato nella tabelle XBIOS 522 ed un punto di inserimento separato che è memorizzato nella tabella XBIOS 522.
In un modo di funzionamento, il codice di programma nel XBIOS 520 opera trasferendo identificatori e parametri operativi alla memoria CMOS 460 ed eseguendo l'istruzione di ingresso/uscita che evoca un segnale SMI#. Il segnale SMI# è un segnale per attivare un modo operativo di gestione di sistema (SMM). Quando un processore 410 riconosce un segnale SMI# su un limite di istruzione, il processore 410 attende che tutte le operazioni di memorizzazione si completino. Il processore 410 salva quindi lo stato di registro di processore in una regione di memoria chiamata spazio di RAM di gestione di sistema (SMRAM) e comincia ad eseguire una routine di trattamento di SMM. L'interruzione di SMI# ha una priorità maggiore rispetto alle eccezioni di debug e le interruzioni esterne cosicché l'elaborazione SMM ha priorità rispetto a condizioni di debug e l'interruzione esterna. Le successive richieste SMI# e di interruzione non mascherabile (NMI) non sono riconosciute mentre il processore è operativo nel modo di gestione di sistema.
L'elaborazione di modo di gestione di sistema (SMM) è eseguita in modo convenzionale da una tecnica in cui le routine software scrivono un modello codice definito in una locazione di ingresso/uscita I/O SMI definita specifica. Un modello è definito in modo da essere opportunamente complesso cosicché non si stabilisce inavvertitamente un modello non corretto e inadatto. In generale, i modelli codificano una quantità sufficiente di informazioni operative per cui questo livello di complessità si ottiene facilmente. In modo vantaggioso, la codifica di modello è sufficientemente specifica per le precise operazioni XBIOS invocate che la sicurezza di un sistema operativo sicuro non è compressa mentre si fa in modo che si attivino funzioni utili che altrimenti sarebbero proibite dal sistema operativo. La scrittura di questo modello nella locazione di I/O SMI genera un segnale SMI#, evocando un'interruzione di modo di gestione di sistema.
Con riferimento alla Figura 6, è illustrato un diagramma a blocchi che indica le operazioni di un sistema software 600 che fornisce la completa funzionalità XBIOS. Il sistema software 600 fornisce un'interfaccia per il funzionamento in modo di gestione di sistema (SMM). In questa interfaccia, un programma applicativo 610 non tenta direttamente di invocare un'interruzione SMI#, ma invece il programma applicativo 610 chiama il XBIOS 614 per richiedere un'operazione SMM 620.
L'operazione SMM 620 è attivata indipendentemente dall'operazione e dal controllo del sistema operativo 602.
Nel sistema software 600, si prepara un programma software applicativo 610 per l'esecuzione utilizzando capacità di collegamento dinamiche di un sistema operativo obiettivo 602, quale Windows NT™, Windows 95™, OS/2™ o simili, cosicché l'ambiente di collegamento dinamico comprende una fase di collegamento ed una fase di caricamento di programmi governata dal sistema operativo 602. Il collegatore sottopone a scansione un insieme di librerie di collegamento dinamiche (DLL) 604. Alcune delle librerie comprendono un codice di supporto di .tempo di funzionamento che è collegato in un file eseguibile 612. Altre librerie, chiamate librerie di importazione, contengono riferimenti e funzioni che non vengono risolte completamente fino a quando il sistema operativo 602 carica il file eseguibile di programma 612 per l'esecuzione. Un collegatore nel sistema operativo 602 sottopone a scansione una libreria di importazione e incorpora un nome di modulo obiettivo ed un punto di inserimento numerico nel file eseguibile 612. Quando il sistema operativo 602 carica il file eseguibile 612 per l'esecuzione, il sistema operativo 602 sostituisce questi riferimenti con indirizzi che sono validi per l'utilizzo nelle chiamate di funzione. Una libreria di collegamento dinamica (DLL) è un modulo che soddisfa questi riferimenti tramite collegamento dinamico. Una DLL dichiara un insieme di punti di entrata che soddisfano riferimenti esterni.
Varie librerie delle librerie di collegamento dinamico (DLL) 604 comprendono un codice operativo per realizzare una chiamata XBIOS che spedisce la richiesta XBIOS 604, tanto in tal modo inizio ad una routine XBIOS 608. Il programma applicativo 610, che utilizza una o più chiamate XBIOS per varie funzionalità di livello basso, segna un elemento di memorizzazione dati per trattare i dati. Tipicamente, una locazione di memoria nota è assegnata dal programma applicativo 610 per inviare il segnale 614 memorizzando informazioni che designano una particolare funzione di gestione di sistema da eseguire. Tuttavia, alcuni sistemi operativi sicuri, quali Windows NT™, non consentono l'accesso o l'assegnazione di una particolare locazione di memoria nota. Pertanto, nel sistema software 600, registri per scopi generali del processore 410 sono assegnati per l'invio del segnale 614 e memorizzano le informazioni che designano una particolare funzione di gestione di sistema richiesta e, al servizio da parte delle operazioni SMM 620 e delle routine XBIOS 608, memorizzare una risposta di elaborazione SMM/XBIOS. In alcune forme di attuazione, il sistema software 600 assegna registri per scopi generali a 16 bit quali AX, BX, CX e DX per memorizzare modelli per evocare operazioni SMM 620 e routine XBIOS 608. In altre forme di attuazione, si utilizzano registri a 32 bit, quali EAX, EBX, ECX e EDX per memorizzare i modelli di attivazione.
Mentre l'invenzione è stata descritta con riferimento a varie forme di attuazione, si comprenderà che queste forme di attuazione sono illustrative e che il campo di protezione dell'invenzione non è limitata ad esse. Sono possibili molte varianti, modifiche, aggiunte e miglioramenti delle forme di attuazione descritte. Per esempio, gli esperti nel ramo implementeranno immediatamente le fasi necessarie a fornire le strutture e i procedimenti qui descritti, e comprenderanno che parametri di procedimento, materiali e dimensioni sono forniti in maniera soltanto esemplificativa e possono essere modificati per ottenere la struttura desiderata così come modifiche che ricadono nell'ambito del campo di protezione dell'invenzione. Varianti e modifiche delle forme di attuazione qui descritte possono essere effettuate basandosi sulla descrizione qui evidenziata, senza discostarsi dal campo di protezione e dallo spirito dell'invenzione come evidenziato nelle seguenti rivendicazioni.
Per esempio, le forme di attuazione sono descritte come sistemi per fornire caratteristiche di protezione e sicurezza per i sistemi operativi Windows NT™ e Windows 95™. L'invenzione è applicabile con riferimento ad altri sistemi operativi che impiegano misure di sicurezza simili, per esempio OS/2™. Inoltre, le forme di attuazione descritte discutono l'utilizzo di registri per scopi generali per comunicare il segnale di interrogazione ciclica. In altre forme di attuazione, sono applicabili altri tipi vari di celle di memoria temporanee nella misura in cui queste celle non sono sovrascritte dal sistema operativo .

Claims (1)

  1. RIVENDICAZIONI 1. - Pacchetto di trasporto di software per fornire un'immagine software ad una memoria di un elaboratore, il pacchetto di trasporto di software comprendendo : un supporto di trasporto di software che memorizza l'immagine software, l'immagine software essendo configurata per lo scaricamento e l'esecuzione soltanto su un singolo elaboratore unico, il supporto di trasporto di software e l'elaboratore essendo a chiavi reciproche in modo tale che l'immagine software sia scaricabile nella memoria soltanto del singolo elaboratore unico e nessun altro. 2. - Pacchetto di trasporto di software secondo la rivendicazione 1 comprendente inoltre: un supporto di scaricamento di software che memorizza un programma di scaricamento che controlla lo scaricamento dell'immagine software in memoria . 3. - Pacchetto di trasporto di software secondo la rivendicazione 2 comprendente inoltre: un foglio di istruzioni che dirige un utente all'utilizzo del supporto di scaricamento di software e il supporto di scaricamento di software per controllare lo scaricamento dell' immagine software in memoria. 4. - Pacchetto di trasporto di software secondo la rivendicazione 2, in cui: l'elaboratore comprende un primo elemento di pilotaggio di supporti, un secondo elemento di pilotaggio di supporti e la memoria; il supporto di trasporto di software è caricabile nel primo elemento di pilotaggio di supporti; il supporto di scaricamento di software è caricabile nel secondo elemento di pilotaggio di supporti, il supporto di scaricamento di software controllando lo scaricamento dell'immagine software dal supporto di trasporto di software alla memoria. 5. - Pacchetto di trasporto di software secondo la rivendicazione 4 in cui: il supporto di scaricamento di software controlla la riformattazione della memoria prima di scaricare l'immagine software dal supporto di trasporto di software in memoria. 6. - Pacchetto di trasporto di software secondo la rivendicazione 5 in cui: il supporto di scaricamento di software controlla la visualizzazione di un messaggio di 10. - Pacchetto di trasporto di software secondo la rivendicazione 2 in cui: l'elaboratore è codificato con un identificatore unico che distingue l'elaboratore da tutti gli altri elaboratori; il supporto di trasporto di software contiene un primo file di identificazione che ha come chiave l'identificatore unico; il supporto di scaricamento di software contiene un secondo file di identificazione che ha come chiave l'identificatore unico e come chiave un identificatore del primo file di identificazione. 11. - Pacchetto di trasporto di software secondo la rivendicazione 2 in cui: l'elaboratore è codificato con un identificatore unico che distingue l'elaboratore da tutti gli altri elaboratori; il supporto di trasporto di software contiene un primo file di identificazione che ha come chiave l'identificare unico ed un numero generato in modo casuale; il supporto di scaricamento di software contiene un secondo file di identificazione che ha come chiave l'identificatore unico e il numero generato in modo casuale. 12. - Pacchetto di trasporto di software secondo la rivendicazione 2 in cui: l'elaboratore comprende un lettore di compact disk (CD) ROM) ed un'unità a dischetti flessibili inzializzabili, e la memoria è un'unità a disco rigido; il supporto di trasporto di software è un CD ROM programmato individualmente; il supporto di scaricamento di software è un dischetto flessibile. 13. - Progetto di programma di elaboratore comprendente supporti utilizzabili da elaboratore aventi un codice leggibile calcolabile in esso realizzato comprendente: un pacchetto di trasporto di software per fornire un'immagine software ad una memoria di un elaboratore, il pacchetto di trasporto di software comprendendo: un supporto di trasporto di software che memorizza l'immagine software, l'immagine software essendo configurata per lo scaricamento e l'esecuzione soltanto su un singolo elaboratore unico, il supporto di trasporto di software e l'elaboratore essendo con chiavi reciproche in modo che l'immagine software sia scaricabile nella memoria soltanto del singolo elaboratore unico e nessun altro. 14. - Prodotto di programma di elaboratore secondo la rivendicazione 13 comprendente inoltre: un supporto di scaricamento di software che memorizza un programma di scaricamento che controlla lo scaricamento dell'immagine software nella memoria. 15. - Prodotto di programma di elaboratore secondo la rivendicazione 14 comprendente inoltre: un fogli di istruzioni che dirige un utente nell'utilizzo del supporto di scaricamento di software e il supporto di scaricamento di software per controllare lo scaricamento dell'immagine software nella memoria. 16. - Prodotto di programma di elaboratore secondo la rivendicazione 14 in cui: l'elaboratore comprende un primo elemento di pilotaggio di supporti, un secondo elemento di pilotaggi di supporti e la memoria; il supporto di trasporto di software è caricabile nel primo elemento di pilotaggio di supporti; il supporto di scaricamento di software è caricabile nel secondo elemento di pilotaggio di supporti, il supporto di scaricamento di software controllando lo scaricamento dell'immagine software dal supporto di trasporto di software alla memoria. 17. - Prodotto di programma di elaboratore secondo la rivendicazione 16 in cui: il supporto di scaricamento di software controlla la riformattazione della memoria prima dello scaricamento dell'immagine software dal supporto di trasporto di software alla memoria. 18. - Prodotto di programma di elaboratore secondo la rivendicazione 17 in cui: il supporto di scaricamento di software controlla la visualizzazione di un messaggio di avvertimento e l'attesa dell'intervento prima della riformattazione della memoria. 19. - Prodotto di programma di elaboratore secondo la rivendicazione 16 in cui: il supporto di scaricamento di software controlla la cancellazione della memoria prima dello scaricamento dell'immagine software dal supporto di trasporto di software alla memoria. 20. - Prodotto di programma di elaboratore secondo la rivendicazione 19 in cui: il supporto di scaricamento di software controlla la visualizzazione di un messaggio di avvertimento e l'attesa di un intervento prima della cancellazione della memoria. 21. - Prodotto di programma di elaboratore secondo la rivendicazione 14 in cui: l'elaboratore è codificato con un identificatore unico che distingue l'elaboratore da tutti gli altri elaboratori; il supporto di trasporto di software contiene un primo file di identificazione che ha come chiave l'identificatore unico; il supporto di scaricamento di software contiene un secondo file di identificazione che ha come chiave l'identificatore unico. 22. - Prodotto di programma di elaboratore secondo la rivendicazione 14 in cui: l'elaboratore è codificato con un identificatore unico che distingue l'elaboratore da tutti gli altri elaboratori; il supporto di trasporto di software contiene un primo file di identificazione che ha come chiave l'identificatore unico; il supporto di scaricamento di software contiene un secondo file di identificazione che ha come chiave l'identificatore unico e come chiave l'identificatore del primo file di identificazione. 23. - Prodotto di programma di elaboratore secondo la rivendicazione 14 in cui: l'elaboratore è codificato con un identificatore unico che distingue l'elaboratore da tutti gli altri elaboratori; il supporto di trasporto di software contiene un primo file di identificazione che ha come chiave 1'identificatore unico ed un numero generato in modo casuale; il supporto di scaricamento di software contiene un secondo file di identificazione che ha come chiave l'identificatore unico e il numero generato in modo casuale. 24. - Prodotto di programma di elaboratore secondo la rivendicazione 14 in cui: l'elaboratore comprende un lettore di compact disk (CD) ROM ed un'unità a dischetti flessibili inizializzabili, e la memoria è un'unità a disco rigido; il supporto di trasporto di software è un CD ROM programmato individualmente; il supporto di scaricamento di software è un dischetto flessibile. 25. - Elaboratore comprendente: un processore; una memoria accoppiata al processore, la memoria per memorizzare un'immagine software che è eseguibile da parte del processore; un'unità per supporti accoppiata al processore; e un pacchetto di trasporto di software comprendente: un supporto di trasporto di software che è caricabile sull'unità per supporti, e il supporto di trasporto di software memorizzando l'immagine software, l'immagine software essendo configurata per lo scaricamento di esecuzione soltanto su un singolo elaboratore identificato, il supporto di trasporto di software e il processore avendo chiavi reciproche in modo tale che 1'immagine software sia scaricabile nella memoria soltanto nel singolo elaboratore identificato e nessun altro. 26. - Elaboratore secondo la rivendicazione 25 comprendente inoltre: una seconda unità per supporti accoppiata al processore; e il pacchetto di trasporto di software comprendendo inoltre: un supporto di scaricamento di software che è caricabile sulla seconda unità per supporti, il supporto di scaricamento di software memorizzando un programma di scaricamento che controlla lo scaricamento dell'immagine software nella memoria. 27. - Elaboratore secondo la rivendicazione 26 in cui: il programma di scaricamento controlla la cancellazione della memoria prima dello scaricamento dell'immagine software nella memoria. 28. - Elaboratore secondo la rivendicazione 27 in cui: il programma di scaricamento controlla la visualizzazione di un messaggio di avvertimento e l'attesa dell'intervento prima della cancellazione della memoria. 29. - Elaboratore secondo la rivendicazione 26 in cui: il programma di scaricamento controlla la riformattazione della memoria prima dello scaricamento dell'immagine software in memoria. 30. - Elaboratore secondo la rivendicazione 29 in cui: il programma di scaricamento controlla la visualizzazione di un messaggio di avvertimento e l'attesa di un intervento prima della riformattazione della memoria. 31. - Elaboratore secondo la rivendicazione 26 comprendente inoltre: un foglio di istruzioni che dirige un utente nell'utilizzo del supporto di scaricamento di software e il supporto di scaricamento di software per controllare lo scaricamento dell'immagine software in memoria. 32. - Elaboratore secondo la rivendicazione 26 in cui: il processore è codificato con un identificatore unico che distingue l'elaboratore da tutti gli altri elaboratori; il supporto di trasporti di software contiene un primo file di identificazione che ha come chiave l'identificatore unico; il supporto di scaricamento di software contiene un secondo file di identificazione che ha come chiave l'identificatore unico. 33. - Elaboratore secondo la rivendicazione 26 in cui: il processore è codificato con un identificatore unico che distingue l'elaboratore da tutti gli altri elaboratori; il supporto di trasporto di software contiene un primo file di identificazione che ha come chiave l'identificatore unico; il supporto di scaricamento di software contiene un secondo file di identificazione che ha come chiave l'identificatore unico e ha come chiave un identificatore del primo file di identificazione. 34. - Elaboratore secondo la rivendicazione 26 in cui: il processore è codificato con un identificatore unico che distingue l'elaboratore da tutti gli altri elaboratori; il supporto di trasporto di software contiene un primo file di identificazione che ha come chiave l'identificatore unico ed un numero generato in modo casuale; il supporto di scaricamento di software contiene un secondo file di identificazione che ha come chiave l'identificatore unico e il numero generato in modo casuale. 35. - Elaboratore secondo la rivendicazione 26 in cui: l'unità per supporti è un lettore di compact disk (CD) ROM; una seconda unità per supporti è un'unità per dischetti flessibili inizializzabili; la memoria è un'unità a disco rigido; il supporto di trasporto di software è un CD ROM programmato individualmente; e il supporto di scaricamento di software è un dischetto flessibile. 36. - Sistema di fabbricazione di prodotti software comprendente: un sistema di inserimento di ordini per ricevere un ordine cliente comprendente la specifica di componenti hardware-software di un elaboratore; un processore software accoppiato al sistema di inserimento di ordini per elaborare i componenti software ordinati dal cliente secondo caratteristiche dei componenti hardware ordinati dal cliente e generare un'immagine software per lo scaricamento in una memoria dell'elaboratore; un identificatore di etichetta accoppiato al processo software, l'identificatore di etichetta accedendo ad un identificatore unico dell'elaboratore; un dispositivo di fabbricazione di supporti di trasporto di software accoppiato al processo di software per formare l'immagine software ed un file identificatore di etichette di supporti di trasporto di software indicativo dell'identificatore unico dell'elaboratore; e un dispositivo di fabbricazione di supporti di scaricamento di software accoppiato al processore software per generare un programma di scaricamento di software ed un file di identificatore di etichette di supporti di scaricamento di software indicativo dell'identificatore unico dell'elaboratore . 37. - Sistema di fabbricazione di prodotti secondo la rivendicazione 36 comprende inoltre: il dispositivo di fabbricazione di supporti di scaricamento di software per generare un file identificatore di etichette di supporti di scaricamento di software indicativo dell'identificatore del file identificatore di etichette di supporti di trasporto di software. 38. - Sistema di fabbricazione di prodotti software secondo la rivendicazione 36 comprendente inoltre: un generatore di numeri casuali accoppiato al processore di software per generare un numero di identificazione casuale; il dispositivo di fabbricazione di supporti di trasporto di software per formare il file identificatore di etichette di supporti di trasporto di software indicativo del numero di identificazione casuale; e il dispositivo di fabbricazione di supporto di scaricamento di software per generare un file identificatore di etichette di supporti di scaricamento di software indicativo del numero di identificazione casuale. 39. - Sistema di fabbricazione di prodotti software secondo la rivendicazione 36 comprendente inoltre: un dispositivo di scaricamento di memoria accoppiato al processore di software per scaricare un'immagine software in un supporto di memoria che è installabile nell'elaboratore, in cui il dispositivo di fabbricazione di supporti di trasporto di software è collegabile ai supporti di memoria per trasferire l'immagine software al supporto di trasporto di software. 40. - Sistema di fabbricazione di prodotti software secondo la rivendicazione 36 in cui: il supporto di trasporto di software memorizza una copia dell'immagine software che ripristina l'elaboratore in una condizione di fabbrica. 41. - Sistema di fabbricazione di prodotti software secondo la rivendicazione 36 in cui: il supporto di trasporto di software è un supporto a compact disk (CD) ROM programmato in modo personalizzato; il supporto di scaricamento di software è un dischetto flessibile inizializzabile; e la memoria è un'unità a disco rigido. 42. - Sistema di fabbricazione di prodotti software secondo la rivendicazione 36 in cui: il supporto di trasporto di software memorizza l'immagine software e il file identificatore di etichette di supporti di trasporto di software indicativo dell'identificatore unico dell'elaboratore; e il supporto di scaricamento di software memorizza: il file identificatore di etichette dì supporti di scaricamento di software indicativo dell'identificatore unico dell'elaboratore e indicativo di un identificatore del file identificatore di etichette di supporti di trasporto di software; e un programma eseguibile per eseguire un trasferimento dell'immagine software dal supporto di scaricamento di software alla memoria. 43. - Sistema di fabbricazione di prodotti software secondo la rivendicazione 42 in cui: il programma eseguibile cancella la memoria prima del trasferimento dell'immagine software dal supporto di scaricamento alla memoria. 44. - Sistema di fabbricazione di prodotti software secondo la rivendicazione 43 in cui: il programma eseguibile visualizza un messaggio di avvertimento e attende l'intervento prima della cancellazione della memoria. 45. - Sistema di fabbricazione di prodotti software secondo la rivendicazione 42 in cui: il programma eseguibile riformatta la memoria prima del trasferimento dell'immagine software dal supporto di scaricamento alla memoria. 46. - Sistema di fabbricazione di prodotti software secondo la rivendicazione 45 in cui: il programma eseguibile visualizza un messaggio di avvertimento e attende l'intervento prima della riformattazione della memoria. 47. - Sistema di fabbricazione di prodotti secondo la rivendicazione 42 in cui: il programma eseguibile funziona senza l'intervento dell'utente. 48. - Procedimento per fabbricare un prodotto software comprendente le fasi di: ricevere un ordine cliente comprendente la specifica di componenti hardware-software di un elaboratore; elaborare componenti software ordinati dal cliente in conformità con le caratteristiche dei componenti hardware ordinati dal cliente; generare un'immagine software per lo scaricamento di una memoria dell'elaboratore ai componenti software elaborati; determinare un identificatore di etichetta che identifica in modo unico l'elaboratore su cui è caricabile l'immagine software, l'immagine software non essendo caricabile su nessun altro elaboratore; fabbricare un supporto di trasporto di software comprendente una memoria dell'immagine software ed un file identificatore di etichette di supporti di trasporto di software indicativo dell'identificatore unico dell'elaboratore; e fabbricare un supporto di scaricamento di software comprendente un programma di scaricamento di software ed un file identificatore di etichette di supporti di scaricamento di software indicativo dell'identificatore unico dell'elaboratore. 49. Procedimento secondo la rivendicazione 48 comprendente inoltre le fasi di: generare un file identificatore di etichette di supporti di scaricamento di software indicativo dell'identificatore del file identificatore di etichette di supporti di trasporto di software. 50. - Procedimento secondo la rivendicazione 48 comprendente inoltre le fasi di: generare un numero di identificazione casuale; formare il file identificatore di etichette di supporti di trasporto di software indicativo del numero di identificazione casuale; e generare un file identificatore di etichette di supporti di scaricamento di software indicativo del numero di identificazione casuale. 51. - Procedimento secondo la rivendicazione 48 comprendente inoltre le fasi di: scaricare l'immagine software su un supporto di memoria che è installabile nell'elaboratore; e trasferire l'immagine software sul supporto di trasporto di software. 52. - Procedimento secondo la rivendicazione 48 comprendente inoltre le fasi di: memorizzare una copia dell'immagine software nel supporto di trasporto di software che ripristina l'elaboratore in una condizione di fabbrica. 53. - Procedimento secondo la rivendicazione 48 in cui: il supporto di trasporto di software è un supporto di compact disk (CD) ROM programmato in modo personalizzato; il supporto di scaricamento di software è un dischetto flessibile inizializzabile; e la memoria è un'unità a disco rigido. 54. - Procedimento secondo la rivendicazione 48 comprendente inoltre le fasi di: memorizzare nel supporto di trasporto di software l'immagine software e il file identificatore di etichette di supporti di trasporti di software indicativo dell'identificatore unico dell'elaboratore; e memorizzare nel supporto di scaricamento di software: il file identificatore di etichette di supporti di scaricamento di software indicativo dell'identificatore unico dell'elaboratore e indicativo di un identificatore del file identificatore di etichette di supporti di trasporto di software; e un programma eseguibile; eseguire, tramite il programma eseguibile, il trasferimento dell'immagine software dal supporto di scaricamento di software alla memoria. 55. - Procedimento secondo la rivendicazione 54 comprendente inoltre le fasi di: cancellare, tramite il programma eseguibile, la memoria prima del trasferimento dell'immagine software dal supporto di scaricamento alla memoria. 56. - Procedimento secondo la rivendicazione 55 comprendente inoltre le fasi di: visualizzare, tramite il programma eseguibile, un messaggio di avvertimento; e attendere l'intervento prima di cancellare la memoria . 57. - Procedimento secondo la rivendicazione 54 comprendente inoltre le fasi di: riformattare, tramite il programma eseguibile, la memoria prima del trasferimento dell'immagine software dal supporto di scaricamento alla memoria. 58. - Procedimento secondo la rivendicazione 57 comprendente inoltre le fasi di: visualizzare, tramite il programma eseguibile, un messaggio di avvertimento; e attendere l'intervento prima di riformattare la memoria. 59. Procedimento secondo la rivendicazione 54 in cui: la routine di file eseguibile opera senza l'intervento dell'utente. 60. - Prodotto di programma di elaboratore comprendente supporti utilizzabili da elaboratore aventi un codice leggibile e calcolabile in essi realizzato che esegue il procedimento secondo la rivendicazione 48. 61. - Sistema di protezione software che permette di scaricare il software in una memoria di un solo elaboratore autorizzato, l'elaboratore autorizzato avendo un identificatore unico, il sistema di protezione di software comprendendo: supporti leggibili da elaboratore contenenti: un'immagine software formata da una configurazione hardware-software dell'elaboratore autorizzato; un file di identificazione di etichetta avente un'etichetta di identificazione con chiave pari all'identificatore unico dell'elaboratore autorizzato; e un file eseguibile comprendente una routine per accedere all'identificatore unico, confrontare l'identificatore unico con la chiave di identificazione, e trasferire l'immagine software dai supporti leggibili da elaboratore alla memoria soltanto se l'identificatore unico corrisponde alla chiave di identificazione. 62. - Sistema di protezione di software secondo la rivendicazione 61 in cui: la routine di file eseguibile accede all'identificatore unico utilizzando una chiamata XBIOS. 63. - Sistema di protezione di software secondo la rivendicazione 61 in cui: la routine di file eseguibile accede all'identificatore unico utilizzando una chiamata di desktop management interface (DMI). 64. - Sistema di protezione di software secondo la rivendicazione 61 in cui: la routine di file eseguibile accede all'identificatore unico utilizzando una tecnica per leggere una ROM CMOS. 65. - Sistema di protezione di software secondo la rivendicazione 61 in cui: i supporti leggibili da elaboratore comprendono: un primo supporto contenente: l'immagine software; e un primo file di identificazione di etichetta avente un'etichetta di identifficazione con chiave pari all'identificatore unico dell'elaboratore autorizzato; un secondo supporto contenente: un secondo file di identificazione di etichetta avente un'etichetta di identificazione con chiave pari all'identificatore unico dell'elaboratore autorizzato e un'etichetta di identificazione che identifica il primo file di identificazione di etichetta; e un file eseguibile comprendente una routine per accedere al primo file di identificazione di etichetta tramite informazioni di identificazione nel secondo file di identificazione di etichetta, accedere all'identificatore unico, confrontare reciprocamente l'identificatore unico con le chiavi di identificazione nel primo e nel secondo file di identificazione di etichetta, e trasferire l'immagine software dai supporti leggibili dall'elaboratore a una memoria soltanto se l'identificatore unico corrisponde alle chiavi di identificazione . 66. - Sistema di protezione di software secondo la rivendicazione 65 in cui la routine di file eseguibile comprende una subroutine per: cancellare la memoria prima di trasferire l'immagine software dai supporti leggibili dall'elaboratore alla memoria. 67. - Sistema di protezione di software secondo la rivendicazione 66 in cui la routine di file eseguibile comprende una subroutine per: visualizzare un messaggio di avvertimento; e attendere l'intervento prima di cancellare la memoria. 68. - Sistema di protezione di software secondo la rivendicazione 65 in cui la routine di file eseguibile comprende una subroutine per: riformattare la memoria prima di trasferire l'immagine software dai supporti leggibili da elaboratore alla memoria. 69. - Sistema di protezione di software secondo la rivendicazione 68 in cui la routine di file eseguibile comprende una subroutine per: visualizzare un messaggio di avvertimento; e attendere un intervento prima di riformattare la memoria. 70. - Sistema di protezione di software secondo la rivendicazione 65 in cui: il primo supporto è un supporto di compact disk (CD) ROM programmato in modo personalizzato; il secondo supporto è un dischetto flessibile inizializzabile; e la memoria è un'unità a disco rigido. 71. - Sistema di protezione di software secondo la rivendicazione 61 in cui: i supporti leggibili da elaboratore comprendono: un primo supporto contenente: l'immagine software; e un primo file di identificazione di etichetta avente una prima etichetta di identificazione con chiave pari all'identificatore unico dell'elaboratore autorizzato e ad una seconda etichetta di identificazione con chiave pari ad un numero generato in modo casuale; un secondo supporto contenente: un secondo file di identificazione di etichetta avente una terza etichetta di identificazione con chiave pari all'identificatore unico dell'elaboratore autorizzato ed una quarta etichetta di identificazione con chiave pari al numero generato in modo casuale; e un file eseguibile comprendente una routine per confrontare la seconda etichetta di identificazione con la quarta etichetta di identificazione, accedere all'identificatore unico, confrontare reciprocamente l'identificatore unico con la prima etichetta di identificazione e la terza etichetta di identificazione, e trasferire l'immagine software dai supporti leggibili da elaboratore alla memoria soltanto se la seconda etichetta di identificazione corrisponde alla quarta etichetta di identificazione, e l'identificatore unico corrisponde alla prima etichetta ai identificazione e alla seconda etichetta di identificazione. 72. - Sistema di protezione di software secondo la rivendicazione 71 in cui: il primo supporto è un supporto di compact disk (CD) ROM programmato in modo personalizzato; il secondo supporto è un dischetto flessibile inizializzabile; e la memoria è un'unità a disco rigido. 73. - Sistema di protezione di software secondo la rivendicazione 61 in cui: la routine di file eseguibile accede all'identificatore unico con un comando scelto tra una chiamata XBIOS, una chiamata di desktop management interface (DMI), ed una tecnica per leggere una ROM CMOS. 74. - Sistema di protezione di software secondo la rivendicazione 61 in cui: la routine di file eseguibile accede all'identificatore unico utilizzando un comando scelto tra una chiamata XBIOS, una chiamata desktop management interface (DMI), ed una tecnica per leggere una ROM CMOS; e la routine di file eseguibile accede ad un codice di ID di sistema dell'elaboratore autorizzato e utilizza il codice di ID di sistema per selezionare il comando. 75. - Sistema di protezione di software secondo la rivendicazione 61 in cui: l'identificatore unico è una Etichetta di Servizio. 76. - Sistema di protezione di software secondo la rivendicazione 61 in cui: la routine di file eseguibile opera senza l'intervento dell'utente. 77. - Prodotto di programma di elaboratore comprendente supporti utilizzabili da elaboratore aventi un codice leggibile calcolabile in essi realizzato comprendente: un sistema di protezione di software che permette di scaricare il software in una memoria di un solo elaboratore autorizzato, l'elaboratore autorizzato avendo un identificatore unico, il sistema di protezione di software comprendendo: un'immagine software formata per una configurazione hardware-software dell'elaboratore autorizzato; un file di identificazione di etichetta avente un'etichetta di identificazione con chiave pari all'identificatore unico dell'elaboratore autorizzato; e un file eseguibile comprendente una routine per accedere all'identificatore unico, confrontare l'identificatore unico con la chiave di identificazione, e trasferire l'immagine software dai supporti leggibili da elaboratore alla memoria soltanto se l'identificatore unico corrisponde alla chiave di identificazione. 78. - Prodotto di programma di calcolatore secondo la rivendicazione 77 in cui i supporti utilizzabili da elaboratore comprendono: un primo supporto contenente: l'immagine software; e un primo file di identificazione di etichetta avente un'etichetta di identificazione con chiave pari all'identificatore unico dell'elaboratore autorizzato; un secondo supporto contenente: un secondo file di identificazione di etichetta avente un'etichetta di identificazione con chiave pari all'identificatore unico dell'elaboratore autorizzato ed un'etichetta di identificazione che identifica il primo file di identificazione di etichetta; e un file eseguibile comprendente una routine per accedere al primo file di identificazione di etichetta tramite informazioni di identificazione nel secondo file di identificazione di etichetta, accedere all'identificatore unico, confrontare reciprocamente l'identificatore unico con le chiavi di identificazione nel primo e nel secondo file di identificazione di etichetta, e trasferire l'immagine software dai supporti leggibili da elaboratore alla memoria soltanto se l'identificatore unico corrisponde alle chiavi di identificazione. 79. - Prodotto di programma di calcolatore secondo la rivendicazione 78 in cui: il primo supporto è un supporto di compact disk (CD) ROM programmato in modo personalizzato; il secondo supporto è un dischetto flessibile inizializzabile; e la memoria è un'unità a disco rigido. 80. - Prodotto di programma di elaboratore secondo la rivendicazione 77 in cui i supporti utilizzabili da elaboratore comprendono: un primo supporto contenente: l'immagine software; e un primo file di identificazione di etichetta avente una prima etichetta di identificazione con chiave pari all'identificatore unico dell'elaboratore autorizzato ed una seconda etichetta di identificazione con chiave pari ad un numero generato in modo casuale; un secondo supporto contenente: un secondo file di identificazione di etichetta avente una terza etichetta di identificazione con chiave pari all'identificatore unico dell'elaboratore autorizzato ed una quarta etichetta di identificazione con chiave pari al numero generato in modo casuale; e un file eseguibile comprendente una routine per confrontare la seconda etichetta di identificazione con la quarta etichetta di identificazione, accedere all'identificatore unico, confrontare reciprocamente l'identificatore unico con la prima etichetta di identificazione e la terza etichetta di identificazione, e trasferire l'immagine software dai supporti leggibili dall'elaboratore alla memoria soltanto se la seconda etichetta di identificazione corrisponde alla quarta etichetta di identificazione, e l'identificatore unico corrisponde alla prima etichetta di identificazione e alla seconda etichetta di identificazione. 81. - Prodotto di programma di elaboratore secondo la rivendicazione 80 in cui: il primo supporto è un supporto di compact disk (CD) ROM programmato in modo personalizzato; il secondo supporto è un dischetto flessibile inizializzabile; e la memoria è un'unità a disco rigido.
IT1999TO000234A 1998-04-24 1999-03-25 Procedimento e sistema per fornire un'immagine software personalizzataad un sistema di elaboratore. IT1309082B1 (it)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/066,128 US6298443B1 (en) 1998-04-24 1998-04-24 Method and system for supplying a custom software image to a computer system

Publications (2)

Publication Number Publication Date
ITTO990234A1 true ITTO990234A1 (it) 2000-09-25
IT1309082B1 IT1309082B1 (it) 2002-01-16

Family

ID=22067413

Family Applications (1)

Application Number Title Priority Date Filing Date
IT1999TO000234A IT1309082B1 (it) 1998-04-24 1999-03-25 Procedimento e sistema per fornire un'immagine software personalizzataad un sistema di elaboratore.

Country Status (13)

Country Link
US (1) US6298443B1 (it)
JP (2) JP4510945B2 (it)
KR (1) KR100714532B1 (it)
CN (1) CN1115637C (it)
AU (1) AU758671B2 (it)
BR (1) BR9804293A (it)
DE (1) DE19918640A1 (it)
FR (2) FR2784762B1 (it)
GB (1) GB2339488B (it)
IT (1) IT1309082B1 (it)
MY (1) MY116777A (it)
SG (1) SG75138A1 (it)
TW (1) TW396322B (it)

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU747780B2 (en) * 1997-08-15 2002-05-23 Sony Corporation Data transmitter, data reproduction method, terminal, and method for transferring data transmitter
US6795814B1 (en) * 1998-06-04 2004-09-21 Gateway, Inc. System and method for CMOS integration
US6564369B1 (en) * 1998-08-20 2003-05-13 Pearson Technical Software, Inc. Conflict checking using configuration images
US6519762B1 (en) * 1998-12-15 2003-02-11 Dell Usa, L.P. Method and apparatus for restoration of a computer system hard drive
US6606716B1 (en) 1999-10-06 2003-08-12 Dell Usa, L.P. Method and system for automated technical support for computers
US6560726B1 (en) 1999-08-19 2003-05-06 Dell Usa, L.P. Method and system for automated technical support for computers
US6760708B1 (en) 1999-08-19 2004-07-06 Dell Products L.P. Method and system for migrating stored data to a build-to-order computing system
US7188255B1 (en) * 1999-09-23 2007-03-06 Hewlett-Packard Development Company, L.P. Software delivery system
US6598223B1 (en) * 1999-10-06 2003-07-22 Dell Usa, L.P. Method and system for installing and testing build-to-order components in a defined configuration computer system
US6564220B1 (en) 1999-10-06 2003-05-13 Dell Usa, L.P. System and method for monitoring support activity
US6563698B1 (en) 1999-10-06 2003-05-13 Dell Usa, L.P. System and method for providing a computer system with a detachable component
US6556431B1 (en) 1999-10-06 2003-04-29 Dell Usa, L.P. System and method for converting alternating current into direct current
US6882982B2 (en) * 2000-02-04 2005-04-19 Medtronic, Inc. Responsive manufacturing and inventory control
US6823508B1 (en) * 2000-04-27 2004-11-23 Microsoft Corporation Automatic computer program customization based on a user information store
US7065637B1 (en) 2000-08-24 2006-06-20 Veritas Operating Corporating System for configuration of dynamic computing environments using a visual interface
US7278142B2 (en) 2000-08-24 2007-10-02 Veritas Operating Corporation Dynamic computing environment using remotely allocable resources
US7082521B1 (en) 2000-08-24 2006-07-25 Veritas Operating Corporation User interface for dynamic computing environment using allocateable resources
US7043724B2 (en) 2000-09-14 2006-05-09 Veritas Operating Corporation System and services for handling computing environments as documents
US6907604B1 (en) * 2000-09-22 2005-06-14 Dell Products L.P. Instant integration model
US8631103B1 (en) 2000-11-10 2014-01-14 Symantec Operating Corporation Web-based administration of remote computing environments via signals sent via the internet
US7027412B2 (en) * 2000-11-10 2006-04-11 Veritas Operating Corporation System for dynamic provisioning of secure, scalable, and extensible networked computer environments
US20020099683A1 (en) * 2001-01-24 2002-07-25 Sloan Jeffrey N. Verification of a benefit purchase incident to a computer system purchase
US20020127263A1 (en) * 2001-02-27 2002-09-12 Wenda Carlyle Peroxisome proliferator-acitvated receptor gamma ligand eluting medical device
US7039033B2 (en) * 2001-05-07 2006-05-02 Ixi Mobile (Israel) Ltd. System, device and computer readable medium for providing a managed wireless network using short-range radio signals
US7036006B2 (en) 2001-05-17 2006-04-25 Veritas Operating Corporation System to provide computing as a product using dynamic computing environments
US20040125762A1 (en) * 2001-08-17 2004-07-01 Amit Haller Device, system, method and computer readable medium for attaching to a device identifited by an access point name in a wide area network providing particular services
US7016334B2 (en) * 2001-08-17 2006-03-21 Ixi Mobile ( Israel) Ltd. Device, system, method and computer readable medium for fast recovery of IP address change
US7295532B2 (en) * 2001-08-17 2007-11-13 Ixi Mobile (R & D), Ltd. System, device and computer readable medium for providing networking services on a mobile device
US20050030917A1 (en) * 2001-08-17 2005-02-10 Amit Haller Device, system, method and computer readable medium obtaining a network attribute, such as a DNS address, for a short distance wireless network
US20040081129A1 (en) * 2001-08-17 2004-04-29 Amit Haller Device, system, method and computer readable medium for selectively attaching to a cellular data service
US6957045B2 (en) * 2001-10-26 2005-10-18 Ixi Mobile (Israel) Ltd. Device, system, computer readable medium and method for providing status information of devices in a short distance wireless network
US20030097552A1 (en) * 2001-11-19 2003-05-22 Lewis Robert E. Resilient boot prom loader
US6845097B2 (en) 2001-11-21 2005-01-18 Ixi Mobile (Israel) Ltd. Device, system, method and computer readable medium for pairing of devices in a short distance wireless network
US7013112B2 (en) * 2001-12-18 2006-03-14 Ixi Mobile (Israel) Ltd. Method, system and computer readable medium for making a business decision in response to information from a short distance wireless network
US7016648B2 (en) * 2001-12-18 2006-03-21 Ixi Mobile (Israel) Ltd. Method, system and computer readable medium for downloading a software component to a device in a short distance wireless network
US20030158926A1 (en) * 2002-02-20 2003-08-21 Gateway, Inc. Network master hard disk drive duplicator
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7203865B2 (en) * 2002-04-23 2007-04-10 Gateway Inc. Application level and BIOS level disaster recovery
US7610583B2 (en) * 2002-04-23 2009-10-27 Gateway, Inc. Personalized software installation method for computer manufacturers
US6938250B2 (en) * 2002-06-12 2005-08-30 Microsoft Corporation Image-based software installation
US6947954B2 (en) * 2002-06-17 2005-09-20 Microsoft Corporation Image server store system and method using combined image views
US7464403B2 (en) * 2002-07-23 2008-12-09 Hardman Jr Thomas James Secure mobile office wireless local-area network application integration package running from CD-ROM
US6909878B2 (en) * 2002-08-20 2005-06-21 Ixi Mobile (Israel) Ltd. Method, system and computer readable medium for providing an output signal having a theme to a device in a short distance wireless network
US7058797B2 (en) * 2002-09-10 2006-06-06 Veritas Operating Corporation Use of off-motherboard resources in a computer system
US6986033B2 (en) * 2002-09-10 2006-01-10 Veritas Operating Corporation System for automated boot from disk image
US7069428B2 (en) * 2002-09-10 2006-06-27 Veritas Operating Corporation System for managing boot-up of target computers
US7356571B2 (en) * 2002-10-07 2008-04-08 Ixi Mobile (R&D), Ltd. System, method and processor readable medium for downloading information within a predetermined period of time to a device in a network responsive to price selection
US6925345B2 (en) 2002-10-16 2005-08-02 Dell Products L.P. Method and system for manufacture of information handling systems from an image cache
US7095908B2 (en) * 2002-11-12 2006-08-22 Dell Products L.P. Method and system for information handling system custom image manufacture
US7167680B2 (en) * 2003-02-05 2007-01-23 Ixi Mobile (Israel) Ltd. Method, system and computer readable medium for adjusting output signals for a plurality of devices in a short distance wireless network responsive to a selected environment
US20040259585A1 (en) * 2003-06-04 2004-12-23 Avi Yitzchak Wireless device having dual bus archeticure for interfacing with cellular signals and short-range radio signals
US7313690B2 (en) * 2003-06-27 2007-12-25 Microsoft Corporation Three way validation and authentication of boot files transmitted from server to client
US7360211B2 (en) * 2003-06-30 2008-04-15 Dell Products L.P. System for automated generation of config to order software stacks
US7366901B2 (en) * 2003-08-01 2008-04-29 Ixi Mobile (R&D), Ltd. Device, system, method and computer readable medium for identifying and authenticating a cellular device using a short-range radio address
US7225440B2 (en) * 2003-08-14 2007-05-29 International Business Machines Corporation System and method for manufacturing and updating insertable portable operating system module
US7225448B2 (en) * 2003-08-14 2007-05-29 Lenovo (Singapore) Pte. Ltd. System and method for hibernating application state data on removable module
US7565382B1 (en) * 2003-08-14 2009-07-21 Symantec Corporation Safely rolling back a computer image
US20050038879A1 (en) * 2003-08-14 2005-02-17 International Business Machines Corporation System and method for discovery of remote device driver functionality and interface
US7308584B2 (en) * 2003-08-14 2007-12-11 International Business Machines Corporation System and method for securing a portable processing module
US20050055688A1 (en) * 2003-09-08 2005-03-10 Barajas Gaston M. Integrated rapid install system for generic software images
US7565650B2 (en) * 2003-10-23 2009-07-21 International Business Machines Corporation Method, apparatus and computer program product for deploying software via post-load images
US20050091259A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Redmond Wa. Framework to build, deploy, service, and manage customizable and configurable re-usable applications
US20050132357A1 (en) * 2003-12-16 2005-06-16 Microsoft Corporation Ensuring that a software update may be installed or run only on a specific device or class of devices
US20050138563A1 (en) * 2003-12-18 2005-06-23 International Business Machines Corporation Method and system for providing computer system software images
US20050204019A1 (en) * 2004-02-13 2005-09-15 Flynn James P. Content distribution using CD/DVD burners, high speed interconnects, and a burn and return policy
US7213177B2 (en) * 2004-03-14 2007-05-01 Benq Corporation Method for detecting and eliminating errors in application data of an electronic device
US20050240815A1 (en) * 2004-04-13 2005-10-27 Sony Corporation Modular imaging of computer software for system install and restore
US7822937B2 (en) * 2004-05-03 2010-10-26 Gateway, Inc. Method and apparatus for modifying reserve area of disk drive or memory
US8260893B1 (en) 2004-07-06 2012-09-04 Symantec Operating Corporation Method and system for automated management of information technology
TW200604849A (en) * 2004-07-30 2006-02-01 Hon Hai Prec Ind Co Ltd Apparatus and method for automatically building RCD
US20060075261A1 (en) * 2004-10-05 2006-04-06 Dandekar Shree A Method for enabling services on a fixed image platform
CN1331051C (zh) * 2004-12-30 2007-08-08 英业达股份有限公司 计算机平台系统映像自动化安装方法及系统
US20060200589A1 (en) * 2005-02-18 2006-09-07 Collins Mark A Automated driver reset for an information handling system
US7509250B2 (en) * 2005-04-20 2009-03-24 Honeywell International Inc. Hardware key control of debug interface
US7512833B1 (en) 2005-05-09 2009-03-31 Adam C. Murphy Universal imaging utility program
US8554686B2 (en) * 2005-06-30 2013-10-08 Advanced Micro Devices, Inc. Anti-hack protection to restrict installation of operating systems and other software
US20070143445A1 (en) * 2005-12-20 2007-06-21 Dandekar Shree A Method for offering and refreshing digital content on fixed image platforms
US20070239861A1 (en) * 2006-04-05 2007-10-11 Dell Products L.P. System and method for automated operating system installation
US7685398B2 (en) * 2006-05-18 2010-03-23 Dell Products L.P. Intelligent system for determination of optimal partition size in a build to order environment
US20080101273A1 (en) * 2006-10-27 2008-05-01 Hewlett-Packard Development Company Lp Wireless device association
US8898659B2 (en) * 2006-11-21 2014-11-25 Dell Products L.P. Method and apparatus to customize and configure multiple operating systems on a server
TW200949692A (en) * 2008-05-20 2009-12-01 Inventec Corp Method for making test fixture
US7912993B2 (en) * 2008-06-29 2011-03-22 Dell Products L.P. Methods and media for managing interruption of the out of box experience
US8510422B2 (en) * 2009-09-30 2013-08-13 Dell Products L.P. Systems and methods for extension of server management functions
US8832369B2 (en) 2010-10-27 2014-09-09 Dell Products, Lp Systems and methods for remote raid configuration in an embedded environment
US9146812B2 (en) 2012-02-03 2015-09-29 Dell Products Lp Systems and methods for out-of-band backup and restore of hardware profile information
US8838848B2 (en) 2012-09-14 2014-09-16 Dell Products Lp Systems and methods for intelligent system profile unique data management
CN105573797B (zh) * 2015-12-18 2019-10-18 广州市中海达测绘仪器有限公司 嵌入式系统的可逆离线升级方法及装置

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4433207A (en) 1981-09-10 1984-02-21 Best Robert M Cryptographic decoder for computer programs
US4785361A (en) 1982-11-08 1988-11-15 Vault Corporation Method and apparatus for frustrating the unauthorized copying of recorded data
FR2541014B1 (fr) 1983-02-16 1988-10-14 Cii Honeywell Bull Procede de protection d'un logiciel enregistre par un fournisseur sur un support magnetique portatif
GB2154769B (en) 1984-02-28 1987-11-18 Gandlake Software Ltd Computer software protection
EP0172867A1 (en) * 1984-02-28 1986-03-05 Gandlake Software Ltd. Computer software protection
US4688169A (en) 1985-05-30 1987-08-18 Joshi Bhagirath S Computer software security system
US4796220A (en) * 1986-12-15 1989-01-03 Pride Software Development Corp. Method of controlling the copying of software
US4866769A (en) 1987-08-05 1989-09-12 Ibm Corporation Hardware assist for protecting PC software
US5099516A (en) 1989-06-12 1992-03-24 Dell Corporate Services Corporation Digital computer code word identification system
US5388267A (en) 1991-05-29 1995-02-07 Dell Usa, L.P. Method and apparatus for updating and restoring system BIOS functions while maintaining BIOS integrity
JP2942837B2 (ja) 1992-01-31 1999-08-30 株式会社セガ・エンタープライゼス セキュリティチェック方法及びゲーム装置並びにそれらに用いられる情報記憶媒体
US5423028A (en) 1993-03-17 1995-06-06 Dell Usa, L.P. Diagnostic procedure for identifying presence of computer memory
US5337357A (en) * 1993-06-17 1994-08-09 Software Security, Inc. Method of software distribution protection
US5416840A (en) 1993-07-06 1995-05-16 Phoenix Technologies, Ltd. Software catalog encoding method and system
US5418837A (en) * 1993-07-30 1995-05-23 Ericsson-Ge Mobile Communications Inc. Method and apparatus for upgrading cellular mobile telephones
US5450489A (en) * 1993-10-29 1995-09-12 Time Warner Entertainment Co., L.P. System and method for authenticating software carriers
US5398285A (en) 1993-12-30 1995-03-14 Motorola, Inc. Method for generating a password using public key cryptography
US5689560A (en) * 1994-04-25 1997-11-18 International Business Machines Corporation Method and apparatus for enabling trial period use of software products: method and apparatus for allowing a try-and-buy user interaction
US5757907A (en) * 1994-04-25 1998-05-26 International Business Machines Corporation Method and apparatus for enabling trial period use of software products: method and apparatus for generating a machine-dependent identification
US5581740A (en) 1994-10-04 1996-12-03 Dell Usa, L.P. System for reading CD ROM data from hard disks
US5599231A (en) * 1994-10-31 1997-02-04 Nintendo Co., Ltd. Security systems and methods for a videographics and authentication game/program fabricating device
JPH08147221A (ja) * 1994-11-21 1996-06-07 Nippon Joho Kagaku Kk 外部記憶媒体読出制御方式
US5894571A (en) * 1995-08-14 1999-04-13 Dell U.S.A., L.P. Process for configuring software in a build-to-order computer system
US5745568A (en) 1995-09-15 1998-04-28 Dell Usa, L.P. Method of securing CD-ROM data for retrieval by one machine
GB2309104B (en) 1996-01-11 2000-06-07 Ibm Preloading software onto a computer system
US5694582A (en) 1996-01-26 1997-12-02 Dell Usa, Lp Operation system independent polled interface for extension BIOS (XBIOS) operations
US5825877A (en) * 1996-06-11 1998-10-20 International Business Machines Corporation Support for portable trusted software
KR100291267B1 (ko) * 1996-12-23 2001-09-17 윤종용 부트가능한데이터시디롬디스크제조시스템,그제조방법및그에의해제조딘시디롬디스크

Also Published As

Publication number Publication date
GB2339488A (en) 2000-01-26
FR2845172A1 (fr) 2004-04-02
JP4404940B2 (ja) 2010-01-27
AU8930998A (en) 1999-11-04
BR9804293A (pt) 2000-07-11
TW396322B (en) 2000-07-01
DE19918640A1 (de) 1999-11-18
JP4510945B2 (ja) 2010-07-28
FR2784762B1 (fr) 2006-09-15
FR2845172B1 (fr) 2006-09-01
GB2339488B (en) 2003-02-12
SG75138A1 (en) 2000-09-19
KR100714532B1 (ko) 2008-01-25
AU758671B2 (en) 2003-03-27
CN1233802A (zh) 1999-11-03
IT1309082B1 (it) 2002-01-16
JP2009048649A (ja) 2009-03-05
GB9907719D0 (en) 1999-05-26
KR19990081785A (ko) 1999-11-15
IE980800A1 (en) 1999-11-03
FR2784762A1 (fr) 2000-04-21
US6298443B1 (en) 2001-10-02
CN1115637C (zh) 2003-07-23
MY116777A (en) 2004-03-31
JPH11327894A (ja) 1999-11-30

Similar Documents

Publication Publication Date Title
ITTO990234A1 (it) Procedimento e sistema per fornire un'immagine software personalizzataad un sistema di elaboratore.
CN103559052B (zh) 固件更新的设备与方法
JP6054908B2 (ja) 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ
US6944867B2 (en) Method for providing a single preloaded software image with an ability to support multiple hardware configurations and multiple types of computer systems
JP3607049B2 (ja) コンピュータ・システムにおいて製造番号を保護しつつマザーボードの交換を可能にする装置および方法
US20080091874A1 (en) System and method for loading programs from hdd independent of operating system
US20020188704A1 (en) Upgrade of licensed capacity on computer entity
ITTO991010A1 (it) Procedimento ed apparecchio per il ripristino di una unita' a disco rigido di un sistema di elaboratore.
MXPA04009070A (es) Metodo y sistema para distribuir e instalar software.
GB2408359A (en) Controlling upgrade of firmware
CZ290949B6 (cs) Způsob inicializace systému zpracování dat a zařízení k provádění tohoto způsobu
ITTO980721A1 (it) Apparecchio per facilitare l'installazione e la verifica del software per un sistema di computer prodotto su ordinazione.
US20040215569A1 (en) Method to ensure a unique machine serial number
US20020087870A1 (en) Device and method of preventing pirated copies of computer programs
CN1696910B (zh) 用于对软件打补丁的方法和系统
CN113626822B (zh) 集成LinuxBoot的UEFI固件启动方法及装置
US7613932B2 (en) Method and system for controlling access to software features in an electronic device
CN100498710C (zh) 自储存装置上读取选择只读存储器程序代码的方法
JPH07141277A (ja) プログラムおよびデータの版数管理を行う端末装置およびオンラインシステム
US20210103662A1 (en) Techniques for restricted deployment of targeted processor firmware updates
JP2019160133A (ja) 情報処理装置、情報処理システムおよび方法
JPH1011282A (ja) ソフトウェアのインストール方式及び実行方式
JP3302593B2 (ja) ソフトウェア版権保護装置
IE83290B1 (en) Method and system for supplying a custom software image to a computer system
JP2001022559A (ja) コンピュータシステムのソフトウエアインストールおよび、または試験方法