ITTO20000805A1 - Metodo e sistema per il sopporto tecnico automatico di elaboratori. - Google Patents

Metodo e sistema per il sopporto tecnico automatico di elaboratori. Download PDF

Info

Publication number
ITTO20000805A1
ITTO20000805A1 IT2000TO000805A ITTO20000805A ITTO20000805A1 IT TO20000805 A1 ITTO20000805 A1 IT TO20000805A1 IT 2000TO000805 A IT2000TO000805 A IT 2000TO000805A IT TO20000805 A ITTO20000805 A IT TO20000805A IT TO20000805 A1 ITTO20000805 A1 IT TO20000805A1
Authority
IT
Italy
Prior art keywords
computer system
service
interrupt
timer
operating system
Prior art date
Application number
IT2000TO000805A
Other languages
English (en)
Inventor
Roy W Stedman
Thomas Vrhel
Gary D Huber
Artsdalen James Van
Krishnamurthy Venkatramani
Original Assignee
Dell Products 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
Priority claimed from US09/377,726 external-priority patent/US6560726B1/en
Priority claimed from US09/413,422 external-priority patent/US6606716B1/en
Application filed by Dell Products Lp filed Critical Dell Products Lp
Publication of ITTO20000805A0 publication Critical patent/ITTO20000805A0/it
Publication of ITTO20000805A1 publication Critical patent/ITTO20000805A1/it
Application granted granted Critical
Publication of IT1320595B1 publication Critical patent/IT1320595B1/it

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)

Description

"Metodo e sistema per il sopporto tecnico automatico di elaboratori ",
DESCRIZIONE CAMPO DELLA TECNICA
La presente invenzione si riferisce in generale al campo dei dispositivi di elaborazione ed in particolare ad un metodo e ad un sistema per il sopporto automatico di elaboratori.
SFONDO TECNOLOGICO
I sistemi dei personal computer sono diventati sempre più comuni negli uffici e nelle abitazioni. Sebbene il termine "personal computer" implichi un dispositivo generico, i "personal computer" comprendono in generale una grande diversità di componenti dell'hardware e del software. Per esempio, personal computer diversi possono avere processori e bus di velocità diverse, memorie hard drive e RAM di dimensioni diverse e dispositivi periferici interiacciati con tipi diversi di schede di interfaccia, quali dispositivi audio. Inoltre, i componenti degli elaboratori sono prodotti da una vasta gamma di fabbricanti per cui in un dato personal computer anche componenti aventi caratteristiche funzionali sostanzialmente simili possono presentare differenze importanti in base alle specifiche di ciascun fabbricante dei componenti stessi.
Per quanto riguarda i software, generalmente tutti i personal computer hanno la necessità comune di un sistema operativo che coordini il funzionamento dei componenti dell'hardware. Ogni singolo personal computer può però avere un solo sistema operativo tra i molti possibili. Per esempio, i prodotti della Microsoft si sono evoluti dal loro originario Disk Operating System ("DOS") ai sistemi Windows, tra cui il Windows 3.1, il Windows 95, il Windows 98, il Windows CE e il Windows NT. Oltre a questi sistemi operativi della Microsoft, sono disponibili altri tipi di sistemi operativi, come le diverse versioni dell'Unix, tra cui il Linux .
Oltre a questa grande diversità di sistemi operativi, i personal computer possono gestire un gran numero di diverse applicazioni software. Una data applicazione software può interagire in modi diversi con sistemi operativi diversi. Perciò, anche con componenti hardware sostanzialmente simili, i personal computer che hanno software diversi possono funzionare in modi sostanzialmente diversi.
Gli utenti dei computer possono incontrare difficoltà di funzionamento del sistema per molti motivi. La mancanza di conoscenza, i difetti dell'hardware, le incompatibilità dei software e molte altre cause possono causare problemi agli utenti di un computer. Data l'ampia gamma di hardware e di software disponibili (che implica una ancor più ampia gamma di combinazioni hardware/software che un utente può incontrare), è difficile determinare se il computer presenta un problema.
Questa situazione è ulteriormente complicata dal fatto che i personal computer non possiedono buoni meccanismi per determinare automaticamente se il sistema hardware/software presenta un problema. Mentre certi sistemi operativi contengono un codice che aiuta a rendersi conto dell'esistenza di certi tipi di problemi con specifici pezzi di hardware, tali meccanismi possono non essere abbastanza uniformi per determinare se il sistema operativo presenta un problema. Anzi, un sintomo comune di un problema di un sistema operativo è quando esso non riesce ad effettuare il cosiddetto "boot", nel qual caso non si può contare sull'aiuto dell'OS. Un altro sintomo comune di un problema di un sistema operativo è un cosiddetto "hang", nel qual caso il sistema operativo diviene incapace di rispondere alla tastiera ed al mouse per un'ampia varietà di cause possibili. Va notato che questo tipo di problema può essere causato da pezzi di software che sono stati installati sopra il sistema operativo, quali un'applicazione o driver, od una qualche incompatibilità tra pezzi di software che sono stati caricati. Un sistema che era operativo può cessare di funzionare qualche tempo dopo a causa di incompatibilità dei software.
Un altro problema è la mancanza di un meccanismo uniforme a disposizione dell'utente per chiamare assistenza. Se l'utente ha una domanda da porre od il sistema presenta un problema, o almeno se l'utente percepisce un problema, non esiste attualmente alcun meccanismo uniforme per ottenere che il sistema tenti di fornire assistenza all'utente. Sebbene l'utente disponga di vari tipi di aiuto, questi fanno affidamento su uno o più dispositivi di introduzione dei dati, come un mouse e/o una tastiera, e su un livello di conoscenze dell'utente sufficiente a permettergli di navigare giungendo ad una di varie fonti di formazione sul sistema e su una fonte di informazioni globali come Internet.
SOMMARIO
Si è perciò manifestata la necessità di un metodo e di un sistema per identificare e risolvere i problemi di un sistema di personal computer, che siano accessibili tramite un meccanismo uniforme a prova di errore indipendentemente dallo stato funzionale del sistema operativo e di altro software, e che possa essere implementato su un'ampia varietà di sistemi operativi.
Esiste l'ulteriore necessità di un metodo ed un sistema che rivelino quando un sistema operativo non è riuscito ad effettuare il boot o ha subito una hang e che possa intraprendere azioni correttive adatte.
Esiste l'ulteriore necessità di un sistema tale che includa un sistema di monitoraggio il quale comunichi con il sistema operativo e viceversa, e che sia capace di far ciò con un'ampia varietà di sistemi operativi diversi.
Esiste l'ulteriore necessità di un meccanismo standard al quale possa essere fatto ricorso per tentare di risolvere il mancato boot di un sistema operativo e le condizioni di hang del sistema stesso.
Esiste l'ulteriore necessità di un meccanismo standard che sia in grado di tentare di risolvere le condizioni di hang di un sistema operativo indipendentemente dal fatto che l'utente abbia richiesto assistenza durante il boot od altrimenti, ed indipendentemente dal fatto che l'utente abbia effettuato richieste di assistenza multiple.
Secondo la presente invenzione si propongono un metodo ed un sistema che eliminano o riducono sostanzialmente gli svantaggi ed i problemi connessi ai metodi ed ai sistemi sviluppati in precedenza per identificare i problemi di un sistema di computer. Un sistema di monitoraggio rileva i problemi di un sistema di computer ed aiuta ad identificare e a risolvere questi problemi. Il livello di funzionalità attuale del sistema di computer viene determinato, e il sopporto tecnico viene fornito al sistema di computer conformemente alla funzionalità del sistema stesso.
Secondo un aspetto dell'invenzione, una macchina di stato effettua il monitoraggio della funzionalità del sistema operativo per rivelare i guasti del sistema di computer. Un timer di sorveglianza (watchdog) viene inizializzato sostanzialmente nello stesso istante in cui ha inizio il boot del sistema di computer e viene annullato in un punto predeterminato della sequenza di boot del sistema di computer. Viene determinata l'esistenza di un mancato boot del sistema di computer se il timer di sorveglianza non rimane annullato dopo un periodo di tempo predeterminato. Per esempio, il timer di sorveglianza viene riazzerato con una routine di servizio del sistema operativo prima dello scadere di un periodo di tempo predeterminato, indicando così che il sistema operativo ha effettuato il boot passando per il punto della routine di servizio della sequenza di boot entro il periodo di tempo predeterminato. Il mancato annullamento del timer di sorveglianza con la routine di servizio indica che il processo di boot non è riuscito ad andare oltre il punto della sequenza di boot la quale viene chiamata la routine di servizio.
In una forma di attuazione, l'utente inizializza il monitoraggio del sistema operativo premendo un tasto di servizio per indicare che il sistema del computer presenta un problema. La pressione sul tasto di servizio inizializza funzioni di sopporto, come -l'inizilizzazione di una applicazione di servizio, ad un istante appropriato. Le funzioni di sopporto permettono di testare il sistema di computer da parte del sistema di monitoraggio. Il tasto di servizio inizializza un timer di sorveglianza associato al monitoraggio del boot tramite la chiamata del sistema operativo. In alternativa od in aggiunta all'inizilizzazione del timer di sorveglianza associato al monitoraggio del boot, il tasto di servizio inizializza un altro timer di sorveglianza che funge da timer di rivelazione di una hang. Se il tasto di servizio viene premuto durante il boot del sistema di computer, il temporizzatore di rivelazione dell'hang viene inizializzato in un punto predeterminato della sequenza di boot del sistema di computer, come ad esempio ad un istante successivo a quello in cui l'utente ha introdotto una informazione di log in, e viene riazzerato al momento dell'inizializzazione dell'applicazione di servizio. Un errore di cosiddetto hang-up del sistema operativo viene identificato se il timer di rivelazione dello hang non rimane non azzerato dopo un tempo di rivelazione predeterminato dello hang.
Secondo una forma di attuazione, la rivelazione di un guasto del computer dà luogo ad un nuovo boot del sistema di computer su un modo di servizio. Il modo di servizio esegue il boot su un sistema operativo di modo di servizio per permettere l'analisi del sistema di computer anche se il sistema operativo primario del sistema di computer ha fallito. L'inizializzazione di un boot sul modo di servizio avvia anch'esso un timer di sorveglianza. Il timer di sorveglianza viene annullato in un punto predeterminato della sequenza di boot del sistema operativo sul modo di servizio. Viene determinata l'esistenza di un guasto al sistema di computer del timer se il timer di sorveglianza rimane annullato dopo un periodo di tempo predeterminato. Se il boot sul modo di servizio è stato inizializzato da una precedente pressione da parte dell'utente sul tasto di servizio e dalla conseguente rivelazione di un guasto, un timer di rivelazione dell'hang del modo di servizio effettua il monitoraggio della sequenza di boot del sistema operativo del modo di servizio per rivelare una qualsiasi hang del sistema operativo del modo di servizio.
In ancora un'altra forma di attuazione è proposto un metodo di sopporto automatico in un sistema di computer avente un tasto di servizio ed un set di chip di controllo. Il metodo include le fasi di premere il tasto di servizio, settare un primo bit in un registro di ingresso per uso generale nel set di chip di controllo per generare un primo segnale di interruzione in risposta alla pressione sul tasto, ricevere il primo segnale di interruzione e determinare se il sistema di computer sta eseguendo il boot e, se sta eseguendo il boot, inizializzare allora una routine applicativa di servizio in un primo modo, mentre invece, se il sistema non sta eseguendo il boot, inizializzare allora una routine applicativa di servizio in un secondo modo.
Si propone pure un sistema di computer avente un processore con almeno un timer, un set di chip di controllo, un BIOS di sistema, ed un sistema operativo per comunicare con componenti del sistema di computer attraverso il BIOS. Un tasto di servizio è accoppiato con un registro di ingresso per impieghi generali nel set di chip per settare il registro allo scopo di generare una prima interruzione. Il sistema include inoltre un gestore il quale è accoppiato al registro di ingresso per ricevere il primo segnale di interruzione ed elaborarlo in un modo che dipende dal fatto che il sistema di computer si trovi in uno stato di boot o di uno stato di non boot.
Si propone pure un sistema di computer avente un BIOS di sistema ed un sistema operativo, in cui il sistema di computer include un tasto di servizio accoppiato ad un registro di ingresso per impieghi generali in un set di chip di controllo per settare un bit nel registro allo scopo di generare un primo segnale di interruzione. Un gestore di interruzione nel BIOS di sistema riceve il primo segnale di interruzione e inizializza un secondo segnale di interruzione per il sistema operativo allo scopo di inizializzare un'applicazione di servizio se il sistema di computer non si trova in uno stato di boot. Se il computer si trova in uno stato di boot il bit rimane settato, un codice contenuto nel sistema operativo verifica lo stato del bit più tardi durante la sequenza di boot ed inizializza l'applicazione di servizio se il bit è stato settato.
La presente invenzione offre molti vantaggi tecnici importanti. Un vantaggio tecnico importante consiste nel sopporto integrato per la rivelazione di problemi connessi ai sistemi di computer. Il monitoraggio di una sequenza di boot di un sistema di computer relativamente ad un guasto dell'hardware o del sistema operativo permette di automatizzare la rivelazione di un problema e di fornire un sopporto per risolvere i problemi. Inoltre, la rivelazione di un guasto del sistema operativo permette l'analisi e la correzione del problema del sistema di computer tramite l'uso del sistema operativo del modo di servizio.
Un altro vantaggio tecnico importante è la conferma automatica dell'esistenza di un problema nel sistema di computer. L'indicazione che il sistema di monitoraggio ha rivelato un problema fornisce, come minimo, una conferma al personale di sopporto tecnico con una dipendenza ridotta dalla descrizione verbale fattane dall'utente del sistema di computer. La conferma del problema limita il numero di elementi base che il personale di sopporto tecnico deve verificare nel corso di una conversazione telefonica. Inoltre, se il sistema di monitoraggio non rivela un problema, il personale di sopporto tecnico può limitare il numero dei problemi che richiedono un'investigazione. Per esempio, la mancanza di rivelazione di un problema al sistema di monitoraggio indica che 1'hardware e il sistema operativo hanno effettuato il boot in modo normale e che il sistema è capace di inizializzare l'applicazione di servizio.
Un altro vantaggio tecnico importante è l'identificazione del problema connesso al sistema di computer. Per esempio, il monitoraggio del boot del sistema di computer permette l'identificazione di problemi connessi all'hardware od al sistema operativo, od in alternativa può indicare una funzionalità corretta dell'hardware del sistema operativo, ciò che indica difficoltà connesse all'utente o all'applicazione. Se il problema è dato dal software del sistema operativo, l'uso di un sistema operativo di modo di servizio sopporta una analisi completa per identificare ulteriormente il problema ed analizzarlo. Per esempio, se il sistema operativo principale è incapace di funzionare, il sistema operativo del modo di servizio sopporta il funzionamento del sistema di computer e permette il funzionamento del sistema di computer per l'analisi e la correzione automatiche del problema presentato dal sistema operativo principale.
Un altro vantaggio importante consiste in una robusta interfaccia di utente la quale è di impiego semplice e privo di complicazioni. Per esempio, un utente che si pone una questione od un problema no fa altro che premere un unico tasto di servizio. Una pressione sul tasto di servizio genera un segnale di interruzione che viene applicato direttamente al set di chip per allertare il sistema di monitoraggio comunicandogli che l'utente richiede il suo servizio. L'interfaccia diretta del tasto di servizio con il set di chip accresce l'affidabilità e la semplicità, poiché l'input dato dall'utente con il tasto di servizio non deve fare affidamento sul funzionamento dei componenti del computer, quali una tastiera o un mouse. Inoltre, l'utente può premere il tasto di servizio in qualsiasi momento per richiedere assistenza. I mezzi con i quali una pressione sul tasto di servizio inizializza una applicazione dì servizio assicura che questa applicazione di servizio sia fatta funzionare al momento adatto, indipendentemente dal momento in cui il tasto di servizio è stato premuto, indipendentemente dal fatto che esso venga premuto più volte. Una volta che il tasto di servizio è stato premuto, il sistema di computer può effettuare una analisi approfondita dei problemi potenziali, anche quando il sistema operativo si è guastato, utilizzando il sistema operativo del modo di servizio per fare funzionare i componenti del computer. Altresì, il sistema ed il metodo della presente invenzione possono essere facilmente implementati con svariati sistemi operativi differenti.
BREVE DESCRIZIONE DEI DISEGNI
Una comprensione più completa della presente invenzione e dei suoi vantaggi può essere acquisita con la lettura della descrizione che segue, fatta con riferimento ai disegni annessi, nei quali i numeri di riferimento uguali indicano caratteristiche uguali, ed in cui:
la FIGURA 1 illustra uno schema a blocchi di un sistema di computer monitorato da una macchina di monitoraggio degli stati di un sistema operativo; la FIGURA 2 illustra un diagramma di flusso del monitoraggio del sistema operativo durante e dopo un boot in modo normale;
la FIGURA 3 illustra un diagramma di flusso del monitoraggio del sistema operativo durante e dopo un boot in modo di servizio;
la FIGURA 4 illustra un diagramma di flusso di inizializzazione di una applicazione di servizio dopo che un tasto di servizio è stato premuto; e la FIGURA 5 illustra uno schema a blocchi di elementi di software e di hardware utilizzati per inizializzare una applicazione di servizio.
DESCRIZIONE DETTAGLIATA
Nelle figure sono illustrate forme di attuazione preferite della presente invenzione e sono utilizzati gli stessi numeri per indicare parti uguali o corrispondenti dei vari disegni.
Un sistema operativo in buono stato effettua il monitoraggio dei funzionamenti dell<1>hardware e del software su un sistema di computer. Certe volte il sistema operativo rileva difficoltà e problemi incontrati dal sistema stesso ed informa l'utente del sistema di computer di queste difficoltà o problemi. I sistemi di aiuto generalmente associati al sistema operativo possono aiutare a risolvere le difficoltà od i problemi o automaticamente o tramite una interazione con l'utente, ad esempio formulando domande. Quando però è lo stesso sistema operativo ad avere un problema od esistono incompatibilità di software, è difficile che il sistema operativo indichi questi problemi. Frequentemente il sistema operativo o si spegne o si pone in hang-up senza avvisare ulteriormente del problema l'utente del sistema di computer. Per migliorare la rivelazione, l'identificazione e la risoluzione dei problemi del sistema di computer un sistema di monitoraggio associato al BIOS del sistema di computer sorveglia la funzionalità del sistema operativo. Il sistema di monitoraggio rivela i mancati calzamenti del sistema operativo e vari tipi di interruzioni del sistema stesso. Una volta rivelato il problema, viene intrapresa automaticamente una azione riparatrice per ricuperare un sistema di computer guasto con l'uso di un meccanismo uniforme che sfrutta gli aspetti operativi del sistema di computer. Inoltre, il sistema di monitoraggio può venire invocato con una singola pressione su un tasto di servizio. La pressione sul tasto di servizio fornisce un segnale di interruzione al set di chip del sistema di computer per invocare automaticamente il più alto livello disponibile di assistenza all'utente, quale determinato dalla salute e dallo stato del sistema di computer. Come sarà descritto meglio più avanti, il tasto di servizio può essere premuto da un utente mentre il sistema di computer si trova in POST, sta eseguendo un boot o si trova in modo di in servizio, oppure in un modo normale. Quando il tasto di servizio viene premuto, il BIOS setta un bit in un registro di ingresso per impieghi generali nel set di CHIP di controllo e genera un segnale di interruzione. Un codice di gestore di interruzione sensibile allo stato nel BIOS intraprende l'azione adatta e può comunicare col sistema operativo, a seconda dello stato del sistema di computer quale rappresentato da certi bit CMOS. Inoltre, il codice di gestore di interruzione assicura che venga intrapresa soltanto l'azione adatta, indipendentemente dal numero di volte in cui il tasto di servizio viene successivamente premuto.
Saranno ora descritti più dettagliatamente un sistema ed un metodo per monitorare i guasti di un sistema di computer, dopo di che sarà data una descrizione dettagliata del modo in cui il tasto di servizio può invocare tale sistema di monitoraggio.
Riferendosi ora alla FIGURA 1, uno schema a blocchi illustra un sistema di computer 10 avente un sistema operativo 12 interfacciato con componenti hardware 14 attraverso un sistema base di entratauscita ("BIOS") 16. I componenti hardware 14 includono i componenti hardware convenzionali di un sistema di personal computer quali un processore, un modem, una scheda audio, una scheda video, e dispositivi di memoria, tra cui una hard drive, floppy drives, ROM e RAM. All'accensione iniziale o all'atto dell'inizializzazione di un reboot, il BIOS 16 dirige una sequenza di boot, tra cui un'autodiagnosi dell'accensione ("POST") ed una chiamata del sistema operativo. Nell'hardware 14 risiedono uno o più timer 18 e 19, come timer di sorveglianza ("watchdog") convenzionali.
Il BIOS 16 produce il boot del sistema di computer 10 all'atto dell'accensione in un modo convenzionale. Una macchina di monitoraggio degili stati 20 effettua il monitoraggio del processo di boot confrontando le transizioni di stato lungo la sequenza di boot con i risultati attesi. La macchina di monitoraggio degli stati 20, per esempio, comunica con il timer 18 per confrontare il tempo previsto per una transizione predeterminata da un primo punto della sequenza di boot ad un secondo punto con il tempo trascorso per la sequenza stessa. Se il timer 18 scade senza essere stato annullato, ciò vuol dire che è stato rivelato un problema basato sulla scadenza del timer. Se il BIOS 16 realizza con successo il boot del sistema di computer 10 per portare in linea il sistema operativo 12, allora una routine di servizio di sistema operativo 12 annulla il timer 18 per prevenire l'indicazione di un problema.
Se la macchina di monitoraggio degli stati 20 rivela un problema connesso al sistema di computer 10, il BIOS 16 può dare un certo numero di risposte differenti. Per esempio, il BIOS 16 può chiamare un sistema operativo di modo di servizio con un protocollo di servizio 22. Il sistema operativo del modo di servizio può essere ad esempio una versione semplificata del sistema operativo 12, quale il modo Windows 'Safe per il Windows 98. Il sistema operativo del modo di servizio può includere un driver di modem in modo che il sistema di computer possa contattare un server di analisi attraverso Internet per caricarvi i sintomi dell'utente, la configurazione del sistema ed informazioni di stato, nonché per mettere in funzione un software di analisi automatica ed effettuare una diagnosi. Il BIOS 16 può anche accendere luci di servizio 24 per indicare la rivelazione di un.problema in modo tale che configurazioni di luci differenti indichino l'identità di uno o più problemi specifici. L'utente del computer può allora fornire le informazioni date dalle luci accese ad un sopporto tecnico per aiutarlo ad analizzare il problema e risolverlo. In alternativa, il sopporto tecnico può ottenere informazioni sul sistema dal server di analisi.
Il sistema di computer 10 include un tasto di servizio 26 che l'utente del computer può premere. Il tasto di servizio 26 costituisce una robusta interfaccia di utente che permette a quest'ultimo di inizializzare il processo di rivelazione e l'identificazione del problema. Come sarà descritto più avanti, il tasto di servizio 26 genera un segnale di interruzione e lo applica al set di chip del sistema di computer, ad esempio per inizializzare una applicazione di servizio. La macchina di monitoraggio degli stati 20 rileva la pressione sul tasto di servizio e lancia l'applicazione di servizio oppure effettua il monitoraggio del comportamento del sistema per rivelare i problemi del sistema di computer.
Oltre a monitorare la sequenza di boot tramite la chiamata del sistema operativo 12, la macchina di monitoraggio 20 può monitorare il funzionamento del sistema operativo 12 con un timer rivelatore di hang 19. Se il tasto di servizio è stato premuto durante il boot, il timer 19 di rivelazione dell'hang viene inizializzato durante la sequenza di boot, ad esempio con un login da parte dell'utente, e viene annullato con una sequenza applicativa dopo il completamento della chiamata e del boot del sistema operativo 12 o del sistema operativo di modo di servizio 22. Se l'applicazione non annulla il timer 19 entro un periodo di tempo predeterminato, la macchina di monitoraggio 20 determina che si è verificata una hang-up del sistema operativo. Il BIOS 16 allora riconosce un problema del sistema operativo e tenta un boot del modo di servizio oppure indica un probabile guasto dell'hardware per mezzo delle luci di servizio 24.
Riferendosi ora alla FIGURA.2, un diagramma di flusso illustra le fasi di automazione del sopporto per il monitoraggio del sistema operativo in un modo di boot normale. Nella fase 50 viene inizializzato un boot normale del computer. Per esempio, l'utente del sistema di computer 10 può dare l'accensione elettrica o può avere istruito il sistema operativo per effettuare il boot del sistema stesso. Nella fase 52 viene inizializzato un timer di sorveglianza rivelatore di hang. Il boot del sistema operativo e l'attività del timer procedono in parallelo nel sistema. Il timer di sorveglianza esegue il suo conteggio alla rovescia. Se esso raggiunge lo zero prima del completamento delle fasi 58 e 60 (ossia quando una routine di servizio scorre più avanti nel tempo nel processo di boot e annulla il timer), allora viene raggiunta la fase 54 ed il sistema viene ricalzato nel modo di servizio nella fase 56.
Tipicamente, la sequenza di boot testa 1'hardware ed inizializza il boot del sistema operativo in un periodo di tempo prevedibile. Al completamento del testaggio dell hardware, come nel test POST, e quando il boot del sistema operativo è stato inizializzato, viene inviata una istruzione da una routine di servizio del sistema operativo per riazzerare il timer di sorveglianza nella fase 58. Se il timer di sorveglianza viene riazzerato nella fase 60, ciò indica un boot normale. Se il timer dì sorveglianza non viene escluso e conta fino a zero, il processo procede alla fase 56 per ricalzare nel modo di servizio con il sistema operativo del modo di servizio. In una forma di attuazione possono essere ripetuti automaticamente ricalzamenti normali aggiuntivi prima di procedere alla sequenza di boot del modo di servizio. Riassumendo, se il timer di sorveglianza rimane non escluso dopo un periodo di tempo predeterminato, ciò indica che il sistema di computer non è passato attraverso il punto della sequenza di boot nel quale la routine di servizio esclude il timer di sorveglianza. Così, il problema del sistema di computer può venire identificato in un certo grado in base al fatto che la sequenza di boot è stata completata oppure no.
La fase 58 indica che una routine di servizio del sistema operativo è in corso in un punto predefinito dell'ultima parte del processo di boot del computer. Nella fase 60 il timer di sorveglianza viene escluso con il servizio del sistema operativo prima dello scadere del periodo di tempo predeterminato di questo timer. Se la fase 60 viene raggiunta, allora 1 ’hardware e il software del computer testati e fatti giungere all'iniziaiizzazione del punto predefinito della sequenza di boot del sistema operativo dovrebbero in generale essere funzionanti. Una volta effettuata questa determinazione, nella fase 62 viene fornita all'utente una opportunità di effettuare un login.
Nella fase 64 viene effettuata una determinazione del fatto che il tasto di servizio 26 sia stato premuto durante il processo di boot del sistema operativo (OS) (vedasi più avanti l'ulteriore trattazione), diversamente da un boot normale in cui il tasto di servizio non è stato premuto. Se questa determinazione è un no, il processo procede alla fase 70 per l'inizializzazione del funzionamento normale del sistema di computer.
Se nella fase 64 si determina che è avvenuta una pressione sul tasto di servizio durante il boot, allora nella fase 66, viene inizializzata una applicazione di servìzio e nella fase 72 viene inizializzato un timer di rivelazione di. hang-up per rilevare una hang-up del sistema operativo. Il monitoraggio della rivelazione di una hang-up utilizza il timer di rivelazione 19 o un altro timer per testare se il sistema completa il suo lancio dell'applicazione di servizio entro un periodo di tempo predeterminato. Il timer di rivelazione di hang viene inizializzato nella fase 72 e poi annullato da una applicazione che gira sul sistema di computer dopo che l'applicazione ha completato una porzione predeterminata della sua sequenza di caricamento e dì avvio nella fase 68. Così, nella fase 68 viene effettuata una determinazione del fatto che la sequenza di caricamento e di avvio dell'applicazione sia normale. Se sì, l'applicazione che gira sul sistema di computer esclude il timer rivelatore di hang ed il processo procede fino alla fase 70 per 1'inizializzazione di applicazioni di sopporto. Se il timer rivelatore di hang non rimane escluso per un periodo di tempo predeterminato, nella fase 74 viene allora effettuata una determinazione che l'applicazione di servizio ha mancato di annullare il timer 18. Ciò può indicare che il sistema operativoha subito una hang; al minimo, esso è incapace di avviare normalmente l'applicazione di servizio. Nella fase 74, quando viene rivelata la scadenza del timer rivelatore di hang, il sistema viene sottoposto a boot nel modo normale (fase 50) o nel modo di servizio (fase 76), in base ad un numero definibile di tentativi falliti di rifare il boot nel modo normale (fase 75).
Se l'utente preme il tasto di servizio mentre il computer è normalmente in funzione, come nella fase 70 della FIGURA 2, od in qualsiasi momento diverso dal boot del computer, allora il sistema procede alla fase 78 per testare il sistema operativo relativamente alla hang-up. Una applicazione di servizio viene inizializzata in 66 ed il timer rivelatore di hang viene inizializzato nella fase 72. Se l'applicazione di servizio esclude il timer nella fase 68, allora il sistema di computer procede mettendosi nel funzionamento normale nella fase 70. Se il timer scade nella fase 74, viene allora rivelata una hang del sistema operativo ed il sistema tenta di rifare il boot sul modo normale (nella fase 75) fino a quando non si è verificato un numero specificabile di tentativi falliti di reboot normale, ed a questo punto il sistema si rimette in boot sul modo di servizio nella fase 76. Ciò permette una determinazione della funzionalità del sistema operativo senza la necessità di un reboot completo. Inoltre, se il timer scade nella fase 74, è possibile l'eliminazione dell'errore con il modo di servizio anche se il sistema operativo normale non è funzionale.
Riferendosi ora alla FIGURA 3, il modo di servizio viene inizializzato nella fase 80 con una sequenza di boot del modo di servizio. Nella fase 82 viene inizializzato un timer di sorveglianza del modo di servizio. Come sopra, questo timer di sorveglianza conta in discesa verso lo zero in parallelo con il caricamento del sistema operativo (in questo caso nel modo di servizio). Se il timer di sorveglianza raggiunge lo zero (fase 84) prima di venire escluso più avanti nel processo di boot nel modo di servizio (fasi 88 e 90), allora vuol dire che il boot nel modo di servizio è fallito e ciò è indicato dall'accensione dei LED per indicare un guasto all'hardware (fase 86). E' probabile che esista un problema di hardware poiché né il sistema operativo principale, né il sistema operativo del modo di servizio sono stati capaci di portare il computer ad uno stato operativo.
Nella fase 88 viene fatta eseguire una routine al sistema operativo del modo di servizio, in un punto predefinito della parte successiva del processo di boot. Se la routine di servizio giunge alla fase 88, nella fase 90 la routine annulla il timer per indicare che il sistema operativo del modo di servizio è funzionale. Nella fase 92 il boot del sistema di computer è completato con il sistema operativo del modo di servizio.
Nella fase 94 viene effettuata una determinazione del fatto che il tasto di servizio sia stato premuto durante il boot nel modo normale o durante il boot del modo di servizio. Lo stato di tasto premuto durante il boot viene memorizzato nel corso dei tentativi di boot che falliscono. Se sì, l'applicazione di servizio viene allora lanciata ed un test di rivelazione di interruzioni del sistema procede con l inizializzazione del timer di rivelazione delle hang del sistema operativo nella fase 104. Anche questa volta il conto alla rovescia del timer rivelatore di hang si verifica in parallelo con il caricamento e l'avviamento dell'applicazione di ricupero del modo di servizio nella fase 96. Se ciò ha successo, sarà emesso un codice per annullare il timer rivelatore di hang nella fase 98. A questo punto si conosce che il sistema operativo del modo di servizio è almeno abbastanza funzionale da avviare l'applicazione del modo di servizio stesso. Nella fase 100 vengono inizializzate applicazioni di sopporto di servizio, come quelle utili per analizzare i problemi di software. Il sistema di computer funziona nel modo di servizio ed è disponibile per l'eliminazione degli errori.
Nella fase 106, se il timer di sorveglianza conta alla rovescia fino a zero (ossia scade), prima di venire escluso dall'applicazione di servizio, nella fase 108 il sistema operativo del modo di servizio ha dimostrato di essere incapace di caricare ed avviare l'applicazione di servizio entro il periodo di tempo prefissato. A questo punto è stata rilevata una hang del sistema operativo del modo di servizio ed il processo termina con l'indicazione di un probabile problema all'hardware su luci associate al sistema di computer nella fase 108.
Nella fase 102, se il tasto di servizio era stato premuto mentre il computer era in funzione nel modo di servizio, il sistema procede allora alle fasi 104 e 96 in parallelo per testare il sistema operativo del modo di servizio relativamente ad una hang-up. Nella fase 96 viene inizializzata una applicazione di servizio ed il timer di rivelazione dell’hang viene inizializzato nella fase 104. Se l'applicazione di servizio annulla il timer nella fase 98, il sistema di computer procede allora al funzionamento nel modo di servizio nella fase 100 per permettere 1'inizializzazione delle applicazioni di ricupero del modo di servizio che permettono l'analisi del guasto del sistema di computer e l'azione correttiva. Se il timer scade nella fase 106, viene allora rivelata una hang del sistema operativo ed il sistema indica, nella fase 108, un probabile guasto dell'hardware. Ciò permette una determinazione della funzionalità del sistema operativo nel modo di servizio senza la necessità di un reboot completo.
La casistica esemplificativa che segue chiarirà ulteriormente il funzionamento del sistema di monitoraggio. Se il sistema di monitoraggio non trova alcun difetto dell'hardware o del sistema operativo, l'utente del computer può allora cercare una soluzione al problema o questione tramite l'aiuto locale del sistema di computer oppure collegandosi con l'assistenza tramite Internet con l'uso del sistema di computer. L'aiuto locale o quello a distanza su Internet risolveranno la maggioranza dei problemi o questioni del computer.
Un altro caso esemplificativo utile è un guasto non fatale all'hardware, quale un guasto ad un CD-ROM o ad una scheda vocale audio. Il sistema di monitoraggio dovrebbe indicare che non si è verificato alcun guasto nel sistema operativo, e l'utente può contattare il sopporto tecnico per farsi inviare un nuovo hardware. Certi tipi di guasti non fatali all'hardware limiteranno le opzioni disponibili per ottenere aiuto. Per esempio, il sistema di computer funzionerà senza una scheda modem o di interfaccia di rete ("NIC"). Il guasto a questo hardware limiterà però la capacità del sistema di computer di interagire tramite Internet per ottenere aiuto. In parte, un guasto al modem può essere indirizzato introducendo il modo di servizio. Per esempio, se il guasto al modem è associato alla configurazione del modem o ad istruzioni di selezione numerica ISP, una configurazione modem del modo di servizio può allora sopportare una soluzione al problema basata su Internet.
In un altro caso esemplificativo, se il sistema operativo del modo normale non è in grado di funzionare, non esegue il boot od è instabile in qualche altro modo, un collegamento modem può venire stabilito tramite il sistema operativo del modo di servizio. Il collegamento Internet attraverso il modo di servizio permette una analisi di sistema diretta del sistema operativo per sopportare automaticamente la risoluzione del problema del sistema operativo ed il ripristino di questo sistema. Per esempio, un nuovo sistema operativo o sue parti pertinenti possono venire caricati tramite Internet per sostituire il sistema operativo difettoso. Se la risoluzione automatica del problema non riesce a risolverlo, l'utente può chiamare il sopporto tecnico ed identificare il problema in base alla configurazione delle luci accese.
Come altro caso esemplificativo, il sistema di computer può avere un difetto fatale che ne impedisce il funzionamento in entrambi i modi normale e di servizio. Per esempio, il sistema di computer può essere installato scorrettamente o può avere un difetto fatale nell'hardware, quale un difetto della scheda madre, dell 'hard drive o dell'alimentazione elettrica. In questi casi uno schema esplicativo fornito con il sistema di computer indicherà il problema associato alle configurazioni delle luci spia, ed istruzioni semplici che l'utente dovrà seguire. L'utente può allora sfruttare queste informazioni per contattare il sopporto tecnico ed ottenere un hardware sostitutivo .
Come indicato sopra, il sistema di computer 10 include un tasto di servizio 26 che l'utente del computer può premere. Il tasto di servizio 26 genera una interruzione nel chip set del sistema di computer, ad esempio per inizializzare una applicazione di servizio. La macchina di monitoraggio degli stati 20 rileva la pressione sul <•>tasto di servizio e lancia l'applicazione di servizio ad un istante adatto, oppure sorveglia il comportamento del sistema per rilevare i problemi del sistema di computer. Quando il tasto di servizio viene premuto, il timer rivelatore di hang 19 viene inizializzato e successivamente viene escluso da una sequenza applicativa dopo il completamento della chiamata e del boot del sistema operativo 12 o del sistema operativo del modo di servizio 22. Se l'applicazione non esclude il timer rivelatore di hang 19 entro un periodo di tempo prestabilito, la macchina di monitoraggio 20 determina che si è verificata una hang del sistema operativo. Il BIOS 16 riconosce allora un problema al sistema operativo ed inizia un protocollo di reboot predeterminato che può includere il reboot nel modo di servizio, come è stato descritto sopra nei dettagli.
Il tasto di servizio costituisce un meccanismo standard attraverso il quale l'utente può invocare assistenza. Riferendosi ora alle FIGURE 4 e 5, l'utente che cerca di invocare assistenza preme il tasto di servizio 26 nella fase 400. Si noti che, sebbene ciò non sia specificatamente illustrato, il diagramma di flusso rappresentato nella FIGURA 4 comporta due spazi di esecuzione, l'uno in seno al BIOS e l'altro in seno allo spazio di esecuzione del sistema operativo. In generale, la comunicazione verso il sistema operativo viene gestita generando una interruzione, quale una interruzione di controllo del sistema (SCI), mentre la comunicazione di ritorno dal sistema operativo al BIOS è compiuta da un codice esecutivo che imposta valori nel BIOS, come l'annullamento di un timer rivelatore di hang. I mezzi con i quali il sistema di monitoraggio nel BIOS comunica con il sistema operativo e con cui il sistema operativo risponde (se non interrotto), come sarà meglio descritto più avanti, offrono vantaggi molto particolari. Benché il sistema sia necessariamente dipendente dal sistema operativo stesso, poiché certe sue parti risiedono nel sistema operativo, esso è pure capace di influire sull'architettura che sta alla base del personal computer per permettere allo stesso meccanismo che si trova nel BIOS di sopportare specifiche implementazioni multiple del sistema operativo. Altresì, il sistema permette all'utente di invocare assistenza indipendentemente dallo stato funzionale del sistema operativo.
Come illustrato nella FIGURA 5, il tasto di servizio 26 è cablato direttamente con uno specifico registro di ingresso 500 che si trova nel registro di ingresso/uscita per usi generali (GPIO) del chip set di controllo 520, ed una pressione sul tasto di servizio causa l'introduzione di un bip in tale registro di ingresso nella fase 402. L'inserimento di questo bit genera una interruzione della gestione del sistema (SMI) nella fase 404 per rinizializzare un codice di gestione dell'interruzione sensibile allo stato, ossia un gestore SMI 502 nel BIOS. Il gestore SMI 502 riceve l 'SMI, disabilita l'ulteriore generazione degli SMI nella fase 406 fino a quando l 'SMI presente non è stato riparato, per assicurare che, se l'utente preme più volte il tasto di servizio, sia generata una sola interruzione fino a quando quella interruzione non ha ricevuto un servizio completo.
Nella fase 408 il gestore SMI determina se il sistema di computer sta eseguendo il boot esaminando il bit appropriato nel registro CMOS. Se il sistema sta in quel momento eseguendo il boot, il bit di ingresso per usi generali rimane impostato mentre il sistema continua la sua sequenza di boot. Nella fase 410 viene pure impostato un timer rivelatore di hang, ma il gestore SMI non intraprende alcuna azione ulteriore. Quando il sistema completa la sua sequenza di boot, o ad un punto predeterminato della sequenza di boot al quale risulta noto che 1'hardware e il software testati e fatti funzionare fino a quel punto nella sequenza di boot sono generalmente operativi, come quando l'utente è preparato ad eseguire un login ID, il sistema operativo viene diretto a verificare lo stato del bit del tasto di servizio nella fase 411. Se il bit del tasto di servizio è stato impostato, indicando che il tasto è stato premuto durante il boot, il sistema operativo lancerà una applicazione di servizio nella fase 422, ed altrimenti riprenderà le operazioni normali (fase 412). In una forma di attuazione, il compito di fondo (background task) quale un programma di lancio di una applicazione di servizio associato al sistema operativo, che viene fatto funzionare come parte del normale processo di boot , verifica il bit del tasto di servizio. Se il bit del tasto di servizio è impostato, l'applicazione di servizio lancia l'applicazione stessa .
Se, nella fase 408, il gestore SMI determina che il sistema non sta eseguendo il boot, questo gestore SMI inizializza un timer rivelatore di hang nella fase 416. Questo timer rivelatore di hang potrebbe essere lo stesso timer impostato nella fase 410 di cui sopra od un timer differente. Il valore sul quale il timer è regolato sarà però diverso secondo che il tasto di servizio sia stato premuto durante il boot o no. Se è stato premuto durante il boot esso sarà regolato ad un valore più alto, rappresentante la maggior quantità di tempo richiesta per permettere al sistema di completare il ciclo di boot e lanciare applicazione di servizio. Se il tasto non è stato premuto durante il boot, il timer sarà regolato ad un valore più basso, rappresentante una minor quantità di tempo richiesta per permettere al sistema di trattare l'interruzione (descritto più avanti) ed avviare applicazione di servizio .
Se il sistema non sta eseguendo il boot, il codice di gestione SMI nel BIOS successivamente comunica con il sistema operativo causando una interruzione nella fase 408 per segnalare al sistema operativo che il tasto di servizio è stato premuto. In una forma di attuazione questa interruzione è una interruzione di controllo del sistema (SCI) che viene servita nello spazio di esecuzione del sistema operativo. Per inizializzare l'SCI, il gestore SMI imposta un bit di uscita 504 in un registro di uscita nel GPIO. Come illustrato nella FIGURA 5, questo bit è utilizzato come input in un ingresso 506 di interruzione del controllo del sistema, che a sua volta inizializza l'SCI 508. Nella fase 420 l'SCI viene trattato da una routine di servizio di interruzione (ISR) 510 nello spazio di esecuzione del sistema operativo. L'ISR fornisce un messaggio al sistema operativo per inizializzare una applicazione di servizio. In una forma di attuazione ciò è ottenuto inviando un messaggio al lanciatore 512 delle applicazioni di servizio associato al sistema operativo, che avvia l'applicazione di servizio 514 nella fase 422.
Indipendentemente dal fatto che il tasto di servizio sia stato premuto durante il boot od altrimenti, se l'applicazione di servizio si avvia correttamente, come determinato nella fase 426, il bit del tasto di servizio ed il timer rivelatore di hang vengono annullati nella fase 420. In una forma di attuazione, l'applicazione di servizio notifica al lanciatore dell'applicazione di servizio e lo istruisce affinché annulli il bit del tasto di servizio ed il timer rivelatore di hang. Se l'applicazione di servizio non si è avviata correttamente (il timer ha raggiunto lo zero prima di essere stato annullato), ciò può indicare una hang-up del sistema operativo o, al minimo, che esso è incapace di avviare correttamente l’applicazione di servizio. Così, nella fase 430, il sistema incomincia a seguire un protocollo di reboot predeterminato che include eventualmente il reboot nel modo di servizio, come è stato descritto sopra nei dettagli. Infine, una volta che l'SMI ha ricevuto il servizio completo, il gestore SMI riabilita la generazione SMI nella fase 432, cosicché una successiva pressione sul tasto di servizio causerà un'altra interruzione e darà inizio al servizio come descritto sopra.
Il sistema ed il metodo della presente invenzione forniscono dunque un mezzo del tutto particolare con il quale invocare l'assistenza all'utente in un modo uniforme ed a prova di errore.
Il modo in cui il codice nello spazio di esecuzione BIOS comunica con il sistema operativo e viceversa permette l'invio di una richiesta di servizio che è indipendente dal sistema operativo, e fornisce un sistema di monitoraggio il quale è esterno al sistema operativo così da poter monitorare il sistema operativo stesso. Altresì, il sistema ed il metodo descritti sopra permettono ad un utente di invocare assistenza indipendentemente dallo stato del sistema operativo {ossia durante il boot od altrimenti, o quando il sistema operativo si trova in hang).
I sistemi di identificazione e risoluzione dei problemi qui descritti possono essere forniti come un componente su misura (build-to-order) del sistema di computer. Per esempio, gli utenti meno sofisticati possono ordinare il loro sistema di computer con una risoluzione dei problemi mediante una singola pressione sul tasto, mentre gli utenti più esperti possono ordinare sistemi di computer con configurazioni standard. In alternativa, gli acquirenti dei sistemi di computer possono ordinare soltanto parti del sistema, quali un timer associato solo al monitoraggio del sistema operativo principale, che non includa la capacità di chiamare automaticamente un sistema operativo di modo di servizio.
Sebbene la presente invenzione sia stata descritta nei dettagli, deve essere inteso che vi si possono apportare vari cambiamenti, sostituzioni ed alterazioni senza scostarsi dallo spirito e dalla portata dell'invenzione quale definita dalle allegate rivendicazioni.

Claims (1)

  1. RIVENDICAZIONI 1. - Metodo per monitorare una sequenza di boot di un sistema di computer, il quale metodo comprende: 1'inizializzazione di un timer; l'esclusione del timer se si verifica un punto predeterminato della sequenza di boot del computer; e la determinazione che esiste un guasto al sistema di computer se il timer non rimane annullato dopo un periodo di tempo predeterminato. 2. - Metodo secondo la rivendicazione 1, in cui detta fase di annullamento comprende inoltre l'annullamento del timer con una sequenza applicativa da parte di detto sistema di computer. 3. - Metodo secondo la rivendicazione 2, comprendente inoltre 1'inizializzazione di un reboot del sistema di computer con un secondo sistema operativo quando detta fase di determinazione determina che esiste un guasto al sistema di computer. 4. - Metodo secondo la rivendicazione 3, comprendente inoltre, dopo la fase di inizializzazione di un reboot: l'inizializzazione di un timer; l'annullamento del timer con una sequenza applicativa da parte del sistema di computer se si verifica un punto predeterminato della sequenza di reboot del sistema di computer; e la determinazione di un guasto ad un sistema operativo di servizio se il timer non rimane annullato dopo un periodo di tempo predeterminato. 5. - Sistema di computer comprendente: un processore avente almeno un timer; un BIOS per eseguire il boot del sistema di computer; un sistema operativo per sopportare le operazioni del sistema di computer; e una macchina di monitoraggio degli stati associata al BIOS ed in comunicazione con il processore, la macchina di monitoraggio degli stati rivelando un guasto al sistema operativo mediante il confronto tra il tempo trascorso per una funzione del sistema operativo ed un periodo di tempo predeterminato, il tempo scaduto essendo misurato con il timer. 6. - Sistema secondo la rivendicazione 5, comprendente inoltre un sistema operativo di servizio, la macchina di stato di monitoraggio essendo atta a chiamare il sistema operativo di servizio quando viene rivelato un guasto al sistema operativo . 7. - Sistema secondo la rivendicazione 5, comprendente inoltre un tasto di servizio, in cui una pressione su detto tasto di servizio interrompe il processore ed inizializza il timer. 8. - Metodo per fornire un sopporto tecnico automatico ad un sistema di computer, comprendente le fasi di: premere un tasto di servizio in qualsiasi momento durante il funzionamento di detto sistema di computer, detta pressione su detto tasto di servizio causando una applicazione per far sì che detto sopporto tecnico automatico venga invocato indipendentemente dallo stato di funzionamento di detto sistema di computer. 9. - Metodo secondo la rivendicazione 8, in cui detto tasto di servizio è accoppiato ad un chip set, ed in cui detto tasto di servizio invoca detta applicazione provocando da parte di detto chip set la generazione di almeno una prima interruzione. 10. - Metodo secondo la rivendicazione 9, in cui detta fase di generazione di interruzione comprende inoltre le fasi di: impostare un primo bit in un registro di ingresso per usi generali nel chip set di controllo per generare una prima interruzione in risposta a detta fase di pressione sul tasto; ricevere detta prima interruzione e determinare se detto sistema di computer sta eseguendo una sequenza di boot; e se detto sistema di computer non sta eseguendo il boot, inizializzare una routine applicativa di servizio in un primo modo; oppure se detto sistema di computer sta eseguendo il boot, inizializzare detta routine applicativa di servizio in un secondo modo ad un istante predeterminato durante detta sequenza di boot. 11. - Metodo secondo la rivendicazione 10, comprendente inoltre la fase di inizializzare un timer in risposta a detta fase di pressione sul tasto, ed escludere detto timer se detta applicazione di servizio raggiunge un punto predeterminato prima che detto timer raggiunga un valore predeterminato. 12. - Metodo secondo la rivendicazione 11, comprendente inoltre la fase di inizializzare un reboot del sistema di computer se detta applicazione di servizio non ha raggiunto detto punto predeterminato prima che detto timer raggiunga detto valore predeterminato. 13. - Metodo secondo la rivendicazione 11, in cui detta fase di inizializzazione di detta applicazione di servizio in detto secondo modo comprende inoltre le fasi di: verificare lo stato di un bit predeterminato in detto chip set in un punto predeterminato durante la sequenza di boot; e se detto bit predeterminato è stato impostato, inizializzare detta applicazione di servizio. 14. - Metodo secondo la rivendicazione 13, in cui detta fase di inizializzazione di detta applicazione di servizio in detto primo modo comprende inoltre la fase di generare una seconda interruzione, detta seconda interruzione inizializzando una routine di servizio d'interruzione, detta routine di servizio d'interruzione inizializzando detta applicazione di servizio. 15. - Metodo secondo la rivendicazione 14, in cui detta seconda interruzione è una interruzione di controllo del sistema, e detta fase di inizializzazione di detta interruzione di controllo del sistema comprende inoltre la fase di impostare un secondo bit in un registro di uscita per usi generali di detto chip set di controllo, detta impostazione di detto secondo bit causando la generazione di detta interruzione di controllo del sistema. 16. - Sistema di computer comprendente: un chip set ; una memoria; una applicazione per fornire un sopporto tecnico automatico a detto computer; e un tasto di servizio per invocare detta . applicazione in qualsiasi momento durante il funzionamento di detto sistema di computer indipendentemente dallo stato dì funzionamento dì detto sistema di computer. 17. - Sistema di computer secondo la rivendicazione 16, in cui detto tasto di servizio è accoppiato con detto chip set per generare almeno una prima interruzione quando detto tasto di servizio viene premuto per invocare detta applicazione di servizio. 18. - Sistema di computer secondo la rivendicazione 17, comprendente inoltre: un processore avente almeno un timer; un sistema BIOS; un sistema operativo per supportare operazioni del sistema di computer e per comunicare con componenti di detto sistema di computer attraverso detto BIOS; in cui detto tasto di servizio è accoppiato con un registro di ingresso per usi generali in detto chip set allo scopo di impostare detto registro in modo da generare detta prima interruzione; un gestore di interruzione comprendente un codice in un sistema BIOS, detto gestore di interruzione essendo accoppiato con detto registro di ingresso per ricevere detta prima interruzione ed elaborare detta interruzione in un modo dipendente dal fatto che il computer si trovi in uno stato di boot o in uno stato di non boot. 19. - Sistema di computer secondo la rivendicazione 18, in cui detto gestore di interruzione determina se detto sistema di computer si trova in detto stato di boot o di non boot, detto gestore di interruzione essendo accoppiato con un registro di uscita per usi generali in detto chip set per impostare un bit in detto registro di uscita se detto sistema di computer si trova in detto stato di non boot, e in cui detto registro di uscita per usi generali è accoppiato con un terzo registro che si trova in detto chip set, detto terzo registro generando un segnale di interruzione per inizializzare una seconda interruzione quando detto bit viene impostato in detto registro di uscita. 20. - Sistema di computer secondo la rivendicazione 19, in cui detta seconda interruzione chiama una routine di servizio di interruzione in detto sistema operativo che inizializza detta applicazione di servizio. 21. - Sistema di computer secondo la rivendicazione 20, in cui detto gestore di interruzione è accoppiato a detto timer per inizializzare detto timer sostanzialmente all'atto della ricezione di detta prima interruzione. 22. - Metodo per il sopporto tecnico automatico di elaboratori sostanzialmente come descritto ed illustrato nei disegni annessi. 23. - Sistema per il sopporto tecnico automatico di elaboratori sostanzialmente come descritto ed illustrato nei disegni annessi.
IT2000TO000805A 1999-08-19 2000-08-17 Metodo e sistema per il sopporto tecnico automatico di elaboratori. IT1320595B1 (it)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/377,726 US6560726B1 (en) 1999-08-19 1999-08-19 Method and system for automated technical support for computers
US09/413,422 US6606716B1 (en) 1999-10-06 1999-10-06 Method and system for automated technical support for computers

Publications (3)

Publication Number Publication Date
ITTO20000805A0 ITTO20000805A0 (it) 2000-08-17
ITTO20000805A1 true ITTO20000805A1 (it) 2002-02-18
IT1320595B1 IT1320595B1 (it) 2003-12-10

Family

ID=27007937

Family Applications (1)

Application Number Title Priority Date Filing Date
IT2000TO000805A IT1320595B1 (it) 1999-08-19 2000-08-17 Metodo e sistema per il sopporto tecnico automatico di elaboratori.

Country Status (14)

Country Link
JP (1) JP2001092689A (it)
KR (1) KR100831117B1 (it)
CN (2) CN100587669C (it)
AU (1) AU777613B2 (it)
BR (1) BR0003641A (it)
DE (1) DE10040421B4 (it)
FR (1) FR2797697B1 (it)
GB (1) GB2356271B (it)
HK (1) HK1078358A1 (it)
IE (1) IE20000602A1 (it)
IT (1) IT1320595B1 (it)
MY (1) MY121164A (it)
SG (1) SG93253A1 (it)
TW (1) TW475109B (it)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560726B1 (en) 1999-08-19 2003-05-06 Dell Usa, L.P. Method and system for automated technical support for computers
US6606716B1 (en) 1999-10-06 2003-08-12 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
US6574615B1 (en) 1999-10-06 2003-06-03 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
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
US6539499B1 (en) 1999-10-06 2003-03-25 Dell Usa, L.P. Graphical interface, method, and system for the provision of diagnostic and support services in a computer system
US6564220B1 (en) 1999-10-06 2003-05-13 Dell Usa, L.P. System and method for monitoring support activity
US6556431B1 (en) 1999-10-06 2003-04-29 Dell Usa, L.P. System and method for converting alternating current into direct current
US6978307B2 (en) 2001-07-19 2005-12-20 Hewlett-Packard Development Company, L.P. Apparatus and method for providing customer service
US7627807B2 (en) 2005-04-26 2009-12-01 Arm Limited Monitoring a data processor to detect abnormal operation
CN100399266C (zh) * 2005-04-26 2008-07-02 乐金电子(昆山)电脑有限公司 计算机的故障排除系统及方法
CN100394392C (zh) * 2005-12-09 2008-06-11 英业达股份有限公司 计算机程序还原模式自动启动控制方法及系统
JP4682937B2 (ja) * 2006-07-05 2011-05-11 富士ゼロックス株式会社 起動制御回路
US20080046546A1 (en) * 2006-08-18 2008-02-21 Parmar Pankaj N EFI based mechanism to export platform management capabilities to the OS
US10825089B2 (en) 2007-03-15 2020-11-03 Bgc Partners, Inc. Error detection and recovery in an electronic trading system
JP6597417B2 (ja) 2016-03-09 2019-10-30 株式会社リコー 電子機器、復旧方法およびプログラム
TWI838264B (zh) * 2023-06-01 2024-04-01 和碩聯合科技股份有限公司 電腦系統及其電腦系統除錯資訊處理之方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2946081C3 (de) * 1979-11-15 1995-09-21 Wabco Vermoegensverwaltung Schaltungsanordnung zur Überwachung der Funktion eines Mikroprozessors
US4754326A (en) * 1983-10-25 1988-06-28 Keycom Electronic Publishing Method and apparatus for assisting user of information retrieval systems
US4964077A (en) * 1987-10-06 1990-10-16 International Business Machines Corporation Method for automatically adjusting help information displayed in an online interactive system
US5434963A (en) * 1988-09-03 1995-07-18 Hitachi, Ltd. Method and system of help-information control method and system
US5086501A (en) * 1989-04-17 1992-02-04 Motorola, Inc. Computing system with selective operating voltage and bus speed
US5134580A (en) * 1990-03-22 1992-07-28 International Business Machines Corporation Computer with capability to automatically initialize in a first operating system of choice and reinitialize in a second operating system without computer shutdown
EP0591437B1 (en) * 1991-06-26 1997-10-01 AST RESEARCH, Inc. Multiprocessor distributed initialization and self-test system
AU663877B2 (en) * 1991-10-04 1995-10-26 Wang Laboratories, Inc. Computer graphics system having a pause utility for interactive operations
JPH05108394A (ja) * 1991-10-18 1993-04-30 Fujitsu Ltd 計算機システムの初期化診断方式
JPH05257557A (ja) * 1992-03-16 1993-10-08 Nec Corp システム自動立上げ方式
US5390324A (en) * 1992-10-02 1995-02-14 Compaq Computer Corporation Computer failure recovery and alert system
JP3684590B2 (ja) * 1994-04-25 2005-08-17 カシオ計算機株式会社 リセット制御装置及びリセット制御方法
US5860002A (en) * 1996-07-12 1999-01-12 Digital Equipment Corporation System for assigning boot strap processor in symmetric multiprocessor computer with watchdog reassignment
US5978912A (en) * 1997-03-20 1999-11-02 Phoenix Technologies Limited Network enhanced BIOS enabling remote management of a computer without a functioning operating system
GB2329266A (en) * 1997-09-10 1999-03-17 Ibm Automatic error recovery in data processing systems
KR19990030951A (ko) * 1997-10-07 1999-05-06 윤종용 Smm에서의 하드웨어 진단 방법
US6112320A (en) * 1997-10-29 2000-08-29 Dien; Ghing-Hsin Computer watchdog timer
KR19990079203A (ko) * 1998-04-02 1999-11-05 윤종용 컴퓨터 시스템의 행업 알림장치
KR100283243B1 (ko) * 1998-05-11 2001-03-02 구자홍 운영체제의 부팅방법

Also Published As

Publication number Publication date
IT1320595B1 (it) 2003-12-10
TW475109B (en) 2002-02-01
CN1619492A (zh) 2005-05-25
SG93253A1 (en) 2002-12-17
ITTO20000805A0 (it) 2000-08-17
DE10040421A1 (de) 2001-03-01
DE10040421B4 (de) 2006-02-02
GB2356271B (en) 2002-09-04
KR20010050126A (ko) 2001-06-15
CN100587669C (zh) 2010-02-03
AU777613B2 (en) 2004-10-21
FR2797697A1 (fr) 2001-02-23
CN1208717C (zh) 2005-06-29
IE20000602A1 (en) 2001-04-18
FR2797697B1 (fr) 2007-02-16
HK1078358A1 (en) 2006-03-10
MY121164A (en) 2005-12-30
GB0019866D0 (en) 2000-09-27
GB2356271A (en) 2001-05-16
AU5350400A (en) 2001-02-22
BR0003641A (pt) 2001-10-09
KR100831117B1 (ko) 2008-05-20
CN1297191A (zh) 2001-05-30
JP2001092689A (ja) 2001-04-06

Similar Documents

Publication Publication Date Title
US6560726B1 (en) Method and system for automated technical support for computers
US6606716B1 (en) Method and system for automated technical support for computers
ITTO20000805A1 (it) Metodo e sistema per il sopporto tecnico automatico di elaboratori.
US6807643B2 (en) Method and apparatus for providing diagnosis of a processor without an operating system boot
US8132057B2 (en) Automated transition to a recovery kernel via firmware-assisted-dump flows providing automated operating system diagnosis and repair
US6675324B2 (en) Rendezvous of processors with OS coordination
US6189114B1 (en) Data processing system diagnostics
US20150220411A1 (en) System and method for operating system agnostic hardware validation
TWI685735B (zh) 在電腦系統開機自我檢測的早期階段顯示bios訊息的方法
US20040143776A1 (en) Hot plug interfaces and failure handling
US20070129860A1 (en) Vehicle Service Equipment Interface Drivers
US6725396B2 (en) Identifying field replaceable units responsible for faults detected with processor timeouts utilizing IPL boot progress indicator status
US20050033952A1 (en) Dynamic scheduling of diagnostic tests to be performed during a system boot process
US10572435B2 (en) Techniques of accessing serial console of BMC using host serial port
US7627789B2 (en) Polymorphic management of embedded devices using web interfaces
US11494289B2 (en) Automatic framework to create QA test pass
EP3974979A1 (en) Platform and service disruption avoidance using deployment metadata
KR20140062241A (ko) Pc의 원격 복구 구성 장치, 원격 복구 시스템 및 원격 복구 방법
CN111045899B (zh) 在计算机系统开机自检的早期显示bios信息的方法
TW202115577A (zh) 排除管理引擎運作異常的控制方法
JP2000298599A (ja) 交換ソフトウェアの自動試験システム
JPS60107145A (ja) 計算機システムのテスト制御方式