KR100620216B1 - 기능하는 운영 체제 없이 컴퓨터의 원격 관리를 가능하게 하는 네트워크 확장 기본 입출력 시스템 - Google Patents

기능하는 운영 체제 없이 컴퓨터의 원격 관리를 가능하게 하는 네트워크 확장 기본 입출력 시스템 Download PDF

Info

Publication number
KR100620216B1
KR100620216B1 KR1019997008594A KR19997008594A KR100620216B1 KR 100620216 B1 KR100620216 B1 KR 100620216B1 KR 1019997008594 A KR1019997008594 A KR 1019997008594A KR 19997008594 A KR19997008594 A KR 19997008594A KR 100620216 B1 KR100620216 B1 KR 100620216B1
Authority
KR
South Korea
Prior art keywords
network
computer
cpu
software
bios
Prior art date
Application number
KR1019997008594A
Other languages
English (en)
Other versions
KR20010005535A (ko
Inventor
유발 라카비
이안 안데르슨
앤드루 가르스턴
제임스 로체
마이클피터알. 버튼
Original Assignee
피닉스 테크놀로지 리미티드
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25234199&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100620216(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 피닉스 테크놀로지 리미티드 filed Critical 피닉스 테크놀로지 리미티드
Publication of KR20010005535A publication Critical patent/KR20010005535A/ko
Application granted granted Critical
Publication of KR100620216B1 publication Critical patent/KR100620216B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2294Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test
    • 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0748Error 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 the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault
    • 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/4416Network booting; Remote initial program loading [RIPL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display

Abstract

컴퓨터의 운영 체제를 부팅하기 전, 또는, 운영 체제 고장 후에 네트워크를 통하여 통신하는 방법 및 시스템이 제공된다. 다중태스킹 커널이 네트워크 확장 BIOS (600)에 제공된다. NIC 장치 드라이버에서 외부 참조는 네트워크 확장 BIOS에 의하여 제공된 참조 서비스에 리졸브(resolve)된다. 네트워크를 통하여 컴퓨터에 결합된 워크스테이션은 운영 체제의 로딩 전 또는 운영 체제의 고장 후 컴퓨터에서 상태를 액세스하고 설정하는데 이용될 수 있다. 다중태스킹 커널은 종래 BIOS (500)과 동시에 운영될 수 있다. 컴퓨터는 POST의 고장 또는 운영 체제 충돌 시 워크스테이션을 변형하기 위한 수단으로 또한 이용될 수 있다.
네트워크 확장 BIOS, POST, 컴퓨터 네트워크, 운영 체제, 부트스트랩, 진단 모드

Description

기능하는 운영 체제 없이 컴퓨터의 원격 관리를 가능하게 하는 네트워크 확장 기본 입출력 시스템 {Network Enhanced BIOS Enabling Remote Management of a Computer Without a Functioning Operating System}
본 발명은 일반적으로 컴퓨터에서 작용하는 운영 체제(operating system)의 추가 없이 네트워크에 의하여 컴퓨터의 원격관리를 가능하게 하는 방법 및 시스템에 관한 것이고, 더 자세하게는, 컴퓨터에서 실행하는 운영 체제의 추가 없이 원격 접근(access) 및 유지보수(maintenance)를 조정하기 위한 컴퓨터의 BIOS(Basic Input/Output System; 기본 입출력 시스템)를 확장하기 위한 방법 및 시스템에 관한 것이다.
운영 체제의 고장(failure)을 일으키는 시스템 오류(error)는 컴퓨터 산업에서 나쁜 문제이다. 특히 네트워크로 연결된 데스크탑 컴퓨터 또는 네트워크 서버 시스템에 있어서의 이러한 고장들은 컴퓨터 자원의 무익성을 증가시키고, 이용자의 작업중지 시간으로 인한 중요한 금전적 손실을 일으키는 원인이 될 수 있다.
일반적으로, 운영 체제를 충돌하게 하는 원인이 되는 상기 시스템 오류를 완전히 제거하기 위한 효율적인 과정은 존재하지 않는다. 많은 경우, 반복하는 충돌을 피하기 위한 유일한 방법은 운영 체제를 재부팅하기 전에 충돌을 야기한 동작의 사후 분석 진단(post-mortem diagnosis)을 수행하는 것이다. 그러나, 고장난 컴퓨터에 접근하여 분석하는 물리적 어려움 및 시스템을 다시 이용 가능하게 하는데 시간이 중요하기 때문에, 많은 이용자들은 충돌을 야기한 문제점을 분석하지 않고 단순히 운영 체제를 재부팅한다.
상기의 접근이 필수적인 한 예가 네트워크 서버에서 발생한다. 그러한 네트워크 서버는 종종 구성의 효율이 중요하고, 사후 분석을 수행함에 있어서 필수적인 키보드 및 컴퓨터 디스플레이와 같은 특정한 하드웨어가 없이 구성될 수 있다. 따라서, 네트워크 연산자(operator)는 프로그램의 적당한 진단을 수행하지 않고 단순히 네트워크 서버를 재부팅하는 것만 서두르게 된다.
또한, 컴퓨터의 원격 분석 및 관리의 문제점은 시스템 관리자가 여러 대의 컴퓨터를 원격으로 유지할 필요가 있는 광역 또는 국소 지역 네트워크의 경우에 발생한다. 전형적인 운영에서, 원격 컴퓨터에서 실행되는 운영 체제는 시스템 관리자가 원격 컴퓨터에 있는 다양한 매개 변수에 접근해서 수정하는 것을 허용한다. 그러나, 운영 체제가 충돌하는 경우에 현재 시스템은 원격 컴퓨터에 접근하거나 진단할 수단이 없다. 더욱이, 현재 시스템은 관리자가 원격 컴퓨터에 있는 운영 체제를 로딩(loading)하기에 앞서 원격 컴퓨터에 접근하는 것을 허용하지 않는다. 예를 들어, 부르크하트 등에 의한 U.S. 특허 5,390,324호는 일단 고장난 컴퓨터가 그 컴퓨터의 하드 디스크에 있는 제 2부분에 저장된 축소된 운영 체제를 로드(load)하면, 고장난 컴퓨터에 다이얼업(dial-up) 접근을 허용하는 고장 수리 시스템을 특허로 청구하고 있다. 상기 부르크하트 특허의 시스템은 검출(detection) 수단이 주 운영 체제 고장을 가리키는 타임아웃(time-out)을 감지하면 제 2 운영 체제를 포함하는 제 2 부분을 부트오프(boot off)한다.
다음 배경은 IBM 휴대형 PC의 전형적인 구조 및 기동 절차를 설명하지만, 그 개념은 다양한 컴퓨터 시스템에 일반적으로 적용될 수 있다. 시스템 리세트(reset)에서, CPU 제어는 파워온 시스템 테스트(Power On System Test) 또는 POST(파워온 자기 테스트; Power On Self Test)로 알려진 컴퓨터의 BIOS의 부분으로 옮겨진다. 여기에서 쓰이는 시스템 리세트 및 시스템 시동은 동의어이고, 컴퓨터의 초기 프로그램 로드 작용의 초기화 또는 재초기화의 시작의 원인이 되는 어떠한 시스템 시동, 재부트, 시스템 리세트 또는 다른 운영을 포함한다.
POST는 일반적으로 ROM(read only memory)에 저장되고, 시스템 타이머, 시스템 DMA(Direct Memory Access) 조정기, 시스템 메모리 조정기, 시스템 입출력 장치 및 비디오 하드웨어와 같은 표준 시스템 성분을 초기화하는데 이용된다. 초기화 경로의 일부로서, 상기 포스트는 인터럽트 벡터(interrupt vector) 표를 위한 디폴트 값(default value)을 설정한다. 이러한 디폴트 값은 ROM BIOS 표준 인터럽트처리기에 나타나지만, 맞춤 인터럽트 처리기를 액세스하여 수정될 수 있다. 또한, POST는 메모리 및 시스템 타이머와 같은 시스템 하드웨어가 정확하게 작용하는 지를 확인하기 위한 신뢰성(reliability) 시험을 수행한다. 시스템 초기화 및 진단 후, POST는 시스템에서 광학 하드웨어 카드(어댑터)에 있는 비휘발성 메모리에 위치한 펌웨어(firmware)를 위한 시스템을 조사한다. 이는 주어진 시그너쳐(signature)를 갖는 메모리를 위한 특정한 주소 공간을 스캐닝함으로서 수행된다. 만약 시그너쳐가 발견되면, 제어는 펌웨어를 패스하여 그것이 위치한 장치를 초기화한다.
하드웨어 초기화가 수행된 후, POST는 소정의 위치에서 부트 장치, 일반적인 하드 디스크 또는 디스켓 장치로부터, 메모리 안으로, 데이터 블록을 읽고, 데이타 블록에 있는 프로그램에 제어를 패스한다. 부트스트랩 로더(boot- strap loader)로 알려진 이 프로그램은 메모리 안에 더 큰 프로그램을 로드한다. 만약 더 큰 프로그램이 메모리 안에서 적당히 로드되면, 부트 프로그램은 그것을 제어로 패스한다. 그 다음, 운영 체제는 초기화되고 CPU의 제어를 얻는다. 아래에 설명하듯이, 소정의 디스크 또는 미디어가 없는 경우, 워크스테이션은 네트워크 인터페이스 카드에 위치한 어댑터 펌웨어가 부착된 네트워크로부터 운영 체제를 다운로드 하기 위한 운영 체제를 부트스트랩하는데 이용된다.
또한, BIOS는 컴퓨터 및 그 주변의 성분을 공유하기 위한 루틴 또는 인터럽트 처리기 세트를 포함한다. BIOS 인터럽트 처리기는 하드웨어 또는 소프트웨어 인터럽트의 이용을 통하여 액세스(access)된다. 이러한 인터럽트 처리기의 주소는 인터럽트 벡터 표에 저장된다. 위에서 설명하였듯이, 이러한 벡터는 맞춤 인터럽트 조정기에 지적되어 조정될 수 있다. BIOS는 일반적으로 피터 노턴 PC 프로그래머스 바이블, 마이크로소프트 프레스(1993)에서 피. 노턴에 의하여 설명된다.
BIOS 인터페이스 루틴이 MS-DOSTM 운영 체제에 의하여 이용될 동안, 윈도우-95TM과 같은 현대적 운영 체제는 BIOS 인터페이스 루틴을 광범위하게 이용하지 못하고 있다. 일반적으로, 윈도우-95 및 다른 현대적 운영 체제는 주변 하드웨어 성분과 통신할 때, 주변 하드웨어 성분의 특별한 타입 및 모델로 특정되는 장치 드라이버를 이용한다. 장치 드라이버는 더욱 일반적인 목적 소프트웨어가 주변 구성요소와 상호작용할 수 있는 균등 인터페이스를 제공한다. 이러한 장치 드라이버는 존재하는 BIOS 인터럽트 처리기와 교체될 수 있고, 또는 다른 점에서는 제공되지 않는 추가 기능을 제공할 수도 있다. 응용 소프트웨어는 각 하드웨어 장치의 종류와 상호작용할 필요가 없도록 자유롭게 되어 있다.
해제된 MS-도스 2.0 및 윈도우 3.11을 포함한 많은 운영 체제는 운영 체제가 부트업(boot up)되었을 때, 디스크로부터 설치 가능한 장치 드라이버를 로드할 능력을 포함한다. 이용자는 명령 장치(config.sys 파일에서 장치 파일)를 포함함으로서 MS 도스 운영 체제에 설치 가능한 장치 드라이버를 로드할 수 있다. 그 다음 MS 도스는 각 장치 드라이버 파일을 인도하고 메모리에 장치 드라이버를 로드한다. 윈도우-95는 PCI(주변 구성요소 상호 연결), 및 BIOS의 접속(plug) 및 활동 기능을 이용한 주변 하드웨어 구성요소를 감지할 능력을 갖고, 자동으로 설치된 주변 하드웨어 구성요소를 위한 적당한 드라이버를 로드할 능력을 갖는다.
상기 설치 가능한 장치 드라이버의 이용은 NIC(네트워크 인터페이스 카드)와 같이 주변 하드웨어 구성 요소를 제어하여 충분한 정도의 융통성을 제공하고, 여기서, 고장난 컴퓨터에서 실행하는 운영 체제는 소프트웨어 드라이버를 로드하는데 의존하고, 필요한 지지 작용을 제공한다. 만약, 운영 체제가 부트되지 않는다면, 또는, 운영 체제를 재-로드하기에 앞서 사후 분석 진단을 수행할 필요가 있다면, NIC를 위한 소프트웨어 드라이버는 로드되지 않을 것이고, 따라서, 관리자는 시스템을 원격으로 엑세스하기 위하여 NIC를 통하여 활동하는 소프트웨어를 이용할 수 없을 것이다. 따라서, 운영 체제가 부트스트랩되고 운영 체제 지원에 의존하기 전에 이용할 수 있는 설치 가능한 NIC 드라이버를 이용하는 방법 및 시스템이 존재할 필요가 있다. 운영 체제는 이용자-단계 프로그램의 실행을 제어하고, 자원 배정, 스케줄링, 입출력 제어 및 데이타 처리와 같은 이용자 단계 프로그램에 서비스를 제공하는 시스템 단계 소프트웨어를 의미하는 단어로 이용되고 있다. 그러한 운영 체제의 예는 MS-도스TM, 윈도우-95TM, 윈도우-NTTM등 마이크로 소프트로부터 이용 가능한 모든 것, 애플 컴퓨터로부터 이용 가능한 MacOSTM 등, 선 마이크로 시스템을 포함한 많은 공급자로부터 이용 가능한 여러 버전의 유닉스
Figure 112003009364100-pct00001
이 있다. 윈도우-NT와 같은 현대적 운영 체제는 종종 보호 모드의 커널 또는 운영 체제의 코어에서의 기본 시스템을 포함한다.
컴퓨터 시스템의 원격 관리의 핵심 문제는 많은 공급자로부터 이용될 수 있고, 그 각각은 다르게 프로그램되어 질 수 있고 유일한 장치 드라이버를 이용할 수 있는 수많은 서로 다른 네트워크 인터페이스 카드 타입이 존재한다는 사실이다. 이러한 각 카드 타입을 위한 새로운 장치 드라이버의 발전은 비싸고, 신뢰할 수 없도록 인도되었다. 따라서, 본 발명의 목적은 현존하는 운영 체제를 위한 발전된 표준 NIC 장치 드라이버를 이용한 네트워크 확장 BIOS를 이용하는 것이다. 실질적으로 무한히 많은 네트워크 카드 타입을 지원하기 위하여, 운영 체제 공급자는 네트워크 인터페이스 카드 장치 드라이버에 의하여 이용되고 있는 표준 인터페이스로 한정한다. 이는 표준 인터페이스에 가입한 드라이버 소프트웨어를 공급하는 어떠한 NIC도 지원하는 운영 체제를 허용한다. Novell, Inc.(노벨)의 ODI(개방 데이타 인터페이스)는 그러한 표준의 하나로 정의된다. ODI 표준에 의하여 쓰여진 드라이버는 노벨로 이용 가능한 네트웨어TM에 의하여 이용될 수 있다. 마이크로소프트의 NDIS(네트워크 드라이버 인터페이스 명세)는 제 2 표준으로 정의된다. NDIS 표준에 따라 쓰인 드라이버는 마이크로소프트 운영 체제(예를 들어 윈도우-NTTM)에 의하여 이용될 수 있다. 더욱이, 다른 표준들도 다양한 버전의 유닉스TM 운영 체제로 이용될 수 있다.
상기 나열된 목적에 부가하여, 본 발명의 목적은 컴퓨터의 운영 체제를 이용할 필요가 없이 네트워크에 결합된 컴퓨터와 통신하기 위한 방법 및 시스템을 제공하는 것이다.
또한, 본 발명의 목적은 컴퓨터 운영 체제의 부트스트랩에 선행하여 네트워크에 결합된 컴퓨터와 통신하기 위한 방법 및 시스템을 제공하는 것이다. 또한, 본 발명의 목적은, 두 컴퓨터 사이의 명령 및 정보의 전송을 가능하게 하는 등의 네트워크 확장 BIOS에 적합한 제 1 컴퓨터에서 떨어져 있는 제 2 컴퓨터에서 실행될 수 있고, 제 2 컴퓨터 자신은 상기 네트워크 확장 BIOS에 적합할 필요가 없는, 필요한 소프트웨어 및 컴퓨터에 필요한 추가 소프트웨어를 제공하는 것이다. 본 발명은 컴퓨터 운영 체제를 부팅하기 전, 또는 운영 체제의 고장 후에 네트워크를 통하여 컴퓨터와 통신하기 위한 방법 및 시스템을 제공하는 것이다. 네트워크 API(응용 프로그램 인터페이스; application program interface)가 제 1 컴퓨터에 적합한 네트워크 확장 BIOS에 제공된다. 이 컴퓨터는 NIC 카드 및 NIC 장치 드라이버 파일에 제공되는 것이 적합하다. 운영 체제의 구성 요소에 의하여 제공되는 서비스로 보통 바뀌는 NIC 장치 드라이버 파일에서 외부 기준은 대신 네트워크 확장 BIOS의 API에 의하여 제공되는 기준 서비스로 바뀐다. 네트워크를 통하여 제 1 컴퓨터와 결합된 제 2 컴퓨터는 운영 체제의 로드 전 또는 운영 체제의 고장 후 명령, 상태 및 데이타를 전송할 수 있다. 또한, POST 고장 또는 운영 체제 충돌이 있을 경우, 제 1 컴퓨터에는 제 2 컴퓨터를 개조하기 위한 수단이 제공될 수 있다.
본 발명의 더욱 완전한 이해를 위하여 참고자료가 첨부된 도면과 함께 아래 실시예에 있다.
도 1은 서버 컴퓨터, 데스크톱 컴퓨터, 네트워크 관리 워크스테이션 및 네트워크를 포함하는 실시예의 시스템 구조를 나타내는 블록 기능도이다.
도 2는 본 발명을 실시하기 위하여 컴퓨터 시스템 구성 요소를 포함하는 컴퓨터 시스템의 실시예를 나타내는 블록 기능도이다.
도 3a는 본 발명과 관련하여 발생한 BIOS의 일부분의 주요 기능 구성요소를 보여주기 위한, 컴퓨터의 종래 BIOS 부분의 블록 기능도이다.
도 3b는 본 발명과 관련하여 주요 기능 구성요소를 보여주기 위한, 컴퓨터의 네트워크 확장 BIOS 부분의 블록 기능도이다.
도 4는 본 발명의 실시예에 따른 원격 접근을 위하여 구성된 컴퓨터에 포함 된 소프트웨어를 보여주는 흐름도이다.
도 5는 본 발명에 따른 네트워크 인터페이스 구성요소의 층들의 블록 기능도이다.
도 6은 본 발명의 바람직한 실시예에 따른 네트워크 확장 BIOS에 의하여 제공된 네트워크 프로토콜 스택의 블록 기능도이다.
도 7은 본 발명에 따라 제공된 RPC 설비의 작용 모델이다.
도 8은 본 발명에 따라 BIOS 모드 사이에서의 수동 이행을 위한 구조를 나타내는 블록 기능도이다.
도 9는 본 발명에 따른 감시장치(watchdog) 타이머 구조의 블록 기능도이다.
본 발명의 바람직한 실시예들은 지금부터 도면의 일련의 도면 부호로 설명될 것이다.
도 1은 시스템 구조의 바람직한 실시예의 전면도이다. 서버 컴퓨터 100은 네트워크 300을 경유하여 관리 워크스테이션 200에 물리적으로 접속된다. 네트워크 300은 노벨의 NetWareTM을 포함하는 상업적으로 이용 가능한 많은 국지 또는 광역 네트워크의 하나이다. "네트워크" 또는 "컴퓨터 네트워크" 등으로 여기서 쓰이는 단어는 일반적으로 둘 이상의 접속된 컴퓨터의 결합으로 정의된다. 따라서, 예를 들면 접속 기술, 네트워크 위상(topology) 및 네트워크 프로토콜은 제한 없이, 위에서 언급한 LAN 또는 WAN에 부가하여, 직렬 또는 병렬 인터페이스 및 케이블을 경유하여 직접 접속된 두 컴퓨터, 소위 "플레인 올드 텔리폰 서비스(plain old telephone service)"를 경유하듯이 공중전화 교환망(Public telephone network)으로 모뎀 접속을 경유하여 직접 접속된 두 컴퓨터, 공중전화 교환망으로 ISDN접속을 경유하여 접속된 두 컴퓨터 또는 인터넷을 통하여 접속된 두 컴퓨터 등을 다양하게 포함할 수 있다. 또한, 데스크톱 컴퓨터 400은 네트워크 300에 접속될 수 있다. 서버 컴퓨터 및 데스크톱 컴퓨터는 수많은 컴퓨터의 한 예일 뿐이다.
이제 도 2를 참고로, 본 발명이 실천될 수 있는 컴퓨터 400을 나타낸다. 도 2에서 보고 설명되듯이 컴퓨터 400은 한 실시예로서 본 발명의 범위를 벗어나지 않는 정도로 수정될 수 있다. 더욱이, 비록, 도 1에서는 컴퓨터 400이 데스크톱 컴퓨터로 표현되었지만, 여기서 컴퓨터라는 단어는 이에 제한되지 않고 데스크톱 컴퓨터(도 1의 400) 및 서버 컴퓨터(도 1의 100) 또는 자동 응답기(Auto Teller Machine) 또는 판매 단말기(Sale Terminal) 또는 공급 기계(Vending Machine)등과 같은 내장 시스템(도시되지 않음)을 포함하는 것으로 이해된다.
시스템 버스 105는 컴퓨터 400의 구성요소의 중추(backbone)를 형성한다. CPU(중앙 처리 장치) 110 및 RAM(랜덤 액세스 기억 장치) 120이 시스템 버스 105에 부착되어 있다. CPU는 적어도 두 모드, 당업계에서는 공지되어 있듯이 실제 모드 및 보호 모드, 에서 운영한다. 비휘발성 메모리 125는 바람직하게는 플래시 (flash) ROM의 형태를 하고 있고, 시스템 버스 105에 접속되어 있다. 비휘발성 메모리 125는 컴퓨터가 전원 차단(power down) 또는 리세트될 때 상태를 바꾸지 않는다. 이용자 입출력은 영상 표시 장치(visual display device) 130, 비디오 제어기 135, 키보드 140 및 키보드 제어기 145를 통하여 수행될 수 있다. 비디오 제어기 135와 같이 CPU 110 및 RAM 120은 분리 로컬 버스(도시되지 않음)를 경유하여 광학적으로 결합될 수 있다. 대용량 기억 장치는 플로피디스크 장치 150을 포함할 수 있고, 플로피 디스크 제어기 155 및/또는 하드 디스크 장치 160과 결합되어 있고, 하드 디스크 제어기 161와 연결되어 있다. 아래에 설명될 감시 타이머를 제공한 본 발명의 한 실시예에서, 컴퓨터 400은 또한 SMRAM(시스템 관리 램) 121, 외부 타이머 122 및 칩세트 외부 논리회로(chipset external logic) 123을 포함한다. 바람직하게는 타이머 122는 칩세트 논리회로 123 안에 제공된다. 위에서 설명되었듯이, 도 2의 설명은 한 예이고, 본 발명에서 벗어나지 않고 당업자에게 명백한 수많은 수정이 가능하다. 예를 들어, 본 발명은 플로피 디스크 장치 150 또는 하드 디스크 장치 160을 갖지 않는 디스크 없는 워크스테이션에 제공될 수 있다.
또한, 컴퓨터 400은 네트워크 어댑터로 알려진 NIC(네트워크 인터페이스 카드) 170을 포함한다. NIC 170은 컴퓨터 안에 있는 시스템 회로 슬릿 165의 세트를 경유하여 시스템 버스 105에 접속되는 것이 바람직하다. 슬롯 165는 인텔의 PCI 표준과 같은 산업 표준에 일치하는 것이 바람직하다. 선택적으로, NIC 170은 시스템 회로 슬릿을 이용하지 않고 시스템 버스 105에 직접 결합될 수도 있다.
선택적으로, 컴퓨터 400은 NIC 170 또는 NIC 170과 부가하여 모뎀을 대신할 수 있다. 상기 모뎀은 내부 모뎀 190일 수 있고, 내부모뎀 190은 시스템 버스105 또는 시스템 회로 슬롯 165의 세트의 하나, 및/또는 외부 모뎀에 접속되고 통상 시스템 버스 105에 접속된 직렬 인터페이스 175에 접속된다. 추가로, 컴퓨터 400은 직렬 인터페이스 175 또는 병렬 인터페이스(도시되지 않음)에 접속된 케이블을 경유하여 워크스테이션 200에 직접 네트워크 연결될 수 있다.
도 3a 및 3b를 보면, 종래 BIOS 섹션 500 및 본 발명에 따라 제작된 네트워크 확장 BIOS 섹션 600의 구성요소인 모듈이 도시되어 있다. 종래 BIOS 섹션 500은 초기 POST 510, POST의 잔부 520, 오류 및 상태 정보를 표시하기 위하여 BIOS 안에서 내부적으로 이용되는 커서 위치 및 쓰기 문자(write character)와 같은 표시 서비스 530, 하드웨어 시험 루틴과 같은 POST 시간 서비스 540, 인터럽트 10H 비디오 출력 서비스 및 인터럽트 13H 디스크 액세스 서비스와 같은 실행 시간 서비스 550 및 기능자 코드 560으로 구성되어 있다. 기능자 코드 560은 종래의 BIOS 500에 네트워크 확장 BIOS 600을 감지하고 로드할 능력, 및 네트워크 확장 BIOS 600 엔트리 포인트에 제어를 줄 능력을 제공한다. 그것은, 또한, 종래의 BIOS 500 및 네트워크 확장 BIOS 600 사이에 협동 다중태스킹을 허락하는 루틴을 포함한다. 초기 POST 510 및 POST 520의 잔부 사이의 분할은 실용적으로, POST가 디스패쳐 루틴 505의 조절 하에서 실행되는 많은 수의 루틴으로 분할되어 있다. 초기 포스트 510은 네트워크 확장 BIOS 600을 충분히 초기화하도록 컴퓨터를 구성하기 위하여 요구되는 POST 루틴의 세트가 바람직하다. 아래에서 논의되겠지만, 초기 POST 510은 : 메모리 조정기를 프로그래밍하는 작용; 메모리를 테스트하는 작용; 만약 존재한다면, PCI 버스를 충분히 액세스하도록 칩세트를 초기화하는 작용, 인터럽트 조정기를 초기화하고 시험하는 작용; 네트워크 어댑터를 위한 인터럽트를 구성하는 작용; 및 만약 존재한다면, VGA 조정기를 초기화하는 작용을 포함하는 것이 바람직하다. 초기 POST 510은 또한 다른 칩세트 레지스터를 추가적으로 프로그램할 수 있다. 초기 POST 510은 또한 비휘발성 메모리 125에 저장되는 것이 바람직하다.
네트워크 확장 BIOS 600은 종래 BIOS 섹션 500에 초기화 섹션 610, 커널 디스패처(dispactcher) 621을 흡수한 32비트 보호 모드 커널 620 및 로더(loader) 630을 증착한다. 또한, 네트워크 확장 BIOS 600은 종래 BIOS 섹션 500에 커널에 의하여 제공되는 서비스를 도용하는 프로토콜 스택 640을 증착한다. 일반적으로, 현대적 운영 체제는 자신의 보호 모드 커널을 포함하고 있기 때문에, 네트워크 확장 BIOS 600은 보통 운영 체제의 부팅에서 종결되지만, 본 발명의 변형은 네트워크 확장 BIOS 600의 일부분이 메모리에 남는 것을 허용한다. 상기 남겨진 부분은 아래에 설명될 감시 보호 구성에서 인터페이스로 이용된다.
도 4를 보면, 시스템 시동 410에서, CPU 제어는 초기 POST 510 루틴인 411로 통과된다. 초기 POST 510은 메모리 조정기, 인터럽트 조정기, 시스템 버스 조정기 및 다른 칩세트 레지스터 등을 프로그래밍하는 것과 같은 시스템의 운영에 필요한 예비 작업을 수행한다. 이 작용은 네트워크 확장이 아닌 BIOS의 작업과 동일하다.
제어는 도 3의 기능자 560의 일부인 네트워크 확장 BIOS 설치 검사 루틴인 412로 통과된다. 설치 검사 루틴은 네트워크 확장 BIOS 600 코드의 시작을 지시하는 시그너쳐로 알려진 데이타의 순서를 찾기 위하여 비휘발성 메모리 125를 통하여 순차적으로 스캔한다. 만약 설치 검사 루틴이 아무 시그너쳐가 존재하지 않는다는 439를 결정하면, POST 루틴 520의 나머지는 413을 실행하고 제어는 운영 체제에 의하여 공급되는 부트스트래핑 루틴인 414로 통과된다. 위에서 설명하였듯이, 부트 스트래핑 루틴은 432에 운영 체제를 로드하고 415에서 CPU 제어를 통과한다.
만약 네트워크 확장 BIOS 600 코드의 시동을 지시하는 시그너쳐가 발견되면, 재위치 루틴 416은 비휘발성 메모리 125에서 RAM 120으로 네트워크 확장 BIOS 600을 복사하고, CPU 제어는 시그너쳐의 시작으로부터 알려진 오프세트에 있는 네트워크 확장 BIOS 600 코드의 시동 루틴 610인 417로 통과된다. 종래 BIOS 500은 전형적으로 실제 모드에서 운영하기 때문에, 네트워크 확장 BIOS 시동 루틴 610은 CPU를 보호 모드로 바꾸고, 32-비트 커널, 및 프로토콜 스택 640의 각 구성요소를 초기화한다.
도 4에서 보듯이, 네트워크 확장 BIOS 커널 620은 멀티스레드, 즉, 작업을 최우선 순위에 따라 하나의 작업에서 다른 것으로 CPU 제어를 바꿈으로서 복합 작업의 동시 실행을 명백히 지원하는 것이 바람직하다. 작업은 만약 그것이 어떤 외부 사건을 기다라고 있거나, 완전한 실행에 종속하는 다른 작업을 기다린다면, 실행으로부터 블록될 수 있다. 서로 다른 작업간의 CPU 제어의 변경은 커널 디스패쳐 621에 의하여 수행된다.
많은 스레드(thread)가 네트워크 프로토콜 스택 640을 지원하기 위한 네트워크 확장 BIOS 설치 루틴 610에 의하여 시작되고, 관리 워크스테이션 200 응용 프로그램과 통신하는 다른 특징이 있다. 이러한 스레드는 32-비트 프로토콜 모드가 바람직하고 특징이 더 많이 설명된 아래에서 논의될 것이다.
종래의 BIOS 500과 본 발명의 제 1 실시예에 따른 네트워크 확장 BIOS 600의 상호 운영 방법이 지금부터 설명된다. 상호 운영의 세부적인 방법은 본 발명의 원 리에 영향을 미치지 않는 범위 내에서 수정될 수 있다.
도 8에서 보듯이, 종래 BIOS 코드로부터 네트워크 확장 BIOS 600으로의 초기 전이는 순차적으로 일어나는 상호 운영 변경의 반복되는 과정이고, 더욱 상세히 설명될 것이다. BIOS는 메모리 데이타 영역에 있는 모든 CPU 레지스터 및 플래그를 저장하는 단계 805를 저장한다. 네트워크 확장 BIOS 600 코드 및 데이타는 810에서 압축 해제되어 재배치되고, CPU 제어는 이 코드 815의 엔트리 포인트에 전송된다. 커널 및 네트워크 프로토콜 스택은 820에서 초기화된다. 프로세서는 실제 모드 825로 되돌아가고, 종래의 BIOS 서비스 루틴은 레지스터에서 BIOS와 함께 커널 모드 스위치 엔트리 포인트의 주소를 받는다. 이 루틴은 BIOS 모드 스위치 엔트리 포인트 835의 주소를 되돌린다.
다음으로, 종래의 BIOS 및 32-비트 커널 스레드가 선택적으로 실행되는 반복되는 상태 800이 삽입된다. 커널은 메모리 데이타 지역에서 모든 CPU 레지스터 및 플래그를 저장하는 상태 840을 저장한다. 다음으로, 점프가 BIOS 모드 스위치 엔트리 포인트인 845에서 실행된다. 이미 저장된 BIOS 상태는 850에 저장되고, 종래의 BIOS 코드는 실행된다. CPU 제어는 종래 BIOS 섹션 500의 POST 디스패쳐 루틴 505인 855로 통과되고, 상기 종래 BIOS 섹션 500은 인터럽트와 같은 외부 사건을 기다리기 때문에 완성하거나 보류할 때까지, 현재 BIOS POST 루틴을 실행한다. 소정의 메모리 시험과 같은 POST 작업은 실행하는데 긴 시간을 요할 수 있고, 이러한 작업에서, 종래 BIOS 는 정해진 간격으로 32-비트 커널 620에서 제어를 허용할 것이다. 이 때, 상기 BIOS는 다시 상태 860을 저장하고, 점프가 커널 모드 스위치 엔트리 포인트 865에서 실행된다. 커널이 저장된 상태 870을 재저장하는 커널, 재삽입 보호 모드 875 및 커널 디스패쳐 621은 880에서 블록되지 않은 모든 스레드를 스케줄을 만든다. 커널 디스패쳐 621이 실행할 준비가 된 스레드가 없다는 것을 결정하면, 즉, 시스템이 "유휴(idle)'이면, 커널은 실재 모드 885로 재삽입하고, 과정은 커널이 그것의 상태 840을 저장하는 지점에서부터 반복된다.
커널 620은, 인터럽트가 BIOS 작업에 반영되는 32-비트 커널 작업동안 발생할 때, 만약 BIOS POST 루틴이 인터럽트를 기다리고 있고, 따라서 제어를 허용하는 것과 같이, 인터럽트 처리기를 제공하는 것이 바람직하다. BIOS 작업의 실행동안 발생하는 반대도 진실로서, 32-비트 커널 스레드를 위하여 인터럽트는 반드시 32-비트 커널 스레드에 반사된다. 인터럽트의 반사의 관리는 마이크로소프트 윈도우 VxD(Virtual device drivers)의 그것으로 잘 알려져 있을 것이다. 프로세서 모드 전이의 수행은 인텔에서 출판된 마이크로 프로세서 매뉴얼에서 인용된다. 다른 드라이버 형 및 마이크로 프로세서의 구조를 위한 유사한 해법이 여기에 기재된 사항의 견지에서 당업자에게 명백할 것이다.
종래의 BIOS 및 32-비트 네트워크 확장 BIOS 작업의 선택적 실행의 효과는 네트워크 확장 BIOS 스레드 및 현재 종래의 BIOS POST 작업이 동시에 운영된다는 점이다. 도 4로 되돌아가서, 초기화 417 뒤에 두 실행 경로가 있고, (아래에 설명될) 세션 키 뒤의 복합 실행 경로는 422로 변화한다. 개념상, 이상의 작업 및 스레드는 동시에 작용한다. 도 4에서 점선은 스레드 423 내지 427이 동시에 실행됨을 나타낸다.
본 발명의 바람직한 실시예가 "작업"이라는 단어로 설명된다. 여기서, "작업"은 일반적으로 POST 디스패쳐에 의하여 순차적으로 실행되는 종래 BIOS로부터 실제 모드 루틴의 결과적으로 일어나는 단어로서 이용된다. 이러한 작업들의 단지 하나만이 언제나 동시에 활동한다. 본 발명에서 "스레드"는 일반적으로 커널 디스패쳐 621에 의하여 스케쥴되는 32-비트 보호 모드 코드의 의미로 이용된다. 이러한 "스레드"는 개념적으로 서로 동시에, 그리고, 단일 종래 BIOS POST 작업을 실행한다. 그러나, 본 발명에서 작업과 스레드 사이에 특정한 구분을 통하여 제한할 필요가 없다는 것은 당업자에게 자명하다.
도 4를 참고로, 종래 BIOS 섹션 500은 POST 루틴 520의 나머지를 통하여 418을 실행하기 위하여 계속된다. 즉, 네트워크 확장 BIOS 600은 "동시에" 네트워크 통신을 이용하기 위하여 시작한다. 상세한 네트워크 프로토콜 스택 작용은 뒤에서 주어지고, 이 섹션은 트랜잭션(transaction)이 일어나는 개략을 제공한다. 네트워크 확장 BIOS 600은 420에서 관리 워크스테이션 200에서 응답하기 위한 소정의 기간을 기다린다. 이러한 경고 패킷 및 동시에 발생할 수 있는 어떤 것의 포맷 (format)은 SNMP(단일 네트워크 관리 프로토콜)가 바람직하다. SNMP는 TCP/IP(전송 조정 프로토콜/인터넷 프로토콜) 슈트 안에 있는 표준 프로토콜이고, 일반적으로 TCP/IP 네트워크에 있는 관리 및 모니터 노드로 이용된다. SNMP 및 TCP/IP는 당 분야에서 잘 알려져 있고, 예를 들어, J. Martine, TCP/IP Networking, PTR Prentice Holl(1994)에서 설명된다. 이는 HP OpenViewTM 과 같이 휴렛 패커드로부터 이용가능하고, 심지어 관리 워크스테이션 응답이 없다 하더라도 상기 변경을 기록하고 표시하기 위한 네트워크에 접속된 컴퓨터에서 실행하는 제 3자 관리 소프트웨어를 허용한다. 다른 프로토콜의 이용도 본 발명이 속한 분야의 당업자에게는 명확히 준비될 것이다.
구성가능한 시간(대략 5초 정도가 바람직하다)이 경과한 후 관리 워크스테이션 200으로부터 아무런 신호를 접수하지 못한 경우, 네트워크 확장 BIOS 600은 다른 워크스테이션으로 접속을 시도하거나 네트워크 확장 BIOS 600의 작용은 종료될 수 있고, 이 경우 종래 BIOS 섹션 500은 통상의 방법으로 POST를 완성할 것이다. 만약, POST 오류가 없다면, 종래 BIOS 섹션 500은 431에서 부트스트랩 경고 패킷을 네트워크 300에 발하고, 414에서 BIOS 부트스트랩 루틴으로, 따라서, 부트 섹터 코드 432로, 그리고, 운영 체제 415로 CPU 제어를 전송한다. 만약, POST 520 루틴의 잔부가 438에서 오류를 발견하면, 437에서 그 오류가 중요한 지의 여부를 결정한다. 만약, POST 520 루틴의 잔부가 438에서 중요한 오류를 발견하지 못하면, 종래 BIOS 섹션 500은 434에서 네트워크 300에 중요한 오류가 없다는 신호를 보내고 과정을 계속 진행한다. 만약, POST 520 루틴의 잔부가 437에서 중대한 오류를 발견하면, 435에서 네트워크 300에 치명적 오류경고를 보내고 436에서 진단 모드를 삽입한다.
만약 응답이 관리 워크스테이션 200으로부터 접수된다면, 421에서는 메세지 내용에 기초한 해시 기능을 계산하고, 네트워크 확장 BIOS 600과 함께 허가된 관리 워크스테이션 200 및 컴퓨터 400에만 알려진 비밀키에 의하여 인증된다. 이는 워크스테이션 응답의 일부로서 보내진 메세지 인증 코드와 비교된다. 단지 허가된 관리 워크스테이션은 정확한 인증 코드를 포함하는 응답만을 발생할 수 있을 것이다.
또한, 워크스테이션 200 및 네트워크 확장 BIOS 600 사이의 통신은 난수에 기초하여 422에서 세션키로 교환한 비밀키를 이용함으로서 인증되는 것이 바람직하다. 구성을 변경하는 주지의 키의 하나가 Steiner, Applied Crypotography에서 설명되었듯이 Diffie-Hellman과 같이 이용될 수 있다. 또한, Hellman 등에 의한 U.S. 특허 제 4,200,770호를 보면, 세션의 나머지를 위한 모든 미래의 네트워크 응답은 메세지 인식 코드를 계산한 교환키를 이용할 것이 요구된다고 기재되어 있다.
일단 세션키가 교환이 되면, 추가의 스레드가 관리 워크스테이션에 의하여 지원되는 기능을 필요로 하는 추가 서비스를 제공하기 위하여 작성된다. 원격 콘솔 장치를 제공하기 위하여, 관리 워크스테이션 200 응용으로부터 보내진 스캔 코드를 접수하고 진단 목적으로 디자인된 구조를 이용한 키보드 조정기 145의 출력 완충기에 놓인 키보드 입출력 지정(redirection) 스레드 423이 시작된다. 다음으로, 상기 스캔 코드는 컴퓨터 400의 일반 인터럽트 서비스 루틴에 의하여 읽혀지고, 그 효과는 키보드 140에 압축되어진 키와 동일하다. 소정의 키는 특별한 진단 모드로 들어가거나 재부트 기능의 특별한 형태로 수행되는 것과 같이 특별한 행동을 수행하기 위한 지시로서 해석된다.
화면 입출력 지정 스레드 424는 BIOS 화면 표시 인터럽트 10H 및 BIOS 표시 서비스 출력을 인터셉트함으로서 화면에서 모든 출력을 수집한다. 이는 주기적으로 두드러진 화면 데이타의 전이를 요구할 때, 관리 워크스테이션 응용 프로그램에서 완충되어 보내진다. 스크린 입출력 지정 스레드 424 및 키보드 입출력 지정 스레드 424는 아래에서 응용 프로토콜 층과 관련하여 더 설명된다.
디스크 입출력지정 스레드 425는 플로피디스크 드라이브에서 액세스의 입출력지정을 위한 지원 옵션이 제공된다. 상기와 같이 구성되면, BIOS 소프트웨어 디스크 서비스 인터럽트(인텔 80*86에서 인터럽트 13H)는 인터셉트(intercept)되고, 어떤 특별한 디스크 작용이 전송될 것이 요구될 때, 플로피 디스크 드라이브(통상 A: 드라이브)에서 모든 참조는 관리 워크스테이션 200 응용 프로그램으로 완충되어 보내진다. BIOS 디스크 입출력지정 스레드 425의 작용은 입출력지정 디스크 작용이 발생할 때까지 보류되고, 데이타 또는 결과 코드는 네트워크 300을 경유하여 되돌아온다. 전송된 데이타는 인터럽트 13H 작용의 결과 호출 응용 프로그램 또는 작용 시스템 기능으로 되돌아 온다.
기술한 바와 같은 디스크 입출력 지정의 메카니즘은 네트워크 확장 BIOS를 구비하고 있는 컴퓨터에 플로피 디스크 또는 다른 컴퓨터의 상주 파일로부터 운영 체제를 부트스트랩할 수 있는 가능성을 제공하도록 활용될 수 있다. 이것은 특히 디스크 서브시스템 전체가 고장난 컴퓨터에 고장의 진단시에 유용하고, 디스크가 없는 워크스테이션 컴퓨터를 제조하는 데에도 활용할 수 있다. 본 발명의 배경 기술을 참조하여 상술한 바와 같이, 이 기능은 이전에 특정 네트워크 카드 전용의 "부트 ROM"이 있는 네트워크 카드를 설치함으로써 PC 호환 컴퓨터에 활용가능하였고, 추가적인 비용이 투입된다. 본 발명에 따르면, 원격 드라이브를 부팅하고 액세스하는 이 기능은 네트워크 확장 BIOS 600의 기능의 일반적인 목적이고, 예를 들어 ODI 또는 NDIS 드라이버 등의 표준 드라이버를 활용하는 네트워크 카드의 광범위한 범위에서 연산할 것이다.
로더 서비스 스레드 426은 관리 워크스테이션 200 응용 프로그램에 모듈 로더 630에 인터페이스를 제공한다. 관리 워크스테이션 200은 코드를 가지고 있는 모듈 로더 630에 메세지 및 RAM에서 로드되고 추가적인 비상주 네트워크 확장 BIOS 스레드로서 실행되는 데이타를 송신할 수 있다.
비동기 명령 스레드 427은 관리 워크스테이션 200에 네트워크 확장 BIOS 600에 비동기 명령, 예를 들어 BIOS 데이타의 전송 요구, 전용 진단 모드의 실행 또는 특정 재부팅 연산을 명령할 수 있는 인터페이스를 제공한다.
상술한 스레드 모두는 네트워크 확장 BIOS 600이 시동중일 때, 일반적으로 POST가 완전하게 될 때까지의 시간동안 죽 계속해서 실행된다. 상술한 바와 같이, 관리 워크스테이션 200으로부터 개입이 없고 POST 오류가 없는 경우에, POST가 성공적으로 완성된다는 것을 나타내는 경보가 431에 수신된다.
또한, 네트워크 확장 BIOS 600은 타이머 티크(tick) 인터럽트(80×86 마이크로프로세서 상의 인터럽트 08H)를 위한 그 자신의 인터럽트 처리기를 설치할 수 있다. 타이머 티크(tick) 인터럽트 벡터는 도 8에서 현재 실제 모드 코드 자체의 상태를 저장하고 네트워크 확장 BIOS 600으로 점프하도록 만드는 절차 구현 단계 860을 나타낸다. 이에 의해 네트워크 확장 BIOS 600은 정규 간격으로 CPU 제어를 연속적으로 얻을 수 있게 되고, MS-DOS 등의 어떤 실제 모드 운영 체제를 로드하고 실 행할 수 있다. BIOS 화면 표시 인터럽트 10H는 상술한 원격 콘솔 설비의 일부로서 처리기에 이미 입출력 지정되어 있고, 이 메카니즘은 장소(plane)에 남겨져 있다는 것을 주지한다. 따라서, CPU 제어는 부트스트랩 432를 패스한다.
로드되는 운영 체제가 보호 모드 운영 체제, 예를 들어 NetWare 또는 Windows-NT 이면, 프로세서를 보호되는 모드에서 스위치하고, 상술한 타이머 티크 및 화면 표시를 포함하고 있는 인터럽트 벡터를 재배치하고, CPU 110을 제어하고, 충돌 회복 기능을 제외할 것이므로, 네트워크 확장 BIOS는 기능을 멈추게 될 것이다.
어떤 보호되는 모드 메모리 매니저 없이 MS-DOS 등의 실제 모드 운영 체제가 로드되면, 네트워크 확장 BIOS 코드는 확장된 메모리에 잔류할 것이다. MS-DOS가 인터럽트 벡터를 재프로그램할 때, MS-DOS 인터럽트 핸들링 루틴이 먼저 실행되고, 그 다음에 MS-DOS의 부트스트랩하는 시간에 벡터를 지적하는 루틴을 개시하도록 존재하는 벡터를 연쇄시킨다. 이에 의해, 원격 콘솔 설비를 함유하고 있는 네트워크 확장 BIOS 600의 모든 기능이, 이러한 운영 체제가 실행될 때, 연속적으로 활용가능하다.
본 발명에서 기술한 상세한 설명을 토대로 하여, 당업자들에게는 커널 디스패쳐의 제어하에서 실행될 수 있는 추가적인 스레드는 POST 시간 또는 DOS 환경에 추가될 수 있다는 것이 명확할 것이다.
< 네트워크 프로토콜 층 >
BIOS 내에서 네트워크 인터페이스를 제공하는 바람직한 방법을 도 5를 참조 하여 설명할 것이다.
일반적으로 네트워크 지원은 소프트웨어 층(layer)으로 분할된다. 예를 들어, 세계 표준 기구에서는 네트워크 지원을 7층의 모델로 정의하였다. 분할층에서의 각 층은 자신의 "아래"층에 제공된 서비스를 사용하여도 되고, 자신의 "위"에 있는 층에 서비스를 제공한다.
네트워크 분할층 724는 소프트웨어 층의 아래에 있다. 네트워크 분할층 724의 아래에 있는 층은 네트워킹 하드웨어(네트워크 제어 인터페이스 725) 자체이다. 네트워크 분할층 724는 네트워크 프로토콜층 722에 서비스를 제공한다.
네트워크 프로토콜층 722 자체는, 하위(lower) 레벨 프로토콜이 상위(higher) 레벨이 운영 가능하도록 사용되는 층에서 논리적으로 파손된다. 예를 들어, 전송 보증 또는 전송 순차(예를 들어, 신뢰 불신 데이타그램 프로토콜 (Unreliable Datagram Protocol: UDP)- 도 6의 732) 없이 포켓 데이타를 전송하는 비연결 데이타그램 프로토콜은 순차적인 보증된 데이타 전송(예를 들어, 전송 제어 프로토콜(Transmission Control Protocol: TCP))을 지원하는 상위 레벨 프로토콜에 의해 사용된다. 본 발명의 바람직한 구현예는 비휘발성 RAM 공간을 보존하는 비연결 데이타그램 프로토콜만을 구현한다. UDP 732는 IP 층 733에서 IP 데이타그램 또는 포켓을 패스한다(도 6). IP 층 733의 기능은 네트워크 300의 위상 및 물리적인 특성을 투명하게 하는 것이다.
모형에서 최상층은, 프로토콜층 722에 제공된 네트워크를 통해 데이타를 전송하는 서비스를 사용하는 응용층 721이다.
< 네트워크 드라이버 층 >
네트워크 드라이버 층 724는 네트워크 프로토콜층 722와 네트워크 카드 하드웨어 725를 결합시킨다. 네트워크 드라이버 층 724는 표준 인터페이스 명세 (specification)에 따라서 구현되는 것이 바람직하다. 상술한 바와 같이, 다수개의 명세들 중에서 가능한 2개의 명세는 ODI와 NDIS 이다. 여기에서 상세하게 기술된 구현은 ODI 표준에 따라서 쓰여진 드라이버를 말한다. 당업자들에게는 그 외의 표준들, 예를 들어 NDIS 또는 UNIX 표준에 따라서 개발된 드라이버의 사용을 지원하거나 다중 표준조차도 지원하는 네트워크 확장 BIOS를 구현하는 것이 명확할 것이다.
네트워크 프로토콜 스택(stack)의 바람직한 구현예를 도 6을 참조하여 설명할 것이다. ODI 명세는 상층으로부터 네트워크 장치 드라이버 724를 분리하는 인터페이스를 정의한다. 링크-서포트층(Link-Support Layer: LSL) 734는 프로토콜 스택의 상층 및 네트워크 드라이버의 상층 모두에 부합도(registration) 및 완충기 할당 서비스를 제공한다. 네트워크 장치 드라이버의 구성성분은 공동적으로 다중 링크 인터페이스 드라이버(Multiple Link Interface Driver: MLID)로 인지되어 있다. 이 MLID 738은 자체가 3개의 구성성분, 즉 메디아-서포트 모듈(Media-Support Module: MSM) 735, 위상 전용 모듈(Topology-Specific Module: TSM) 736 및 하드웨어 전용 모듈(Hardware-Specific Module: HSM) 737로 분리될 수 있다. MSM 루틴(routine) 735는 모든 드라이버에 공통적이고, 네트워크 확장 BIOS에서 네트워크 드라이버 층 724의 인터페이스를 지원한다. TSM 루틴 736은 전용 네트워크 기술, 예를 들어 이더넷(Ethernet) 또는 토큰 링(Token Ring)용 드라이버에 공통적이다. HSM 루틴 737은 각 특정 NIC 170 전용이다. HSM 루틴 737은 NIC 설치, 전원 투입(power-up), 셧다운(shutdown), 리세트(reset), 포켓 수신(receipt)과 전송 및 타임아웃을 다루어야 한다.
네트워크 카드 드라이버를 용이하게 개발하기 위해서, 다수의 TSM 및 MSM 루틴에 공통적인 다수의 코드는 세 번째 집단의 개발자들에 의해 드라이버에 의해 사용될 수 있는 공통적으로 활용가능한 루틴 세트로 식별되고 배치되어 있다. 이 루틴들을 BIOS에 합치되고(incorporate) 운영 체제의 지원 없이도 실행하도록 포트화시켜도 된다. 또한, TSM 및 MSM 루틴은, 차례대로, HSM 드라이버 737에 의해 신뢰될 수 있다. 정의에 의해, ODI 컴플리언트(compliant) HSM 장치 드라이버를 ODI 전용 서비스로만 이용하여야 한다. 따라서, 이 TSM 및 MSM 서비스를 제공하는 네트워크 확장 BIOS 600은 운영 체제의 도움 없이도 ODI 컴플리언트 HSM 장치 드라이버를 지원하는 것이 가능할 것이다.
이미 상술한 바와 같이, 네트워크 확장 BIOS 600에서 TSM 및 MSM 루틴의 구현이 소형 다중 태스킹 커널의 추가에 의해 실행된다.
네트워크 확장 BIOS 600은 바람직하게 LSI 루틴, MSM 루틴 및 TSM 루틴을 구현하지만, 이 루틴들의 다수의 기능은 이 루틴들을 바람직하게 저장하는 비휘발성 RAM 125를 보존하기 위해서 제외될 수 있다. 이 방법에 있어서, 네트워크 확장 BIOS 600은 네트워크 인터페이스 카드 170에 운영 체제에 의해 제공되는 환경과 유사한 환경을 제공하고, 현존하는 표준-컴플리언트 장치 드라이버에 어떠한 변형 없이도 본 발명의 목적에 부합하는 기능을 갖는 것을 가능하게 한다. 이 루틴들의 최적의 최소 세트는 각기 다른 제조업자들로부터 활용가능한 다수개의 각기 다른 ODI 드라이버를 검사하고, 네트워크 확장 BIOS에 의해 지원될 것인 응용 레벨 서비스에 필요한 루틴을 설치함으로써 결정된다. 발명자들에 의해 일반적으로 이해될 수 있는 바와 같이, NE2000, Intel EtherExpress 및 3Com 90x의 수입(import) 기능의 바람직한 세트는 하기 표 1에 작성되어 있다.
Figure 111999011656223-pct00002
< 프로토콜층 >
응용 프로그램을 용이하게 개발하기 위해서, 네트워크 확장 BIOS 600은 각종 프로토콜층을 여러 개 구현하는 것이 바람직하다. 프로토콜의 2개의 패밀리 (families)는 바람직하게 구현된다. 이 2개의 패밀리는, 네트워크를 토대로 한 NetWareTM에 공통적으로 요구되는 하위 레벨 프로토콜을 가지고 있는 인터넷 패킷 교환/순차 패킷 교환(Internet Packet Exchange/Sequenced Packet Exchange (IPX/SPX)); 및 인터넷 제어 메세지 프로토콜(Internet Control Message Protocol: ICMP) 등의 지원 프로토콜을 가지고 있는 송신 제어 프로토콜/인터넷 프로토콜(Transmission Control Protocol/Internet Protocol: TCP/IP)) 프로토콜 패밀리이다. 그러나, 비휘발성 RAM이 액면 이상인 곳에서는, 구현의 여러 개 또는 이 기능 모두가 생략되어도 된다. 예를 들어, 이 네트워크 확장 BIOS 600은 패킷 전송을 보증하고 IPX 위에서 구현되는 SPX가 아닌 IPX를 구현하여도 된다.
< RPC 층 >
응용 프로그램의 개발을 보다 용이하게 하기 위해서, 원격 절차 호출(remote procedure call: RPC) 731(도 6)의 기능을 제공하는 프로토콜층을 구현하는 것이 바람직하다. 이것은, 예를 들어 Nelson B. J., Birrell A. D.에 의해 원격 절차 호출의 제공(Implementing Remote Procedure Calls), 컴퓨터 시스템에서 ACM 트랜잭션(ACM Transactions on Computer System); 2(1), 1984년 2월에 기술된 RPC의 기능이 목적이다. 도 7에 도시된 바와 같이, RPC 서버 751은 네트워크 확장 BIOS 600 내에 제공되고, RPC 클라이언트 752는 관리 워크스테이션(workstation) 200 응용 프로그램에 제공된다. 이것은 관리 워크스테이션 200의 응용 프로그램이 간단한 기능 호출 753, 즉 네트워크 300을 통해 하위 레벨 네트워크 프로토콜을 사용하는 754를 네트워크 확장 BIOS 600을 갖는 머신 400을 패스시키는 매개 변수를 포함하는 것을 가능하게 한다. 따라서, 이 RPC 기능은 상기 네트워크 확장 컴퓨터 400 상에서 서비스 루틴 755 및 관리 워크스테이션에서의 결과를 리턴하는(result returned) 756에 의해 실행된다. 클라이언트를 호출하는 절차 753 및 서버에 호출된 절차는 호출하는 스터브(stub) 또는 호출된 스터브(도시되지 않음) 각각과 접속될 수 있다. 이것은 응용 프로그램과 네트워크 확장 BIOS 600과의 상호 작용이 가능한 간단한 방법을 제공한다. 바람직하게, 네트워크 확장 컴퓨터 400은 이미 상슬한 바와 같은 메세지 인증 코드 프로토콜을 사용하는 RPC 요구를 인증한다.
또한, RPC 메카니즘은 확장 서비스를 구현하는 OEM 수단, 예를 들어 서버 관리 하드웨어로부터 데이타를 액세스하거나 제조 테스트 시간에서 진단 코드를 로딩하는 수단을 제공한다.
< 응용층 >
응용층 721은 관리가 원격으로 액세스되는 각종 응용 서비스를 포함하고 있다.
이들 응용 프로그램은 바람직하게 네트워크 300에서 로컬 키보드 140 및 비디오 표시 장치 130을 사용하는 대신에 네트워크를 통해 응용 프로그램의 제어가 가능한 화면 및 키보드의 입출력 지정을 포함하고 있다. 이로 인해, 원격 콘솔 (console) 설비, 예를 들어 원격 콘솔 설비가 BIOS 셋업(setup) 화면 또는 다른 BIOS 구성 방법을 사용하여 POST에 의해 보고된 메세지와 어떠한 오류를 관찰하고, BIOS에 의해 제어되는 매개 변수들을 조사하여 변화시키는 것이 가능한 다수개의 특징이 용이해질 것이다.
네트워크 300을 통한 화면 및 키보드의 입출력 지정은 스레드(thread) 423, 424(도 4) 및 상술한 RPC 메카니즘을 사용하여 달성될 수 있다. 키보드 입출력 지 정은 워크스테이션 200의 키 누름으로 갈무리하고, RPC 호출로 워크스테이션 200으로부터 컴퓨터 400까지의 키 누름에 대응하는 스캔(scan) 코드를 전송함으로써 달성될 수 있다. 따라서, 네트워크 확장 BIOS 600에 합치되는 서비스 스레드 423으로 로컬 키보드로부터 스캔 코드를 송신하는 효과를 모의실험하였다. 그 외의 방법들 중에서, 이 시뮬레이션은 전송된 스캔 코드를 키보드 제어회로 출력 완충기에 삽입하는 키보드 제어회로 145에 전용 명령을 송신함으로써 달성될 수 있다.
화면 입출력 지정은, 네트워크 확장 BIOS 600으로부터 워크스테이션 200까지 데이타 전송을 요구하지만, 상술한 RPC 메카니즘이 일반적으로 이 전송을 컴퓨터 400으로부터 개시할 수 없기 때문에, 보다 복잡하다. 그러므로, 워크스테이션 200의 응용 프로그램에 있어서, 호출은, 화면 데이타를 워크스테이션 200에 수신할 준비가 될 때까지 각 화면 입출력 지정 스레드의 실행을 차단하는 컴퓨터 400에서 BIOS 네트워크 인터페이스에 합치되는 서비스 루틴을 활동시키는 네트워크 300을 교차하는 요구를 전송하는 RPC 기능을 하게 된다. 상술한 바와 같이, 서비스들은 화면 데이타를 기다리면서 계속적으로 또 다른 연산이 가능하도록 바람직하게 다중스레스된다. 이 서비스 루틴은 BIOS 화면 표시 서비스 인터럽트(interrupt)를 후크(hook)함으로써 화면 데이타를 갈무리할 수 있고, 또는 화면에서 문자를 출력하는 BIOS 표시 코드에 직접적으로 연결될 수 있다. 화면 데이타의 사용이 가능할 때, 화면 데이타는 메모리의 완충기 내에 배치되고, 이로 인해 RPC 서버의 서비스 스레드가 차단되지 않는다. 화면 데이타를 포함하고 있는 네트워크 패킷이 송신된다. 이로 인해, RPC 클라이언트 스레드는 차단되지 않고, 이 화면 데이타는 원 (original) 기능 호출의 결과로서 관리 워크스테이션 응용 프로그램에 리턴된다.
바람직한 적층 구조, 특히 RPC 기능을 활용하는 그 외의 가능한 응용 프로그램은, 네트워크를 사용하여 테스트를 명령하고 워크스테이션 200 상의 결과를 관찰함으로써 네트워크 확장 컴퓨터 400을 테스트하는 것이 가능한 진단 루틴을 포함하고 있다.
바람직한 적층 구조를 활용할 수 있는 그 외의 응용도 당업자들에게는 명확할 것이다.
< 2진 호환 >
일반적으로 네트워크 어댑터(adapter) 제조업자들은 각 네트워크 어댑터에 운영 체제 전용 장치 드라이버를 포함하고 있는 화일을 공급한다. 이러한 운영 체제를 위해 개발된 네트워크 드라이버를 사용하기 위해서, 네트워크 확장 BIOS 600은 드라이버 화일에 포함된 2진 화상을 이용해야 한다. ODI 표준에서, 드라이버 화상은 NetWare Loadable Module(NLM) 화일 형식(format)이다. ODI 표준을 공급하는 네트워크 어댑터 제조업자들에 의해 공급된 드라이버는 ODI 명세의 HSM 부분을 구현한다. 이 로딩 처리는 이 형식을 변환하고, 비휘발성 메모리에 드라이버를 로딩하여야 한다. 이 로딩 처리에서, 외부 루틴에서 장치 드라이버 기준 및 드라이버의 엔트리 포인트(entry point)를 처리할 필요가 있다. NLM 형식은 가지고 있는 코드의 연산을 지원하는데 필요한 외부 루틴에 대한 정보를 가지고 있다. 이것은 외부 루틴이 호출되어야 하는 번지의 표의 형태, 및 외부 루틴의 이름으로서 합치될 수 있는 대응하는 기준이다. 로딩 처리 동안에, 필요한 루틴은 메모리에 위치되고, 이 들 외부 루틴의 기준에 필요한 NLM 코드에서의 자리는 변형된다. 이 처리는 당업자들에게는 통상적으로 "링킹(linking)"으로 명명되어 익숙할 것이다.
본 발명의 한 구현예에 있어서, 이용(utility)을 토대로 한 분리 운영 체제는 NIC 제조업자들의 공급된 드라이버 화일을 판독하고, 드라이버에서 외부 기호(symbol)에서의 기준을 리졸브하며(resolve), 비휘발성 메모리에 로드되는 2진 화일을 출력한다. 본 발명의 다른 구현예에 있어서, 드라이버 화일은 BIOS 코드에 의해 비휘발성 메모리에 직접적으로 로드될 것이다. 네트워크 확장 BIOS 600은 드라이버 화일 내의 외부 기준을 시스템 개시에 리졸브한다. 상술한 바와 같이, 제조업자들의 장치 드라이버에 의해 기준된 외부 루틴은 네트워크 확장 BIOS 내에서 구현되어, 운영 체제를 액세스할 필요가 없게 된다.
실제적인 드라이버 코드 및 데이타에 부가하여, 드라이버 2진 화일은 여러 개의 표를 포함하고 있고, 이것은 다음과 같다:
· 각종 표의 위치 및 자연(nature)을 기술하는 화일 헤더(header);
· 드라이버 코드 섹션(section)의 화상;
· 드라이버 데이타 섹션의 화상;
· 또 다른 모듈(수입 표)에 의해 제공되어야 하는 기호의 이름 및 사용 위치;
· 드라이버가 제공하고 또 다른 모듈에 의해 사용될 수 있는 기호의 이름 및 위치;
· 드라이버가 로드되는 최종 번지를 토대로 하여, 드라이버 코드 및 데이타 화상을 고정시킬 수 있는 표; 이 표는 일반적으로 "픽스-업(fix-up)"이라 명명한다.
드라이버 로딩 코드(네트워크 확장 BIOS 600의 일부 또는 유틸리티를 토대로 한 분리 운영 체제 중의 하나)는 이들 표에서의 정보를 사용하여, 또 다른 모듈에서 기준을 리졸브하고 최종 로딩 번지를 토대로 하여 드라이버 화상을 고정시킨다.
< NIC 대신에 모뎀에 의한 운영 >
상술한 바와 같이, NIC를 사용하는 네트워크 연결이 불가능한 곳에서, 대체 방법으로서 모뎀 연결을 이용하는 것이 바람직할 수 있다. 이에 의해, 바람직하게 ODI 명세의 MLID 부분을 구현하는 소프트웨어 모듈을 만듦으로써 달성되지만, 컴퓨터 175의 직렬 인터페이스를 통해서 및 그에 의한 원격 컴퓨터에서 외부 모뎀 180을 통해 데이타를 송수신하기에 적합하다(도 2). 또 다른 방법으로, 내장 모뎀 190이 이용될 수 있다. 이 소프트웨어 모듈은 비휘발성 메모리에서 HSM의 대체로서 상술한 방법에 의해 연결되고 설치된다.
또 다른 구현에 있어서, 모뎀 지원을 위한 소프트웨어 모듈은 프로토콜 스택의 UDP층과 동일한 API를 제공하기에 바람직하게 설계된다. 이 경우에, 프로토콜 스택의 UDP 및 모든 하부층은 컴퓨터의 비휘발성 저장으로부터 제외될 수 있다.
< 운영 체제의 고장 검출 및 취급 >
운영 체제 901(도 9)의 고장은 인지된 다수의 기술 또는 후술할 신규한 감시장치(watchdog) 메카니즘을 통해서 검출될 수 있다.
운영 체제의 다수의 고장은 제어된 고장 모드로 인해 일어나고, 운영 체제는 그 자체가 고장을 검출하고 오류 루틴을 실행한다. 운영 체제 코드 또는 문서화는 이러한 오류 루틴의 실행의 경로를 결정하도록 시험될 수 있다. 시스템 레벨 특권이 있는 장치 드라이버의 사용으로, 메모리를 보유할 목적이 있는 네트워크 확장 BIOS 600의 부분에 제어를 전송하게 하는 오류 루틴을 변형시키는 것이 가능하다. 또한, 이 네트워크 확장 BIOS는 바람직하게 응용 프로그램 인터페이스(API) 또는 제어된 고장 모두를 실행할 때 번지에서 운영 체제를 위한 간단한 오류 루틴 엔트리 포인트를 제공한다. 이것은, 외부 코드에서 오류 처리기 루틴을 직접화시키도록 운영 체제의 명령에 사용될 수 있는 API와 운영 체제를 합치는 경우에 유용하다.
운영 체제 고장을 검출하는 또 다른 기술은 감시장치 타이머 수단의 사용을 포함하고 있다. 감시장치 타이머 수단의 한 예는 운영 체제 제어하에서 실행하는 프로그램과 연관하여 연산하는 Burckhartt 특허에 기술되어 있다. 이 운영 체제는 주기적으로 보통의 연산 동안에 타이머의 운영을 재개시한다(retrigger). Burckhartt 특허에서 기술된 타이머의 시간 주기가 타이머를 재개시하는 프로그램 없이 완료된다면, 운영 체제에 고장이 일어나리라고 예측된다. 이 타이머의 출력은 직접 또는 간접적으로 프로세서의 리세트 핀에 접속되고, 시스템이 리세트된다. 이에 의해, 고장을 일으키는 유용한 정보가 수집되는 것이 방지된다.
이제, 도 9를 참조하여, 본 발명의 바람직한 감시장치 타이머 메카니즘(하기에서 기술할 것임)으로 이들 제한을 극복하고, 네트워크 확장 BIOS을 사용하는 것이 바람직하며, 네트워크 확장 BIOS의 데이타 전송 방법이 활용될 수 있다. 고장 진단에 관한 유용한 정보를 갈무리하여, 고장 기계로부터 원격 시스템 매니저에 송 신할 수 있다. 이에 의해, 감시장치 메카니즘이 기계에 즉시 리세트되지 않지만 대신에 일정한 예비 데이타 수집 연산이 먼저 장소에 있게 된다는 것이 종래 기술과 다른 점이다. 마이크로프로세서의 시스템 관리 모드(system management mode: SMM)를 활용한다. 데이타 수집 루틴 920은 시스템 관리 RAM(SMRAM) 121(도 2)에서 네트워크 확장 BIOS에 의해 설치된다. 이 데이타 수집 루틴 920은 상술한 다수의 어떤 단계 동안, 예를 들어 도 8의 커널 설치 단계 820 동안에 설치될 수 있다. SMRAM 121은 시스템 관리 인터럽트(SMI)가 발생되고 서비스될 때에 액세스만이 가능하다. SMM, SMRAM 및 SMI는 인텔사로부터 유효한 마이크로프로세서 매뉴얼(manual)에 기술되어 있다. SMI는 칩세트 123의 외부 SMI 핀에 접속된 외부 타이머 122(도 2)에 의해 발생될 수 있다. 칩세트 123은, 이 신호가 마이크로프로세서 SMI 핀의 내무 및 외부를 통과하기 전에, 논리 OR 함수(도시되지 않음)를 사용한 것과 SMI의 내부 소스를 결합시킨다.
또한, 칩세트는 전력 관리를 의도하는 내부 타이머 또는 주기적 SMI의 소스로서 프로그램될 수 있는 공간 타이머를 가지고 있어도 된다. 이러한 내부 타이머를 사용하는 구현은, 추가적인 하드웨어가 제공될 필요가 없으므로, 바람직하다. 이 타이머는 프로그램된 간격에서 SMI를 발생시킨다(905). 각 타이머 이벤트( event)에서, SMRAM에 저장된 사상(event) 계수가 증분된다(901). 사상 계수가 소정치를 판독하면(915), 운영 체제는 충돌하고, 데이타 수집을 개시한다. 사상 계수가 소정치에 이르지 않으면, SMI 서비스 루틴은 빠져나간다(935). 운영 체제하에서 실행하는 프로그램(901)의 제어 작업은 게계수가정치에 이르는 것을 방지하기 위해서 계수를 주기적으로 감소시키거나 제로가 되게 한다(902).
감시장치 기능의 상세한 구현은 하드웨어 플랫폼(platform)이 표시됨에 따라서 변화할 필요가 있을 것이다. 그 외의 등가 구현도 가능하고, 이에 의해 다른 형태로 계수가 다루어진다.
SMRAM에서 감시장치 메카니즘의 상세한 구현에 상관없이 동일한 운영 체제를 실행시키는 어떠한 기계 상에서 감시장치 프로그램을 리세트 시키는 동일한 프로그램을 실행할 수 있는 것이 바람직하다. 그러므로, 종래의 BIOS 500은 바람직하게 감시가능하고, 감시 불가능하며, 타임아웃 주기를 설정하고, SMI 이벤트의 연속적인 계수를 리세트하도록 API를 제공한다. 이 API는, 여기에 참조문헌으로서 소개되는 Phoenix Technologies에 의해 발간된(1993. 5. 24) 표준 BIOS 32-비트 서비스 프로토콜, Rev. 0.4에 기술된 바와 같이 BIOS 32-비트 서비스 디렉토리를 통해 액세스되는 서비스로서 바람직하게 구현된다. 운영 체제 제어하에서 실행하는 프로그램은 장치 드라이버를 BIOS 32-비트 서비스를 액세스하기 위해서 커널 액세스 라이트로 이용할 수 있다.
운영 체제 충돌이 이 바람직한 감시장치 타이머 방법에 의해 검출될 때, 각종 단계 920은 연속적인 진단을 위한 충돌 상태에 대한 정보를 보존할 수 있다. 종종 코어 덤프(core dump)로서 알려진 디스크 기억 매체의 저장 영역에서 컴퓨터 메모리의 일부 또는 모두를 복사하고, 화면 메모리 및 비디오 제어기 레지스터의 조건을 보존하므로, 이에 의해 오류 루틴에서 운영 체제에 의해 표시되는 어떠한 정보를 진단할 수 있는 것을 예로 들 수 있다. 또한, 수집하기에 유용할 수 있는 데 이타는 당업자들에게는 명확할 것이다.
결국 이러한 보전 단계 후에, 시스템이 리세트될(930) 수 있는 증거가 만들어진다. 이 리세트는 CMOS 메모리에 저장되는 전용 셧다운 코드 또는 그 외의 등가 수단을, 충돌 결과 리세트가 되는 POST에 앞서서 종래 BIOS에 교신하도록 사용한다. 이 사실로부터 콘솔 상에 표시될 수 있고, 네트워크 확장 BIOS가 상기와 같이 구성된다면 이러한 충돌의 결과로서 자동적으로 전용 진단 모드를 실행할 수 있다. 충돌에 대한 최적의 일부 정보의 사실을 전달하는 SNMP 경고는 네트워크 300을 통해 다른 컴퓨터에 수신될 수 있다. 따라서, 컴퓨터의 운영 체제의 재로드를 시도하기 전에, 컴퓨터로부터 원격 시스템 관리는 네트워크 확장 BIOS의 전송 메카니즘을 활용하는 응용을 사용하는 컴퓨터에 진단 정보를 전송하는 옵션을 가지고 있다.
< 특수 진단 상태 >
상술한 바와 같이, BIOS는 바람직하게 특수 진단 상태를 포함하고 있고, 이에 의해 운영 체제의 로딩은 금지되고, 컴퓨터는 도 4의 운영 체제 414를 로딩하기 전에 초기화되는 또 다른 중재를 기다린다. 이로 인해 시스템을 재부팅시키는 오류 진단이 가능하다. 이 원격 콘솔 설비를 컴퓨터가 이 특수 진단 상태에 있게 하여 사용할 수 있다. 이것을 상술한 바와 같은 원격 절차 호출을 사용하여 구현할 수 있다. 또한, 네트워크 확장 BIOS는, 일정한 고장 조건이 컴퓨터에 발생하면 특수 진단 상태가 자동적으로 실행갈 수 있도록 구성된다.
원격 워크스테이션 200 상의 원격 콘솔은 네트워크 확장 컴퓨터 400과 연관시켜 다수의 유용한 기능을 실행하도록 프로그램될 수 있고, 네트워크 확장 컴퓨터 400은 특수 진단 상태, 예를 들어 네트워크 확장 컴퓨터 400으로 POST 루틴을 리세트하고 재실행하게 하는 요인; 네트워크 확장 컴퓨터 400 상에서 하드 디스크 160으로부터 데이타를 판독하고 네트워크 300을 통해 원격 콘솔에 데이타를 전송하게 하는 요인; 네트워크 확장 컴퓨터 400이 되는 원격 워크스테이션 200으로부터 네트워크 300을 통해 데이타를 전송하고 네트워크 확장 컴퓨터 400 상의 하드 디스크 저장 160에 데이타를 기록하게 하는 요인이다. 원격 콘솔은 CMOS 셋팅, DMI, ESCD 및 BIOS 오류 로그 등의 BIOS에 보관되는 데이타를 네트워크 300을 통해 원격 워크스테이션 200에 전송하거나 원격 워크스테이션으로부터 전송하고 네트워크 확장 컴퓨터 400에서 적당한 저장 장치에서 변형하는 요인이 될 수 있다.
또한, BIOS는 서버 100 등의 다른 컴퓨터로부터 다운로드되는 BIOS의 통상적인 기능의 일부를 허용하도록 BIOS 자체의 일부를 원격으로 로딩하는 절차, 예를 들어 네트워크 300에서 BIOS 코드를 저장하기 위해서 컴퓨터 상에서 요구되는 비휘발성 저장량을 줄이는 절차를 포함할 수 있다. BIOS의 통상적인 기능의 필수 부분, 예를 들어 POST 코드가 두 번째 컴퓨터 100으로부터 다운로드되어야 하는 곳에서, 컴퓨터 400은 네트워크 300과의 적당한 접속 없이는 자신의 기능을 가지고 있지 않을 것이다. 네트워크 접속이 바람직하게 부호화되므로, 컴퓨터를 도난 당하거나 네트워크와의 접속이 끊기는 경우에는, 더 이상 POST의 실행을 완전하게 하지 않을 것이고, 이에 의해 컴퓨터는 무용지물이 될 것이라는 것을 확신한다. 이것은 절도로부터 상당한 방어물로서 작용할 것이다.
부가적으로, 원격 콘솔은 네트워크 300을 통해 데이타를 전송하게 하고, 종래 BIOS 및 네트워크 확장 BIOS를 지지하는 데에 사용하는 비휘발성 메모리 장치 125로 데이타를 기록하게 하고, 따라서 첫 번째 컴퓨터가 다시 리세트될 때 신규한 버전 또는 구성이 사용되도록 상기 BIOS의 일부를 업데이트한다.
본 발명이 본 발명의 범위를 벗어나지 않는 범위 내에서 각종 변형이 명확하고, 용이하게 실시될 수 있다는 것이 당업자들에게는 이해될 수 있다. 예를 들어, 도 1의 콜아웃 400에 도시된 바와 같이 데스크탑 컴퓨터가 되는 네트워크 확장 컴퓨터를 참조하여 설명하였지만. 도 1의 콜아웃 100에 도시된 바와 같이, 서버가 될 수도 있다. 따라서, 본 발명의 특허청구범위는 상술한 기술로서만 한정되지 않고, 오히려 본 발명은 당업자들에 의해 동등하게 처리되는 모든 특징 및 특허성 있는 신규성을 포함하고 있다고 추론된다.

Claims (70)

  1. 중앙처리장치(CPU), 및 컴퓨터를 네트워크에 결합한 네트워크 인터페이스를 포함하는 컴퓨터를 운영하는 방법에 있어서,
    CPU 시스템 시동에서 상기 CPU에 시동 소프트웨어를 자동으로 실행하는 단계;
    상기 시동 소프트웨어의 적어도 제 1 부분의 완성으로 상기 CPU에서 네트워크 확장 소프트웨어를 로드하고 실행하는 단계로서, 상기 네트워크 확장 소프트웨어는 상기 네트워크 인터페이스를 경유하여 상기 컴퓨터 네트워크에 결합된 워크스테이션과 통신하기 위한 프로토콜을 지원하고;
    상기 네트워크 확장 소프트웨어의 상기 로딩 후 상기 CPU에서 운영체제 소프트웨어를 로드하고 실행하는 단계로서, 상기 운영체제 소프트웨어는 상기 CPU에서 실행하는 이용자급 응용 소프트웨어 프로그램에 의하여 액세스될 수 있는 것을 특징으로 하는 컴퓨터 운영 방법.
  2. 제 1항에 있어서, 상기 네트워크 인터페이스는 네트워크 인터페이스 카드(NIC)를 포함하고, 그리고 상기 네트워크와 통신하는 상기 프로토콜은 상기 NIC를 위한 드라이버를 지원하는 네트워크 프로토콜 스택을 포함하는 것을 특징으로 하는 컴퓨터 운영 방법.
  3. 제 2항에 있어서, 상기 네트워크 프로토콜 스택은 적어도 ODI 명세의 부집합에 따르는 네트워크 드라이버 층을 지원하는 것을 특징으로 하는 컴퓨터 운영 방법.
  4. 제 2항에 있어서, 상기 네트워크 프로토콜 스택은 적어도 NDIS 명세의 부집합에 따르는 네트워크 드라이버 층을 지원하는 것을 특징으로 하는 컴퓨터 운영 방법.
  5. 제 1항에 있어서, 상기 네트워크 인터페이스는 상기 CPU를 통하여 결합된 모뎀을 포함하고 그리고 상기 네트워크와 통신하는 상기 프로토콜은 상기 네트워크에 모뎀 인터페이스를 지원하는 것을 특징으로 하는 컴퓨터 운영 방법.
  6. 제 1항에 있어서, 프로그램 세그먼트에 의해 상기 네트워크에 결합된 워크스테이션에 상기 네트워크 인터페이스를 경유하여 CPU 시스템 시동의 통지를 보내는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 운영 방법.
  7. 제 6항에 있어서, 상기 네트워크 인터페이스는 NIC를 포함하고 그리고 상기 통지는 상기 네트워크를 경유하여 SNMP 경보 메세지를 보내는 단계를 포함하는 것을 특징으로 하는 컴퓨터 운영 방법.
  8. 제 7항에 있어서, 상기 SNMP 경보 메세지는 상기 CPU 시스템 리세트의 원인 의 식별을 더 포함하는 것을 특징으로 하는 컴퓨터 운영 방법.
  9. 제 6항에 있어서, 상기 네트워크 인터페이스는 NIC를 포함하고, 상기 운영 방법은 상기 운영 체제가 로드되었음을 지시하는 SNMP 경보 메세지를 보내는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 운영 방법.
  10. 제 1항에 있어서, 상기 운영 체제 소프트웨어는 상기 네트워크 확장 소프트웨어에 의한 설정 없이는 상기 네트워크에 부착된 원격 워크스테이션과의 네트워크 접속을 실행하지 않는 것을 특징으로 하는 컴퓨터 운영 방법.
  11. 제 10항에 있어서, 상기 네트워크를 경유하여 상기 원격 워크스테이션으로부터 상기 시동 소프트웨어의 제 2 부분을 다운로드 받는 단계를 더 포함하고, 상기 시동 소프트웨어의 제 2 부분이 다운로드되고 실행이 되어야 상기 운영 소프트웨어가 실행되는 것을 특징으로 하는 컴퓨터 운영 방법.
  12. 제 1항에 있어서, 상기 네트워크 확장 소프트웨어는 상기 CPU에서 복수개의 소프트웨어 스레드를 다중태스킹하는 것을 특징으로 하는 컴퓨터 운영 방법.
  13. 제 12항에 있어서, 상기 CPU는 실제 모드 및 보호 모드를 포함하는 적어도 두 모드에서 운영되고, 상기 네트워크 확장 소프트웨어는 상기 CPU의 상기 보호 모드에서 상기 복수개의 소프트웨어 스레드를 실행하는 것을 특징으로 하는 컴퓨터 운영 방법.
  14. 제 13항에 있어서, 상기 시동 소프트웨어는 상기 CPU의 실제 모드에서 실행하는 것을 특징으로 하는 컴퓨터 운영 방법.
  15. 제 14항에 있어서, 상기 CPU가 상기 네트워크 확장 소프트웨어의 실행을 시작한 후 상기 시동 소프트웨어의 제 2 부분을 실행하는 단계를 더 포함하고, 상기 시동 소프트웨어 및 상기 네트워크 확장 소프트웨어는 상기 CPU가 상기 네트워크 확장 소프트웨어의 실행을 시작한 후에 상기 CPU의 제어를 공유하는 것을 특징으로 하는 컴퓨터 운영 방법.
  16. 제 15항에 있어서, 상기 네트워크 확장 소프트웨어는 상기 CPU의 실제 모드 및 보호 모드의 교환을 제어하는 것을 특징으로 하는 컴퓨터 운영 방법.
  17. 제 1항에 있어서, 상기 네트워크 확장 소프트웨어는 상기 컴퓨터 네트워크에 결합된 원격 워크스테이션이 상기 컴퓨터를 액세스하도록 허용하는 것을 특징으로 하는 컴퓨터 운영 방법.
  18. 제 17항에 있어서, 상기 네트워크 확장 소프트웨어 안에 있는 다중태스킹 스레드는 상기 원격 워크스테이션이 상기 CPU를 제어하도록 허용하는 것을 특징으로 하는 컴퓨터 운영 방법.
  19. 제 17항에 있어서, 상기 네트워크 확장 소프트웨어는 상기 컴퓨터의 비디오 조정기로의 정상적 출력을 상기 네트워크 인터페이스를 경유하여 상기 원격 워크스테이션으로 인도하는 것을 특징으로 하는 컴퓨터 운영 방법.
  20. 제 18항에 있어서, 원격 워크스테이션에서부터 상기 컴퓨터의 상기 CPU에서 실행하는 RPC 서버 루틴까지 RPC(remote procedure call; 원격 절차 호출)를 발생시키는 단계를 포함하고, 상기 RPC 서버 루틴은 상기 RPC의 결과로서 상기 원격 워크스테이션에 되돌아오는데 데이타가 유용할 때까지 자신의 실행을 막는 것을 특징으로 하는 컴퓨터 운영 방법.
  21. 제 17항에 있어서, 상기 네트워크 확장 소프트웨어는 상기 원격 워크스테이션이 상기 컴퓨터에 부착된 키보드에 삽입된 키스트로크의 효과를 흉내낸 (simulating) 메세지를 입력하는 것을 허용하는 것을 특징으로 하는 컴퓨터 운영 방법.
  22. 제 21항에 있어서, 상기 메세지는 상기 컴퓨터의 상기 CPU에서 실행하는 RPC 서버에 의하여 수신되고, 상기 RPC 서버는 상기 컴퓨터에 결합된 키보드 조정기에 상기 메세지를 삽입하는 것을 특징으로 하는 컴퓨터 운영 방법.
  23. 제 17항에 있어서, 상시 원격 워크스테이션은 상기 CPU에서 실행하는 상기 시동 소프트웨어에 의하여 보고되는 메세지 및 시스템 오류를 표시하는 것을 특징으로 하는 컴퓨터 운영 방법.
  24. 제 1항에 있어서, 상기 컴퓨터가 예정된 오류상태에서 진단 상태로 자동으로 들어가는 단계를 더 포함하고, 상기 진단 상태는 상기 운영 체제 소프트웨어의 로딩을 막는 것을 특징으로 하는 컴퓨터 운영 방법.
  25. 제 17항에 있어서, 상기 컴퓨터가 진단 상태로 들어가고 그에 따라 상기 운영 체제 소프트웨어가 로드되지 않는 단계를 더 포함하고, 상기 방법은 상기 컴퓨터 네트워크를 경유하여 상기 원격 워크스테이션으로부터 상기 컴퓨터에 추가의 소프트웨어 프로그램을 다운로드하는 단계를 더 포함하고, 상기 추가의 소프트웨어 프로그램은 상기 CPU에서 실행되는 것을 특징으로 하는 컴퓨터 운영 방법.
  26. 제 17항에 있어서, 상기 원격 워크스테이션은 상기 CPU에서 실행하는 상기 시동 소프트웨어 안에서 POST 루틴을 제어하는 단계를 더 수행하는 것을 특징으로 하는 컴퓨터 운영 방법.
  27. 제 17항에 있어서, 상기 원격 워크스테이션은 상기 운영 체제가 로딩하는 것을 막는 진단 상태로 상기 컴퓨터를 강제할 수 있고,
    상기 네트워크 확장 소프트웨어는 상기 원격 워크스테이션과 더 통신할 수 있는 것을 특징으로 하는 컴퓨터 운영 방법.
  28. 제 17항에 있어서, 상기 원격 워크스테이션은 데이타가 상기 CPU에 국소적으로 결합된 직접 접근 저장 장치로 부터 읽혀질 수 있도록 하는 단계를 더 포함하고, 상기 데이타는 상기 컴퓨터로부터 상기 원격 워크스테이션으로 전송되는 것을 특징으로 하는 컴퓨터 운영 방법.
  29. 제 17항에 있어서, 상기 원격 워크스테이션은 데이타를 상기 컴퓨터에 전송하는 단계를 더 포함하고, 상기 데이타는 상기 CPU에 국소적으로 결합된 직접 접근 저장 장치로 쓰여지는 것을 특징으로 하는 컴퓨터 운영 방법.
  30. 제 1항에 있어서, 상기 원격 워크스테이션으로부터 상기 시동 소프트웨어 또는 상기 네트워크 확장 소프트웨어를 상기 컴퓨터 부분에 다운로드하는 단계를 더 포함하고,
    상기 시동 소프트웨어 또는 상기 네트워크 확장 소프트웨어는 시스템 시동의 다음 실현값(occurence)에서 실행되는 것을 특징으로 하는 컴퓨터 운영 방법.
  31. 제 1항에 있어서, 상기 컴퓨터에서 RPC 서버를 실현하는 단계를 더 포함하 고, 상기 네트워크에 결합된 상기 워크스테이션에서 실행하는 RPC 클라이언트는 상기 컴퓨터에서 RPC를 실행할 수 있는 것을 특징으로 하는 컴퓨터 운영 방법.
  32. 제 1항에 있어서, 상기 시동 소프트웨어는 상기 시동 소프트웨어의 상기 제 1 부분의 일부로서 초기 POST 부분, 및 POST의 잔부를 포함하고, 상기 방법은:
    상기 네트워크 확장 소프트웨어의 상기 CPU의 로딩에 앞서 상기 초기 POST를 실행하는 단계; 및
    상기 네트워크 확장 소프트웨어의 로딩 후 상기 POST의 잔부를 실행하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 운영 방법.
  33. 제 1항에 있어서, 상기 네트워크 확장 소프트웨어가 상기 네트워크로부터 수신한 소정의 메세지를 인증하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 운영 방법.
  34. 제 33항에 있어서, 상기 메세지 인증은 비밀키를 이용하여 수행되는 것을 특징으로 하는 컴퓨터 운영 방법.
  35. 제 1항에 있어서, 상기 CPU는 보호 모드를 포함하는 적어도 두개의 모드에서 동작하고, 상기 방법은:
    상기 보호 모드에서 상기 네트워크 확장 소프트웨어 및 상기 운영 체제 소프트웨어를 실행하는 단계; 및
    상기 네트워크 확장 소프트웨어의 실행을 상기 운영 체제 소프트웨어의 로딩에서 종결짓는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 운영 방법.
  36. 제 1항에 있어서, 상기 운영 체제 소프트웨어의 로딩 후에 메모리에서 상기 네트워크 확장 소프트웨어의 부분을 보유하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 운영 방법.
  37. 실제 모드 및 보호 모드를 포함하는 적어도 두 모드에서 동작하는 CPU 및 네트워크에 컴퓨터를 결합한 네트워크 인터페이스를 포함하는 컴퓨터의 운영 방법에 있어서,
    실제 모드에서 상기 CPU에 제 1 BIOS를 실행하는 단계로서, 상기 제 1 BIOS는 상기 컴퓨터의 POST를 수행하는 단계;
    상기 제 1 BIOS 부분의 실행 후에 보호 모드에서 상기 CPU에 제 2 BIOS를 실행하는 단계로서, 상기 제 2 BIOS는 네트워크 프로토콜 스택을 지원하고; 그리고
    상기 제 2 BIOS 부분의 실행 후에 보호 모드에서 상기 CPU에 운영 체제를 실행하는 단계로서, 상기 운영 체제 소프트웨어는 상기 CPU에서 실행하는 이용자급 응용 소프트웨어 프로그램을 지원하는 것을 특징으로 하는 컴퓨터 운영 방법.
  38. 컴퓨터 네트워크에 결합된 워크스테이션과 통신할 수 있는 네트워크 확장 컴퓨터에 있어서,
    CPU;
    상기 CPU에 결합되고 상기 컴퓨터 네트워크에 상기 컴퓨터를 결합시키는 네트워크 인터페이스; 및
    상기 CPU에 결합된 비휘발성 메모리; 를 포함하며,
    상기 CPU는 CPU 시스템 시동에서 시동 소프트웨어 프로그램을 자동으로 실행하고, 상기 시동 소프트웨어의 적어도 제 1 부분이 상기 비휘발성 메모리에 저장되며,
    상기 CPU에서 네트워크 확장 소프트웨어는 상기 시동 소프트웨어의 상기 적어도 제 1 부분의 종료로 실행되고, 상기 네트워크 인터페이스를 경유하여 상기 컴퓨터 네트워크에 결합된 상기 워크스테이션과 통신하기 위한 프로토콜을 지원하며,
    상기 CPU에서 운영 체제 소프트웨어는 실행되고, 이용자급 응용 소프트웨어 프로그램에 의하여 접근 가능하고, 상기 네트워크 확장 소프트웨어의 로딩 후에 상기 CPU에 로딩되는 것을 특징으로 하는 네트워크 확장 컴퓨터.
  39. 제 38항에 있어서, 상기 네트워크 인터페이스는 상기 CPU에 의하여 접근 가능한 장치 드라이버 프로그램을 포함하는 NIC이고, 상기 네트워크와 통신하기 위한 상기 프로토콜은 상기 장치 드라이버 프로그램에 접속된(interfacing) 네트워크 프로토콜 스택을 포함하는 것을 특징으로 하는 네트워크 확장 컴퓨터.
  40. 제 39항에 있어서, 상기 장치 드라이버 프로그램은 실질적으로 ODI 드라이버 명세에 따르고, 상기 네트워크 프로토콜 스택은 적어도 상기 장치 드라이버 프로그램에 접속된 ODI 링크 지원 층 프로토콜의 부집합을 제공하는 것을 특징으로 하는 네트워크 확장 컴퓨터.
  41. 제 39항에 있어서, 장치 드라이버 프로그램은 실질적으로 NDIS 드라이버 명세에 따르고, 상기 네트워크 프로토콜 스택은 적어도 상기 장치 드라이버 프로그램에 접속된 NDIS 프로토콜의 제 2 부집합을 제공하는 것을 특징으로 하는 네트워크 확장 컴퓨터.
  42. 제 38항에 있어서, 상기 네트워크 인터페이스는 상기 CPU와 결합된 모뎀이고 그리고 상기 네트워크와 통신하기 위한 상기 프로토콜은 상기 네트워크에 모뎀 인터페이스를 지원하는 것을 특징으로 하는 네트워크 확장 컴퓨터.
  43. 제 38항에 있어서, 상기 네트워크에 결합된 워크스테이션에 상기 네트워크 인터페이스를 경유하여 CPU 시스템 시동의 통지를 보내기 위한 프로그램 세그먼트를 더 포함하고, 상기 통지는 상기 운영 체제 소프트웨어의 실행에 앞서서 보내지는 것을 특징으로 하는 네트워크 확장 컴퓨터.
  44. 제 43항에 있어서, 상기 네트워크 인터페이스는 NIC이고 그리고 상기 통지는 SNMP 경보 메세지를 포함하는 것을 특징으로 하는 네트워크 확장 컴퓨터.
  45. 제 38항에 있어서, 상기 네트워크에 부착된 원격 워크스테이션과 접속된 네트워크의 상기 네트워크 확장 소프트웨어에 의한 설정에 앞서 상기 운영 체제 소프트웨어의 실행을 막기 위한 수단을 더 포함하는 것을 특징으로 하는 네트워크 확장 컴퓨터.
  46. 제 38항에 있어서, 상기 네트워크를 경유하여 상기 원격 워크스테이션으로부터 상기 시동 소프트웨어의 제 2 부분을 다운로드 받기 위한 수단을 포함하고, 상기 운영 소프트웨어는 상기 시동 소프트웨어의 제 2 부분이 다운로드될 때까지 실행하지 않는 것을 특징으로 하는 네트워크 확장 컴퓨터.
  47. 제 38항에 있어서, 상기 네트워크 확장 소프트웨어는
    다중태스킹 커널; 및
    상기 CPU에서 상기 다중태스킹 커널 안에서 실행하는 복수개의 소프트웨어 스레드를 포함하는 것을 특징으로 하는 네트워크 확장 컴퓨터.
  48. 제 47항에 있어서, 상기 CPU는 실제 모드 및 보호 모드를 포함하는 적어도 두 모드에서 운용되고, 상기 다중태스킹 커널은 상기 CPU 보호 모드에서 동작하는 커널을 포함하는 것을 특징으로 하는 네트워크 확장 컴퓨터.
  49. 제 48항에 있어서, 상기 시동 소프트웨어는 상기 CPU의 실제 모드에서 실행하는 것을 특징으로 하는 네트워크 확장 컴퓨터.
  50. 제 49항에 있어서, 상기 시동 소프트웨어 및 상기 다중태스킹 커널은 상기 CPU가 상기 네트워크 확장 소프트웨어의 실행을 시작한 후에 상기 CPU의 제어를 공유하는 것을 특징으로 하는 네트워크 확장 컴퓨터.
  51. 컴퓨터 네트워크로 상호 작용할 수 있는 컴퓨터에 있어서,
    실제 모드 및 보호 모드를 포함하는 적어도 두 모드를 제공하는 CPU;
    상기 컴퓨터 네트워크에서 상기 컴퓨터를 결합하는 네트워크 인터페이스; 및
    상기 CPU에 결합된 비휘발성 메모리; 를 포함하며,
    상기 CPU가 시스템 리세트에서 제 1 BIOS를 호출하는 상기 비휘발성 메모리에 적어도 제 1 BIOS의 일부가 저장되고,
    상기 제 1 BIOS는 상기 컴퓨터의 POST를 더 수행하며,
    제 2 BIOS는 상기 제 1 BIOS의 일부의 실행 후에 상기 CPU에서 보호 모드로 실행되고, 네트워크 프로토콜 스택을 지원하며,
    운영 체제는 상기 제 2 BIOS의 일부의 실행 후에 상기 CPU에서 보호 모드로 실행되고, 상기 CPU에서 실행하는 이용자급 응용 소프트웨어 프로그램을 지원하는 것을 특징으로 하는 컴퓨터
  52. 적어도 한 컴퓨터에서 원격 관리되는 시스템에 있어서,
    컴퓨터 네트워크;
    상기 컴퓨터 네트워크에 결합되고, 응용 소프트웨어를 실현하는 워크스테이션; 및
    컴퓨터; 를 포함하고,
    상기 컴퓨터는,
    상기 컴퓨터 네트워크에 상기 컴퓨터를 결합한 네트워크 인터페이스; 및
    CPU; 를 포함하고,
    CPU 시스템 리세트에서 시동 소프트웨어 프로그램은 자동으로 실행되고,
    네트워크 확장 소프트웨어는 상기 시동 소프트웨어의 상기 적어도 제 1 부분의 실행으로 상기 CPU에서 실행이 되도록 구성되고, 상기 네트워크 인터페이스를 경유한 상기 워크스테이션과 통신하도록 프로토콜을 지원하며,
    운영 체제 소프트웨어는 상기 CPU에서 실행되고, 상기 이용자급 응용 소프트웨어 프로그램에 의하여 접근할 수 있고, 상기 CPU에서 로드되는 것을 특징으로 하는 시스템.
  53. 제 52항에 있어서, 상기 CPU를 액세스하고 제어하기 위한 상기 원격 워크스테이션을 위한 수단을 포함하는 것을 특징으로 하는 시스템.
  54. 제 53항에 있어서, 상기 원격 워크스테이션이 상기 컴퓨터에 부착된 키보드에 삽입된 키스트로크의 효과를 흉내낸 (simulating) 메세지를 입력하기 위한 수단을 더 포함하는 것을 특징으로 하는 시스템.
  55. 제 53항에 있어서, 상기 컴퓨터는 상기 운영 체제 소프트웨어가 로드되는 것을 막는 진단 상태에 들어가고;
    상기 시스템은 상기 원격 워크스테이션으로부터 상기 컴퓨터에 추가의 소프트웨어 프로그램을 다운로드 받기 위한 수단을 더 포함하고;
    상기 추가 소프트웨어 프로그램은 상기 CPU에서 실행되는 것을 특징으로 하는 시스템.
  56. 제 53항에 있어서, 상기 원격 워크스테이션은 상기 CPU에서 실행하는 상기 시동 소프트웨어 안에서 POST 루틴을 제어하기 위한 수단을 포함하는 것을 특징으로 하는 시스템.
  57. SMRAM 및 사상 카운터(event counter)에서 주기적으로 제 1 조절 장치를 만드는 운영 체제를 갖는 컴퓨터 시스템을 위한 고장 복구 방법에 있어서,
    주기적 간격으로 SMI를 발생시키는 단계;
    상기 SMI에 응답하여 상기 사상 카운터에서 제 2 조절 장치를 만드는 인터럽트 서비스 루틴을 실행하는 단계; 및
    예정된 한계에 도달한 상기 사상 카운터에 응답하여 시스템 상태 정보를 수집하는 단계를 포함하는 것을 특징으로 하는 고장 복구 방법.
  58. 제 57항에 있어서, 상기 수집된 정보를 네트워크를 경유하여 상기 컴퓨터 시스템에 결합된 원격 워크스테이션으로 전송하는 단계를 더 포함하는 것을 특징으로 하는 고장 복구 방법.
  59. 제 58항에 있어서, 상기 수집된 정보의 전송은 네트워크를 경유하여 상기 컴퓨터에 결합된 워크스테이션과 통신하기 위한 프로토콜을 제공하는 보호 모드 커널에 의하여 수행되는 것을 특징으로 하는 고장 복구 방법.
  60. 컴퓨터 시스템이 고장난 경우에 데이타를 수집할 수 있는 컴퓨터에 있어서,
    CPU;
    상기 CPU에 결합되고, 컴퓨터 시스템 상태 데이타를 저장하는 RAM;
    상기 CPU에 결합된 SMRAM; 및
    상기 컴퓨터 시스템 고장을 감지하도록 구성된 충돌 감지 구성; 을 포함하며,
    상기 CPU에서 실행되는 운영 체제는 상기 CPU에서 실행되는 이용자급 응용 소프트웨어에 의하여 접근할 수 있으며,
    상기 SMRAM에 저장되는 데이타 수집 루틴은 상기 컴퓨터 시스템 고장의 상기 충돌 감지 구성에 의한 상기 감지에 대응하여 상기 CPU에서 실행하도록 구성되고, 상기 컴퓨터 시스템 상태 데이타의 적어도 제 1 위치를 저장하는 것을 특징으로 하는 컴퓨터.
  61. 제 60항에 있어서, 상기 RAM은 비디오 조정기에 물리적으로 위치한 메모리를 포함하고, 상기 컴퓨터 시스템 상태 데이타는 비디오 조정기 레지스터 데이타를 포함하는 것을 특징으로 하는 컴퓨터.
  62. 컴퓨터 네트워크에서 워크스테이션에 결합된 원격 직접 접근 저장 장치로부터 컴퓨터의 운영 체제를 부팅할 수 있는 컴퓨터에 있어서,
    데이타 접근을 요구하기 위한 BIOS 디스크 서비스 인터럽트를 제공하는 CPU;
    비휘발성 메모리; 및
    상기 컴퓨터 네트워크에서 상기 컴퓨터와 결합하는 네트워크 인터페이스; 를 포함하며,
    시동 소프트웨어의 적어도 일부는 상기 비휘발성 메모리 안에 저장되고,
    상기 시동 소프트웨어는 상기 컴퓨터 안에서 구성되어 있어서 상기 CPU가 시동 소프트웨어를 호출하여 시스템 시동을 요구하도록 하고, 상기 운영 체제를 부트스트랩하기 위한 상기 BIOS 디스크 서비스 인터럽트를 이용한 운영 체제 부트스트랩 프로그램을 포함하며,
    네트워크 확장 커널의 적어도 일부는 상기 시동 소프트웨어의 적어도 일부의 시동후, 그리고, 상기 운영 체제 부트스트랩 프로그램의 실행전에 상기 CPU에 의하여 실행되고,
    상기 커널은 상기 워크스테이션과 통신하기 위한 프로토콜 스택을 지원하고, 상기 BIOS 디스크 서비스 인터럽트를 수집하고, 상기 워크스테이션으로부터 상기 요구된 데이타를 액세스하기 위하여 상기 BIOS 디스크 서비스 인터럽트를 입출력지정(redirect)하는 네트워크 확장 커널을 포함하는 것을 특징으로 하는 컴퓨터.
  63. 컴퓨터 네트워크에 결합된 워크스테이션으로부터 컴퓨터의 운영 체제를 부팅할 수 있는 컴퓨터에 있어서,
    데이타 접근을 요구하기 위한 BIOS 디스크 서비스 인터럽트를 제공하는 CPU;
    비휘발성 메모리; 및
    상기 컴퓨터 네트워크에서 상기 컴퓨터와 결합하는 NIC; 를 포함하며,
    시동 소프트웨어의 적어도 일부는 상기 비휘발성 메모리 안에 저장되고,
    상기 시동 소프트웨어는 상기 컴퓨터 안에서 구성되어 있어서 상기 CPU가 시동 소프트웨어를 호출하여 시스템 시동을 요구하도록 하고, 상기 운영 체제를 부트스트랩하기 위한 상기 BIOS 디스크 서비스 인터럽트를 이용한 운영 체제 부트스트랩 프로그램을 포함하며,
    네트워크 다중태스킹(multitasking) 커널은 상기 NIC를 경유하여 상기 워크스테이션과 통신하기 위한 프로토콜 스택을 지원하고, 상기 운영 체제 부트스트랩 프로그램의 실행에 앞서서 실행되고, 상기 NIC를 경유하여 상기 워크스테이션으로부터 데이타를 액세스하는 제 1 디스크 입출력지정 스레드를 실행하며,
    상기 BIOS 디스크 서비스 인터럽트는 장기 디스크 입출력지정 스레드에 입출력지정되고,
    상기 운영 체제는 상기 디스크 입출력지정 스레드를 통하여 상기 워크스테이션으로부터 부트스트랩되는 것을 특징으로 하는 컴퓨터.
  64. 실제 모드 및 보호 모드를 제공하는 CPU 및 타이머 인터럽트를 갖는 컴퓨터에서 실제 모드 운영 체제 및 보호 모드 커널을 동시에 실행하는 방법에 있어서,
    (a) 실행된 점프 프로그램이 상기 실제 모드 운영 체제의 현재 상태를 저장하고, 상기 보호 모드 커널의 상태를 재저장하는 코드의 일부에 CPU의 제어를 전송하고, 상기 CPU를 상기 보호 모드로 전환할 때,
    실제 모드에서 실행하는 상기 점프 프로그램에서 상기 타이머 인터럽트를 벡터링 (vectoring)하는 단계;
    (b) 상기 보호 모드 커널의 일부를 실행하는 단계;
    (c) 상기 CPU를 상기 실제 모드로 전환하고, 상기 보호 모드 커널의 현재 상태를 저장하는 단계;
    (d) 상기 저장된 상태에서 상기 실제 모드 운영 체제를 재저장하는 단계;
    (e) 상기 타이머 인터럽트에 의하여 인터럽트될때 까지 상기 실제 모드 운영 체제를 실행하는 단계를 포함하고,
    상기 실제 모드 운영 체제는, 상기 보호 모드 커널이 상기 저장된 상태에서 재저장되고 CPU 제어에 주어질 때, 상기 타이머 인터럽트에 의하여 인터럽트될 때 까지 실행하는 것을 포함하는 것을 특징으로 하는 실제 모드 운영 체제 및 보호 모드 커널을 동시에 실행하는 방법.
  65. 제 64항에 있어서, 상기 보호 모드 커널은 다중태스킹 커널인 것을 특징으로 하는 실제 모드 운영 체제 및 보호 모드 커널을 동시에 실행하는 방법.
  66. 제 65항에 있어서, 상기 보호 모드 커널은 스레드를 실행하는 32-비트 다중태스킹 커널이고, 스레드가 상기 보호 모드 커널에서 실행하고 있지 않을 때, 상기보호 모드 커널은 상기 CPU의 제어를 상기 실제 모드 운영 체제로 전송하는 것을 특징으로 하는 실제 모드 운영 체제 및 보호 모드 커널을 동시에 실행하는 방법.
  67. 제 3항에 있어서, 상기 네트워크 프로토콜 스택은 비휘발성 메모리에 저장되는 소프트웨어에 의하여 제공되는 것을 특징으로 하는 방법.
  68. 제 4항에 있어서, 상기 네트워크 프로토콜 스택은 비휘발성 메모리에 저장되는 소프트웨어에 의하여 제공되는 것을 특징으로 하는 방법.
  69. 실제 모드 및 보호 모드를 포함하는 적어도 두 모드에서 운영하는 CPU를 포함하는 컴퓨터를 동작하는 방법에 있어서,
    실제 모드에서 상기 CPU에 초기 부분 및 순차 부분을 갖고 상기 컴퓨터의 POST를 수행하는 제 1 BIOS를 로드하고 실행하는 단계; 및
    상기 제 1 BIOS의 상기 초기 부분의 실행 후에 보호 모드에서 상기 CPU에 제 2 BIOS를 로드하고 실행하는 단계를 포함하고,
    상기 제 2 BIOS 및 상기 제 1 BIOS의 상기 순차 부분은, 동시에 실행하기 위하여 표현하는 상기 제 2 BIOS 및 상기 제 1 BIOS의 상기 순차 부분과 같은 택일적 부분에서 상기 CPU에 실행되는 것을 특징으로 하는 컴퓨터를 동작하는 방법.
  70. 제 69항에 있어서,
    상기 컴퓨터는 타이머 인터럽트를 더 포함하고,
    상기 제 2 BIOS 및 상기 제 1 BIOS의 상기 순차 부분을 동시에 실행하는 단계에 있어서;
    (a) 실행된 점프 프로그램이 상기 실제 모드 제 1 BIOS의 현재 상태를 저장하고, 상기 보호 모드 제 2 BIOS의 상태를 재저장하는 코드의 일부에 CPU의 제어를 전송하고, 상기 CPU를 상기 보호 모드로 전환할 때,
    실제 모드에서 실행하는 상기 점프 프로그램에서 상기 타이머 인터럽트를 벡터링 (vectoring)하는 단계;
    (b) 상기 보호 모드 제 2 BIOS의 일부를 실행하는 단계;
    (c) 상기 CPU를 상기 실제 모드로 전환하고, 상기 보호 모드 제 2 BIOS의 현재 상태를 저장하는 단계;
    (d) 상기 저장된 상태에서 상기 실제 모드 제 1 BIOS를 재저장하는 단계;
    (e) 상기 타이머 인터럽트에 의하여 인터럽트될 때까지 상기 실제 모드 제 1 BIOS를 실행하는 단계를 포함하고,
    상기 실제 모드 제 1 BIOS는, 상기 보호 모드 제 2 BIOS가 상기 저장된 상태에서 재저장되고 CPU 제어에 주어질 때, 상기 타이머 인터럽트에 의하여 인터럽트될 때까지 실행하는 것을 포함하는 것을 특징으로 하는 컴퓨터를 동작하는 방법.
KR1019997008594A 1997-03-20 1998-03-19 기능하는 운영 체제 없이 컴퓨터의 원격 관리를 가능하게 하는 네트워크 확장 기본 입출력 시스템 KR100620216B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US8/821,745 1997-03-20
US08/821,745 1997-03-20
US08/821,745 US5978912A (en) 1997-03-20 1997-03-20 Network enhanced BIOS enabling remote management of a computer without a functioning operating system
PCT/US1998/005534 WO1998041916A1 (en) 1997-03-20 1998-03-19 Network enhanced bios enabling remote management of a computer without a functioning operating system

Publications (2)

Publication Number Publication Date
KR20010005535A KR20010005535A (ko) 2001-01-15
KR100620216B1 true KR100620216B1 (ko) 2006-09-08

Family

ID=25234199

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019997008594A KR100620216B1 (ko) 1997-03-20 1998-03-19 기능하는 운영 체제 없이 컴퓨터의 원격 관리를 가능하게 하는 네트워크 확장 기본 입출력 시스템

Country Status (8)

Country Link
US (2) US5978912A (ko)
EP (1) EP1019804A4 (ko)
JP (3) JP2001516479A (ko)
KR (1) KR100620216B1 (ko)
CN (2) CN1103958C (ko)
AU (1) AU6574398A (ko)
TW (1) TW444171B (ko)
WO (1) WO1998041916A1 (ko)

Families Citing this family (270)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424731B1 (en) 1994-10-12 2008-09-09 Touchtunes Music Corporation Home digital audiovisual information recording and playback system
US7188352B2 (en) 1995-07-11 2007-03-06 Touchtunes Music Corporation Intelligent digital audiovisual playback system
EP0786121B1 (fr) 1994-10-12 2000-01-12 Touchtunes Music Corporation Systeme de reproduction audio-visuelle numerique intelligent
US8661477B2 (en) 1994-10-12 2014-02-25 Touchtunes Music Corporation System for distributing and selecting audio and video information and method implemented by said system
FR2753868A1 (fr) 1996-09-25 1998-03-27 Technical Maintenance Corp Procede de selection d'un enregistrement sur un systeme numerique de reproduction audiovisuel et systeme pour mise en oeuvre du procede
ES2265466T3 (es) * 1997-03-21 2007-02-16 Thomson Licensing Descarga de datos.
US6802062B1 (en) * 1997-04-01 2004-10-05 Hitachi, Ltd. System with virtual machine movable between virtual machine systems and control method
US7574727B2 (en) * 1997-07-23 2009-08-11 Touchtunes Music Corporation Intelligent digital audiovisual playback system
JPH1165996A (ja) * 1997-08-11 1999-03-09 Toshiba Corp ネットワークコンピュータおよびその初期化処理方法
US6289437B1 (en) * 1997-08-27 2001-09-11 International Business Machines Corporation Data processing system and method for implementing an efficient out-of-order issue mechanism
FR2769165B1 (fr) 1997-09-26 2002-11-29 Technical Maintenance Corp Systeme sans fil a transmission numerique pour haut-parleurs
KR100250464B1 (ko) * 1997-11-25 2000-04-01 정선종 고속병렬컴퓨터의 노드 부트 방법
DE19752615C1 (de) * 1997-11-27 1999-04-08 Siemens Nixdorf Inf Syst Verfahren und Anordnung zum Laden von Daten für grundlegende Systemroutinen eines Datenverarbeitungssystems
US8631093B2 (en) * 1998-03-19 2014-01-14 Crane Merchandising Systems, Inc. Remote data acquisition, transmission and analysis system including handheld wireless equipment
US6532497B1 (en) * 1998-04-14 2003-03-11 International Business Machines Corporation Separately powered network interface for reporting the activity states of a network connected client
US6167511A (en) * 1998-06-15 2000-12-26 Phoenix Technologies Ltd. Method to reflect BIOS set up changes into ACPI machine language
US6795853B1 (en) * 1998-06-30 2004-09-21 International Business Machines Corporation Integration of additional computer components into a computer operation through attribute enabled interactive selections presented in composite lists available to the user in a variety of display screens
FR2781582B1 (fr) 1998-07-21 2001-01-12 Technical Maintenance Corp Systeme de telechargement d'objets ou de fichiers pour mise a jour de logiciels
FR2781580B1 (fr) 1998-07-22 2000-09-22 Technical Maintenance Corp Circuit de commande de son pour systeme de reproduction audiovisuelle numerique intelligent
FR2781591B1 (fr) 1998-07-22 2000-09-22 Technical Maintenance Corp Systeme de reproduction audiovisuelle
US8028318B2 (en) 1999-07-21 2011-09-27 Touchtunes Music Corporation Remote control unit for activating and deactivating means for payment and for displaying payment status
US6298449B1 (en) * 1998-07-29 2001-10-02 Siemens Information And Communication Networks, Inc. Apparatus and method for high reliability PC platform telecommunications systems
US6219828B1 (en) * 1998-09-30 2001-04-17 International Business Machines Corporation Method for using two copies of open firmware for self debug capability
US6370586B2 (en) 1998-10-30 2002-04-09 Intel Corporation Monitoring of an electronic device with a system management controller
US6282642B1 (en) * 1998-11-18 2001-08-28 International Business Machines Corporation System for presetting a first or second remote boot protocol by a computer remotely receiving and storing a boot parameter prior to being powered on
US6282643B1 (en) * 1998-11-20 2001-08-28 International Business Machines Corporation Computer system having flash memory BIOS which can be accessed remotely while protected mode operating system is running
US6205547B1 (en) * 1998-11-20 2001-03-20 Intel Corporation Computer system management apparatus and method
CA2485266A1 (en) * 1998-11-30 2000-06-08 International Business Machines Corporation Data processing system and method for remotely disabling network activity in a client computer system
US6334147B1 (en) * 1998-11-30 2001-12-25 International Business Machines Corporation Data processing system and method for remotely accessing a client computer systems's individual initialization settings while the client is powered off
US6470457B1 (en) * 1998-12-14 2002-10-22 International Business Machines Corporation Local permanent storage in network computer
US7002905B1 (en) * 1999-01-25 2006-02-21 Cisco Technology, Inc. Method and apparatus for performing the rebooting of a network node with minimal loss of network traffic
US6484262B1 (en) * 1999-01-26 2002-11-19 Dell Usa, L.P. Network controlled computer system security
US6401218B1 (en) * 1999-02-16 2002-06-04 International Business Machines Corporation Method and system for functional kernel verification testing within a data processing system
SE516175C2 (sv) * 1999-02-17 2001-11-26 Axis Ab Anordning och metod för kommunikation över ett nätverk
US8726330B2 (en) 1999-02-22 2014-05-13 Touchtunes Music Corporation Intelligent digital audiovisual playback system
US6480972B1 (en) * 1999-02-24 2002-11-12 International Business Machines Corporation Data processing system and method for permitting a server to remotely perform diagnostics on a malfunctioning client computer system
JP3335317B2 (ja) * 1999-03-03 2002-10-15 インターナショナル・ビジネス・マシーンズ・コーポレーション ハードウェア設定方法
TW410297B (en) * 1999-03-05 2000-11-01 Via Tech Inc Remote booting of computers in local area network
US6766519B1 (en) * 1999-03-26 2004-07-20 Emc Corporation Generic software interface for hardware environments having executing code registers itself and the code for a next suboperation
US6684326B1 (en) * 1999-03-31 2004-01-27 International Business Machines Corporation Method and system for authenticated boot operations in a computer system of a networked computing environment
US6487655B1 (en) * 1999-04-29 2002-11-26 Intel Corporation Computer system formed with a processor and a system board provided with complementary initialization support
US6467041B1 (en) * 1999-05-06 2002-10-15 International Business Machines Corporation Third party host packet replication
US6486883B1 (en) * 1999-06-18 2002-11-26 Phoenix Technologies, Ltd. Apparatus and method for updating images stored in non-volatile memory
JP4689006B2 (ja) * 1999-06-18 2011-05-25 フィーニックス  テクノロジーズ  リミテッド 通常のos制御下でコンピュータのプリ−ブート及びポスト−ブート作動の際にアプリケーションを実行する方法と装置
US6401202B1 (en) * 1999-06-18 2002-06-04 Phoenix Technologies Ltd. Multitasking during BIOS boot-up
US7523415B1 (en) * 1999-06-24 2009-04-21 Porter Swain W Exclusive use display surface areas and persistently visible display of contents including advertisements
US6421798B1 (en) * 1999-07-14 2002-07-16 Computer Service Technology, Inc. Chipset-based memory testing for hot-pluggable memory
FR2796482B1 (fr) 1999-07-16 2002-09-06 Touchtunes Music Corp Systeme de gestion a distance d'au moins un dispositif de reproduction d'informations audiovisuelles
IE20000602A1 (en) * 1999-08-19 2001-04-18 Dell Products Lp Method and system for automated technical support for computers
US6609151B1 (en) * 1999-08-31 2003-08-19 Intel Corporation System for configuring a computer with or without an operating system to allow another computer to remotely exchange data and control the computer
EP1085396A1 (en) * 1999-09-17 2001-03-21 Hewlett-Packard Company Operation of trusted state in computing platform
US7206833B1 (en) * 1999-09-30 2007-04-17 Intel Corporation Platform independent alert detection and management
US6922722B1 (en) 1999-09-30 2005-07-26 Intel Corporation Method and apparatus for dynamic network configuration of an alert-based client
US7318089B1 (en) * 1999-09-30 2008-01-08 Intel Corporation Method and apparatus for performing network-based control functions on an alert-enabled managed client
AUPQ321699A0 (en) 1999-09-30 1999-10-28 Aristocrat Leisure Industries Pty Ltd Gaming security system
US6505298B1 (en) * 1999-10-25 2003-01-07 International Business Machines Corporation System using an OS inaccessible interrupt handler to reset the OS when a device driver failed to set a register bit indicating OS hang condition
US7392309B2 (en) 1999-10-27 2008-06-24 American Power Conversion Corporation Network appliance management
US6714977B1 (en) 1999-10-27 2004-03-30 Netbotz, Inc. Method and system for monitoring computer networks and equipment
US7330886B2 (en) 1999-10-27 2008-02-12 American Power Conversion Corporation Network appliance management
US6636962B1 (en) * 1999-12-10 2003-10-21 Intel Corporation Self-initializing chipset
US6668287B1 (en) * 1999-12-15 2003-12-23 Transmeta Corporation Software direct memory access
US7231513B1 (en) * 1999-12-17 2007-06-12 Intel Corporation Dynamically linked basic input/output system
US7082530B1 (en) * 1999-12-31 2006-07-25 Intel Corporation Method and apparatus for accelerating hardware encryption with multiple networking interfaces
US8612553B2 (en) * 2000-01-14 2013-12-17 Microsoft Corporation Method and system for dynamically purposing a computing device
US6882967B2 (en) * 2000-01-27 2005-04-19 Middle Digital Inc. Apparatus and method for remote administration of a PC-server
FR2805377B1 (fr) 2000-02-23 2003-09-12 Touchtunes Music Corp Procede de commande anticipee d'une selection, systeme numerique et juke-box permettant la mise en oeuvre du procede
US7213152B1 (en) * 2000-02-14 2007-05-01 Intel Corporation Modular bios update mechanism
FR2805072B1 (fr) 2000-02-16 2002-04-05 Touchtunes Music Corp Procede d'ajustement du volume sonore d'un enregistrement sonore numerique
FR2805060B1 (fr) 2000-02-16 2005-04-08 Touchtunes Music Corp Procede de reception de fichiers lors d'un telechargement
US6772281B2 (en) * 2000-02-17 2004-08-03 Western Digital Ventures, Inc. Disk drive for selectively satisfying a read request from a host computer for a first valid data block with a second valid data block
US6748423B1 (en) * 2000-02-25 2004-06-08 Intel Corporation Remote control of a linked computer
US6763456B1 (en) * 2000-02-25 2004-07-13 Intel Corporation Self correcting server with automatic error handling
US6785807B1 (en) * 2000-03-06 2004-08-31 International Business Machines Corporation Method and system for providing bootcode support in a data processing system that uses a communications port that utilizes a first communications protocol, an external device that utilizes a second communications protocol, and a device driver that is loaded in response to booting to communicate with the external device through the communications port
US6691160B1 (en) * 2000-04-19 2004-02-10 Adaptec, Inc. Input/output communication networks and booting protocols
US6687744B1 (en) * 2000-05-02 2004-02-03 International Business Machines Corporation Data processing system and method for permitting a server computer system to function as a virtual keyboard to a client computer system
FR2808906B1 (fr) 2000-05-10 2005-02-11 Touchtunes Music Corp Dispositif et procede de gestion a distance d'un reseau de systemes de reproduction d'informations audiovisuelles
JP2001325124A (ja) * 2000-05-17 2001-11-22 Fujitsu Ltd 計算機、システム管理支援装置及び管理方法
ATE476819T1 (de) * 2000-06-06 2010-08-15 Ericsson Ab System und verfahren zur steuerung von netzwerkelementen unter verwendung von programmierbaren tasten
US6633876B1 (en) * 2000-06-07 2003-10-14 Sun Microsystems, Inc. Analyzing post-mortem information on a remote computer system using a downloadable code module
JP3714119B2 (ja) * 2000-06-13 2005-11-09 日本電気株式会社 Biosプリブート環境を利用したユーザ認証型ネットワークosブート方法及びシステム
US6421791B1 (en) * 2000-06-14 2002-07-16 Delphi Technologies, Inc. Computer-implemented system and method for evaluating the diagnostic state of a component
GB2363482B (en) * 2000-06-15 2003-01-15 Yair Zadik Remote control unit
FR2811175B1 (fr) 2000-06-29 2002-12-27 Touchtunes Music Corp Procede de distribution d'informations audiovisuelles et systeme de distribution d'informations audiovisuelles
FR2811114B1 (fr) 2000-06-29 2002-12-27 Touchtunes Music Corp Dispositif et procede de communication entre un systeme de reproduction d'informations audiovisuelles et d'une machine electronique de divertissement
JP2002024046A (ja) * 2000-07-11 2002-01-25 Mitsubishi Electric Corp マイクロコンピュータ及びそのメモリ内容変更システム並びにメモリ内容変更方法
US6959331B1 (en) * 2000-08-14 2005-10-25 Sun Microsystems, Inc. System and method for operating a client network computer in a disconnected mode by establishing a connection to a fallover server implemented on the client network computer
KR20020014364A (ko) * 2000-08-17 2002-02-25 윤종용 장치 드라이버의 자동 진단 장치 및 그 방법
US6952725B1 (en) * 2000-08-28 2005-10-04 International Business Machines Corporation Method to check e-mail count at boot time in personal computer systems
US7231434B2 (en) * 2000-08-28 2007-06-12 International Business Machines Corporation Method, apparatus and computer program product to check e-mail count at boot time in computing systems
FR2814085B1 (fr) 2000-09-15 2005-02-11 Touchtunes Music Corp Procede de divertissement base sur les jeux concours a choix multiples
KR20010000841A (ko) * 2000-10-23 2001-01-05 임효준 컴퓨터 부팅시 프로그램 강제 수행장치 및 방법
US6772376B1 (en) 2000-11-02 2004-08-03 Dell Products L.P. System and method for reporting detected errors in a computer system
US7124424B2 (en) * 2000-11-27 2006-10-17 Sedna Patent Services, Llc Method and apparatus for providing interactive program guide (IPG) and video-on-demand (VOD) user interfaces
FR2819070B1 (fr) * 2000-12-28 2003-03-21 St Microelectronics Sa Procede et dispositif de protection conte le piratage de circuits integres
US6718464B2 (en) 2001-01-23 2004-04-06 International Business Machines Corporation Method and system for customizing a client computer system configuration for a current user using BIOS settings downloaded from a server
JP4421817B2 (ja) 2001-01-26 2010-02-24 アメリカン パワー コンバージョン コーポレイション 向上されたコラボレーション、スケーラビリティ、およびリライアビリティを提供するために接続され得るネットワーク装置のセットのための方法およびシステム
US8271626B2 (en) 2001-01-26 2012-09-18 American Power Conversion Corporation Methods for displaying physical network topology and environmental status by location, organization, or responsible party
KR20010067561A (ko) * 2001-02-10 2001-07-13 박경수 통신 네트워크를 이용한 컴퓨터 시스템의 복구와 데이터의저장 관리 시스템 및 그 방법
EP1248193A1 (en) * 2001-04-02 2002-10-09 Hewlett-Packard Company Initialisation module for a device driver
US20020147941A1 (en) * 2001-04-05 2002-10-10 Robert Gentile Network based BIOS recovery method
US7000100B2 (en) * 2001-05-31 2006-02-14 Hewlett-Packard Development Company, L.P. Application-level software watchdog timer
US7124293B2 (en) * 2001-06-29 2006-10-17 Intel Corporation Intelligently determining which traffic streams to offload efficiently
US7076539B2 (en) * 2001-07-30 2006-07-11 Hewlett-Packard Development Company, L.P. Network connectivity establishment at user log-in
US20030028812A1 (en) * 2001-07-31 2003-02-06 Stultz Paul Dennis Computer security during power-on self test
US7069431B2 (en) * 2001-07-31 2006-06-27 Lenovo ( Singapore) Pte Ltd. Recovery of a BIOS image
US7089259B1 (en) * 2001-08-03 2006-08-08 Mcafee, Inc. System and method for providing a framework for network appliance management in a distributed computing environment
US7245632B2 (en) * 2001-08-10 2007-07-17 Sun Microsystems, Inc. External storage for modular computer systems
US7003775B2 (en) * 2001-08-17 2006-02-21 Hewlett-Packard Development Company, L.P. Hardware implementation of an application-level watchdog timer
US7191261B2 (en) * 2001-08-20 2007-03-13 International Business Machines Corporation System and method to use unmodified operating system on diskless computer
US20030046398A1 (en) * 2001-08-29 2003-03-06 Charles Buckley Method and system for managing a plurality of console devices in a network
CN1322419C (zh) * 2001-09-13 2007-06-20 鸿友科技股份有限公司 能下载广告资料的电子系统
US20040199600A1 (en) * 2001-10-16 2004-10-07 Dorundo Alan D. Method and apparatus for program installation in a modular network
US7093124B2 (en) * 2001-10-30 2006-08-15 Intel Corporation Mechanism to improve authentication for remote management of a computer system
US7263716B1 (en) * 2001-11-01 2007-08-28 Advanced Micro Devices, Inc. Remote management mechanism to prevent illegal system commands
US7571445B2 (en) * 2001-11-29 2009-08-04 Dell Products L.P. System and method for dynamic device driver support in an open source operating system
JP2003173325A (ja) * 2001-12-06 2003-06-20 Hitachi Ltd 計算機システムの初期化方法および電源切断方法
US20030110369A1 (en) * 2001-12-11 2003-06-12 Fish Andrew J. Firmware extensions
US6694401B2 (en) * 2001-12-28 2004-02-17 Intel Corporation Method and apparatus for executing real-mode interrupts from within extended SMRAM handler
US7454603B2 (en) * 2002-02-11 2008-11-18 Intel Corporation Method and system for linking firmware modules in a pre-memory execution environment
US7086049B2 (en) * 2002-02-26 2006-08-01 International Business Machines Corporation Background code update for embedded systems
US20030229517A1 (en) * 2002-03-15 2003-12-11 Peter Meserol Medical management system and method
DE60330659D1 (de) 2002-05-03 2010-02-04 American Power Conv Corp Verfahren und vorrichtung zum sammeln und anzeigen von netzwerkgeräteinformationen
US7013385B2 (en) * 2002-06-04 2006-03-14 International Business Machines Corporation Remotely controlled boot settings in a server blade environment
TWI253567B (en) * 2002-08-06 2006-04-21 Quanta Comp Inc Method of remote controlling computers via network and architecture thereof
US7558958B2 (en) * 2002-06-13 2009-07-07 Microsoft Corporation System and method for securely booting from a network
KR100469647B1 (ko) * 2002-06-21 2005-02-07 주식회사 마크윈 네트워크 기반 컴퓨터의 사용인증 및 정보보호 방법
KR20040007128A (ko) * 2002-07-16 2004-01-24 임창수 프레쉬웹오에스를 구비한 컴퓨터 및 이를 제어하는 방법
US6925365B2 (en) * 2002-08-05 2005-08-02 Daimlerchrysler Corporation Flash loader for vehicle electronic control units
US7882162B2 (en) * 2002-08-08 2011-02-01 Hewlett-Packard Development Company, L.P. Rapid access to data on a powered down personal computer
US7143277B2 (en) * 2002-08-19 2006-11-28 Intel Corporation Methods and apparatus for event based console variable coherence maintenance in a pre-boot environment
US7058797B2 (en) * 2002-09-10 2006-06-06 Veritas Operating Corporation Use of off-motherboard resources in a computer system
US10373420B2 (en) 2002-09-16 2019-08-06 Touchtunes Music Corporation Digital downloading jukebox with enhanced communication features
US8103589B2 (en) 2002-09-16 2012-01-24 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US9646339B2 (en) 2002-09-16 2017-05-09 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US8584175B2 (en) 2002-09-16 2013-11-12 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US11029823B2 (en) 2002-09-16 2021-06-08 Touchtunes Music Corporation Jukebox with customizable avatar
US8332895B2 (en) 2002-09-16 2012-12-11 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US7822687B2 (en) 2002-09-16 2010-10-26 Francois Brillon Jukebox with customizable avatar
US8151304B2 (en) 2002-09-16 2012-04-03 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US7177790B2 (en) * 2002-11-13 2007-02-13 Hewlett-Packard Development Company, L.P. Method and apparatus for providing virtual devices
US7543048B2 (en) * 2002-11-22 2009-06-02 Intel Corporation Methods and apparatus for enabling of a remote management agent independent of an operating system
US20040128493A1 (en) * 2002-12-27 2004-07-01 Zimmer Vincent J. Methods and apparatus for providing a firmware defined radio
US7318171B2 (en) * 2003-03-12 2008-01-08 Intel Corporation Policy-based response to system errors occurring during OS runtime
US8566292B2 (en) 2003-04-14 2013-10-22 Schneider Electric It Corporation Method and system for journaling and accessing sensor and configuration data
US7148796B2 (en) * 2003-04-14 2006-12-12 American Power Conversion Corporation Environmental monitoring device
ATE450026T1 (de) 2003-04-14 2009-12-15 American Power Conv Corp Erweiterbare sensorüberwachung, warnungsverarbeitungs- und benachrichtigungssystem und verfahren
DK1616236T3 (da) 2003-04-14 2017-02-20 Schneider Electric It Corp Metode og system til journalføring og adgang til sensor- og konfigurationsdata
EP1484682B1 (en) 2003-06-02 2012-12-05 Hewlett-Packard Development Company, L.P. Method and apparatus for providing support for an electronic device
US7457943B2 (en) * 2003-06-12 2008-11-25 Fuji Xerox Co., Ltd. Controller, image processing apparatus, and method of controlling execution of program
US7478141B2 (en) * 2003-06-26 2009-01-13 Intel Corporation Accessing firmware of a remote computer system using a remote firmware interface
US8850174B1 (en) * 2003-07-02 2014-09-30 Pmc-Sierra Us, Inc. Method for dedicated netboot
US20050044363A1 (en) * 2003-08-21 2005-02-24 Zimmer Vincent J. Trusted remote firmware interface
JP2005071196A (ja) * 2003-08-27 2005-03-17 Hitachi Ltd ディスクアレイ装置、及びその障害情報の制御方法
US7117353B2 (en) * 2003-09-04 2006-10-03 Intel Corporation Methods and apparatus to enable console redirection in a multiple execution environment
US7257704B2 (en) * 2003-09-05 2007-08-14 Gateway Inc. Method of selectively loading a pre-boot execution extension determined based on an identifier
CN1315078C (zh) * 2003-09-10 2007-05-09 联想(北京)有限公司 一种通过远程配置获取基本输入输出系统信息的方法
US7299354B2 (en) * 2003-09-30 2007-11-20 Intel Corporation Method to authenticate clients and hosts to provide secure network boot
US7506051B2 (en) * 2003-09-30 2009-03-17 International Business Machines Corporation Method and apparatus for automatically conducting hardware inventories of computers in a network
US7627651B2 (en) 2003-10-27 2009-12-01 American Power Conversion Corporation System and method for network device communication
US7174447B2 (en) * 2003-11-14 2007-02-06 Intel Corporation Providing a pre-boot driver for use during operating system runtime of a computer system
US8631163B1 (en) 2003-12-11 2014-01-14 At&T Intellectual Property Ii, L.P. Automatic connectivity determiner and configurator
US7302108B2 (en) * 2004-02-04 2007-11-27 Dell Products L.P. System and method for creating information handling system restore media
US20050193259A1 (en) * 2004-02-17 2005-09-01 Martinez Juan I. System and method for reboot reporting
US7216344B2 (en) * 2004-03-02 2007-05-08 Microsoft Corporation Side-by-side drivers
US20050202388A1 (en) * 2004-03-11 2005-09-15 Zuhl Michael A. Method and apparatus for remote interaction with a computer over a network
US20050201404A1 (en) * 2004-03-11 2005-09-15 Steinhart Jonathan E. Method and apparatus for remote interaction with a computer over a network
US20050204015A1 (en) * 2004-03-11 2005-09-15 Steinhart Jonathan E. Method and apparatus for generation and transmission of computer graphics data
TWI307016B (en) * 2004-03-19 2009-03-01 Hon Hai Prec Ind Co Ltd System and method for observing booting bios information of remote computer
US20050213768A1 (en) * 2004-03-24 2005-09-29 Durham David M Shared cryptographic key in networks with an embedded agent
US7653727B2 (en) * 2004-03-24 2010-01-26 Intel Corporation Cooperative embedded agents
US7734797B2 (en) 2004-03-29 2010-06-08 Marvell International Ltd. Inter-processor communication link with manageability port
US9047915B2 (en) * 2004-04-09 2015-06-02 Sony Corporation Asset revision management in media production
US7506214B2 (en) * 2004-04-22 2009-03-17 International Business Machines Corporation Application for diagnosing and reporting status of an adapter
US7496929B2 (en) * 2004-05-28 2009-02-24 Intel Corporation Performance of operations on a hardware resource through integral interpretive execution
US7406591B2 (en) * 2004-06-29 2008-07-29 Intel Corporation Booting from a remote BIOS image
US7380095B2 (en) * 2004-06-30 2008-05-27 Intel Corporation System and method for simulating real-mode memory access with access to extended memory
US7974272B2 (en) * 2004-07-29 2011-07-05 Conexant Systems, Inc. Remote control of a switching node in a stack of switching nodes
US7493300B2 (en) * 2004-09-30 2009-02-17 International Business Machines Corporation Model and system for reasoning with N-step lookahead in policy-based system management
WO2006044246A2 (en) * 2004-10-12 2006-04-27 Mullin Terence J System and method for monitoring and responding to device conditions
US7594269B2 (en) * 2004-10-29 2009-09-22 Intel Corporation Platform-based identification of host software circumvention
US8145748B2 (en) 2004-12-13 2012-03-27 American Power Conversion Corporation Remote monitoring system
US7711814B1 (en) 2004-12-13 2010-05-04 American Power Conversion Corporation Method and system for remote monitoring of a power supply device with user registration capability
US20060143209A1 (en) * 2004-12-29 2006-06-29 Zimmer Vincent J Remote management of a computer system
US20060143263A1 (en) * 2004-12-29 2006-06-29 Dinesh Kumar Remote update apparatus, systems, and methods
US7484127B2 (en) * 2005-01-13 2009-01-27 Nokia Siemens Networks Oy Method and system for preserving crash dump in a diskless system
FR2881246B1 (fr) * 2005-01-21 2007-03-23 Meiosys Soc Par Actions Simpli Procede perdictif de gestion, de journalisation ou de rejeu d'operations non deterministes au sein du deroulement d'un processus applicatif
EP1856612B1 (en) * 2005-01-28 2008-10-01 International Business Machines Corporation Method for counting instructions for logging and replay of a deterministic sequence of events
US7774596B2 (en) * 2005-02-02 2010-08-10 Insyde Software Corporation System and method for updating firmware in a secure manner
US7933980B2 (en) * 2005-02-28 2011-04-26 Cisco Technology, Inc. Reliable management communications path algorithm using in-band signaling and high priority context processing
US7451301B2 (en) * 2005-03-30 2008-11-11 Intel Corporation OS independent device management methods and apparatuses having a map providing codes for various activations of keys
US7739517B2 (en) * 2005-03-31 2010-06-15 Intel Corporation Hardware-based authentication of a software program
US7868896B1 (en) * 2005-04-12 2011-01-11 American Megatrends, Inc. Method, apparatus, and computer-readable medium for utilizing an alternate video buffer for console redirection in a headless computer system
US7660913B2 (en) * 2005-04-20 2010-02-09 Intel Corporation Out-of-band platform recovery
US7840682B2 (en) * 2005-06-03 2010-11-23 QNX Software Systems, GmbH & Co. KG Distributed kernel operating system
US8667184B2 (en) 2005-06-03 2014-03-04 Qnx Software Systems Limited Distributed kernel operating system
US7461247B2 (en) * 2005-06-03 2008-12-02 Qnx Software Systems Gmbh & Co. Kg Method for transitioning control of a peripheral device from a first device driver to a second device driver during operating system initialization
US7516252B2 (en) * 2005-06-08 2009-04-07 Intel Corporation Port binding scheme to create virtual host bus adapter in a virtualized multi-operating system platform environment
TWI264673B (en) * 2005-06-27 2006-10-21 Lite On Technology Corp Methods and computers for presenting graphical user interface during a boot operation
TWI273383B (en) * 2005-06-29 2007-02-11 Inventec Corp Computer platform system program remote control recovery method and system
US8918530B2 (en) 2005-09-09 2014-12-23 Microsoft Corporation Plug and play device redirection for remote systems
JP4487920B2 (ja) 2005-12-12 2010-06-23 株式会社日立製作所 ブート制御方法および計算機システム並びにその処理プログラム
US8533700B1 (en) 2006-04-11 2013-09-10 Open Invention Networks, Llc Workstation uptime, maintenance, and reboot service
US20070300051A1 (en) * 2006-06-26 2007-12-27 Rothman Michael A Out of band asset management
US8327656B2 (en) 2006-08-15 2012-12-11 American Power Conversion Corporation Method and apparatus for cooling
US8322155B2 (en) * 2006-08-15 2012-12-04 American Power Conversion Corporation Method and apparatus for cooling
US9568206B2 (en) * 2006-08-15 2017-02-14 Schneider Electric It Corporation Method and apparatus for cooling
US7986786B2 (en) * 2006-11-30 2011-07-26 Hewlett-Packard Development Company, L.P. Methods and systems for utilizing cryptographic functions of a cryptographic co-processor
US8024563B1 (en) * 2006-12-15 2011-09-20 Oracle America, Inc. Programming interface for a kernel level SSL proxy
US7681404B2 (en) * 2006-12-18 2010-03-23 American Power Conversion Corporation Modular ice storage for uninterruptible chilled water
US20080142068A1 (en) * 2006-12-18 2008-06-19 American Power Conversion Corporation Direct Thermoelectric chiller assembly
US20080168310A1 (en) 2007-01-05 2008-07-10 Microsoft Corporation Hardware diagnostics and software recovery on headless server appliances
US9330529B2 (en) 2007-01-17 2016-05-03 Touchtunes Music Corporation Game terminal configured for interaction with jukebox device systems including same, and/or associated methods
US9171419B2 (en) 2007-01-17 2015-10-27 Touchtunes Music Corporation Coin operated entertainment system
US8425287B2 (en) 2007-01-23 2013-04-23 Schneider Electric It Corporation In-row air containment and cooling system and method
US7743243B2 (en) * 2007-02-14 2010-06-22 Dell Products, Lp System and method to enable teamed network environments during network based initialization sequences
US9953481B2 (en) 2007-03-26 2018-04-24 Touchtunes Music Corporation Jukebox with associated video server
CN101755495B (zh) 2007-05-15 2013-10-16 美国能量变换公司 用来管理设施供电和冷却的方法和系统
US7734959B2 (en) * 2007-07-30 2010-06-08 Hewlett-Packard Development Company, L.P. Operating system recovery across a network
EP2195968A2 (en) * 2007-09-14 2010-06-16 Softkvm, Llc Software method and system for controlling and observing computer networking devices
US10290006B2 (en) 2008-08-15 2019-05-14 Touchtunes Music Corporation Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations
US8332887B2 (en) 2008-01-10 2012-12-11 Touchtunes Music Corporation System and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server
US8793477B2 (en) 2008-02-12 2014-07-29 Mcafee, Inc. Bootstrap OS protection and recovery
US7904708B2 (en) * 2008-02-18 2011-03-08 Dell Products L.P. Remote management of UEFI BIOS settings and configuration
CN101232397B (zh) * 2008-02-22 2010-10-27 成都市华为赛门铁克科技有限公司 多控制器系统修复的方法和装置
US20110041188A1 (en) * 2008-05-02 2011-02-17 Invicta Networks, Inc Method and system for protection of computer applications and software products against unauthorized copying
US7895472B2 (en) * 2008-05-21 2011-02-22 Dell Products, Lp System and method of managing BIOS test routnes
US8849435B2 (en) 2008-07-09 2014-09-30 Touchtunes Music Corporation Digital downloading jukebox with revenue-enhancing features
JP5867469B2 (ja) * 2008-07-24 2016-02-24 富士通株式会社 通信制御装置、通信制御方法、保全処理方法、情報処理装置および遠隔制御方法
JP5446439B2 (ja) * 2008-07-24 2014-03-19 富士通株式会社 通信制御装置、データ保全システム、通信制御方法、およびプログラム
TW201007469A (en) * 2008-08-15 2010-02-16 Asustek Comp Inc Computer with remote mangement system
CN101751273B (zh) * 2008-12-15 2013-04-24 中国科学院声学研究所 用于嵌入式系统的安全引导装置及方法
US9778718B2 (en) * 2009-02-13 2017-10-03 Schneider Electric It Corporation Power supply and data center control
US8560677B2 (en) 2009-02-13 2013-10-15 Schneider Electric It Corporation Data center control
US9519517B2 (en) 2009-02-13 2016-12-13 Schneider Electtic It Corporation Data center control
US10719149B2 (en) 2009-03-18 2020-07-21 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US9292166B2 (en) 2009-03-18 2016-03-22 Touchtunes Music Corporation Digital jukebox device with improved karaoke-related user interfaces, and associated methods
US10564804B2 (en) 2009-03-18 2020-02-18 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
CA2754990C (en) 2009-03-18 2015-07-14 Touchtunes Music Corporation Entertainment server and associated social networking services
KR101108679B1 (ko) * 2009-11-04 2012-01-25 삼성메디슨 주식회사 자가진단 및 복원기능을 갖는 초음파 진단 방법 및 시스템
US20110161721A1 (en) * 2009-12-30 2011-06-30 Dominic Fulginiti Method and system for achieving a remote control help session on a computing device
CN105355221A (zh) 2010-01-26 2016-02-24 踏途音乐公司 具有改进的用户界面的数字点播设备和相关方法
US8261131B2 (en) * 2010-10-15 2012-09-04 Sony Corporation Recovery from HDD failure and technical support through WWAN
JP5655533B2 (ja) * 2010-12-07 2015-01-21 富士通株式会社 情報処理装置の制御方法、情報処理装置、及び情報処理装置の制御プログラム
US9858126B2 (en) 2010-12-16 2018-01-02 Microsoft Technology Licensing, Llc Device redirection for remote systems
US8825451B2 (en) 2010-12-16 2014-09-02 Schneider Electric It Corporation System and methods for rack cooling analysis
US8990536B2 (en) 2011-06-01 2015-03-24 Schneider Electric It Corporation Systems and methods for journaling and executing device control instructions
JP6002770B2 (ja) 2011-09-18 2016-10-05 タッチチューンズ ミュージック コーポレーション カラオケおよび/またはプリクラ機能を備えたデジタルジュークボックス装置および関連手法
US10061534B2 (en) * 2011-12-01 2018-08-28 Intel Corporation Hardware based memory migration and resilvering
AU2011383606A1 (en) 2011-12-22 2014-07-17 Schneider Electric It Corporation System and method for prediction of temperature values in an electronics system
US9952103B2 (en) 2011-12-22 2018-04-24 Schneider Electric It Corporation Analysis of effect of transient events on temperature in a data center
US11151224B2 (en) 2012-01-09 2021-10-19 Touchtunes Music Corporation Systems and/or methods for monitoring audio inputs to jukebox devices
JP5842683B2 (ja) * 2012-03-12 2016-01-13 富士通株式会社 情報処理装置、メモリダンププログラム及びメモリダンプ方法
CN103593281B (zh) * 2012-08-15 2016-06-15 纬创资通股份有限公司 测试系统及测试方法
CN104541258B (zh) 2012-09-26 2018-03-13 英特尔公司 用于尽管有非运转的操作系统但仍显示视频的方法和装置
TW201322685A (zh) * 2012-10-24 2013-06-01 Cal Comp Electronics & Comm Co 恢復網路設定參數的系統及其方法
US9361127B2 (en) * 2013-07-19 2016-06-07 Dell Products L.P. Switching between network interface cards during different stages of operation
US20150113263A1 (en) * 2013-10-23 2015-04-23 Aic Inc. Method for updating basic input/output system of server
US9921717B2 (en) 2013-11-07 2018-03-20 Touchtunes Music Corporation Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices
US10372463B1 (en) * 2013-11-27 2019-08-06 EMC IP Holding Company LLC Provisioning a computerized device with an operating system
US10289399B2 (en) 2014-01-22 2019-05-14 Hewlett-Packard Development Company, L.P. System firmware configuration data
US9846584B1 (en) * 2014-01-29 2017-12-19 Phoenix Technologies Ltd. Promoting a secure operating environment through oversight and provisioning of BIOS activity
CN103853586B (zh) * 2014-03-05 2017-02-08 中南大学 一种在uefi层实现无线网卡驱动的方法
KR102303730B1 (ko) 2014-03-25 2021-09-17 터치튠즈 뮤직 코포레이션 향상된 사용자 인터페이스를 가지는 디지털 주크박스 장치 및 관련 방법.
US20190163595A1 (en) * 2017-11-30 2019-05-30 Rustin B. Penland System and method for providing network access in the event of a computer system failure
US11467934B2 (en) * 2018-12-31 2022-10-11 Lenovo (Singapore) Pte. Ltd. Diagnostic scan
WO2020176093A1 (en) 2019-02-28 2020-09-03 Hewlett-Packard Development Company, L.P. Signed change requests to remotely configure settings
CN111176893A (zh) * 2019-12-24 2020-05-19 航天信息股份有限公司 计算机远程控制方法、装置、系统和存储介质
US11126518B1 (en) * 2020-03-16 2021-09-21 Quanta Computer Inc. Method and system for optimal boot path for a network device
US11836500B2 (en) * 2022-05-06 2023-12-05 Dell Products L.P. Systems and methods for basic input/output system driver offline protocol
CN116610539B (zh) * 2023-04-07 2024-04-05 合芯科技有限公司 一种开机自检信息的显示系统、显示方法、设备及介质

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200770A (en) * 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US4335426A (en) * 1980-03-10 1982-06-15 International Business Machines Corporation Remote processor initialization in a multi-station peer-to-peer intercommunication system
DE3374964D1 (en) * 1982-09-29 1988-01-28 Toshiba Kk Decentralized information processing system and initial program loading method therefor
JPH0792761B2 (ja) * 1985-07-31 1995-10-09 株式会社日立製作所 仮想計算機システムの入出力制御方法
US4703481A (en) * 1985-08-16 1987-10-27 Hewlett-Packard Company Method and apparatus for fault recovery within a computing system
US4747040A (en) * 1985-10-09 1988-05-24 American Telephone & Telegraph Company Dual operating system computer
CA1215431A (en) * 1985-10-24 1986-12-16 Demco Bingo Inc. Method of making bingo cards
US4724521A (en) * 1986-01-14 1988-02-09 Veri-Fone, Inc. Method for operating a local terminal to execute a downloaded application program
GB2203573A (en) * 1987-04-02 1988-10-19 Ibm Data processing network with upgrading of files
JPS63292257A (ja) * 1987-05-11 1988-11-29 インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション 複数の端末局へのデ−タまたはプログラムのロ−デイング方法
US4885770A (en) 1987-09-04 1989-12-05 Digital Equipment Corporation Boot system for distributed digital data processing system
US4918653A (en) * 1988-01-28 1990-04-17 International Business Machines Corporation Trusted path mechanism for an operating system
US5155847A (en) * 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
US5008814A (en) * 1988-08-15 1991-04-16 Network Equipment Technologies, Inc. Method and apparatus for updating system software for a plurality of data processing units in a communication network
US4975950A (en) * 1988-11-03 1990-12-04 Lentz Stephen A System and method of protecting integrity of computer data and software
US5142680A (en) * 1989-04-26 1992-08-25 Sun Microsystems, Inc. Method for loading an operating system through a network
US5473772A (en) * 1991-04-02 1995-12-05 International Business Machines Corporation Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
US5210875A (en) * 1989-08-25 1993-05-11 International Business Machines Corporation Initial bios load for a personal computer system
GB9012949D0 (en) * 1989-08-25 1990-08-01 Ibm An apparatus and method for loading bios from a diskette in a personal computer system
FR2657445B1 (fr) * 1990-01-25 1992-04-10 Gemplus Card Int Procede de chargement de programmes d'application dans un lecteur de carte a memoire a microprocesseur et systeme destine a sa mise en óoeuvre.
US5481754A (en) * 1990-05-18 1996-01-02 International Business Machines Corporation Apparatus and method for bios interface to features in multiple adapter cards in one operation using registers with bits distributed across the adapter cards
US5307497A (en) * 1990-06-25 1994-04-26 International Business Machines Corp. Disk operating system loadable from read only memory using installable file system interface
EP0476195A1 (en) * 1990-09-19 1992-03-25 International Business Machines Corporation Initial program load for computer workstation
US5230052A (en) * 1990-10-01 1993-07-20 International Business Machines Corp. Apparatus and method for loading bios into a computer system from a remote storage location
IT1246673B (it) * 1991-02-13 1994-11-24 D E Sistemi S R L Metodo e sistema per il controllo numerico di un impianto o di una macchina tramite microprocessore.
US5265252A (en) * 1991-03-26 1993-11-23 International Business Machines Corporation Device driver system having generic operating system interface
US5297282A (en) * 1991-05-29 1994-03-22 Toshiba America Information Systems, Inc. Resume processing function for the OS/2 operating system
US5355490A (en) * 1991-06-14 1994-10-11 Toshiba America Information Systems, Inc. System and method for saving the state for advanced microprocessor operating modes
DE69222528T2 (de) * 1991-06-26 1998-04-16 Ast Research Inc Verteilte multiprozessor-initialisierung und selbstprüfungssystem
US5291585A (en) * 1991-07-29 1994-03-01 Dell Usa, L.P. Computer system having system feature extension software containing a self-describing feature table for accessing I/O devices according to machine-independent format
US5268928A (en) * 1991-10-15 1993-12-07 Racal-Datacom, Inc. Data modem with remote firmware update
US5452454A (en) * 1991-12-10 1995-09-19 Digital Equipment Corporation Generic remote boot for networked workstations by creating local bootable code image
US5319751A (en) * 1991-12-27 1994-06-07 Intel Corporation Device driver configuration in a computer system
US5355498A (en) * 1992-02-25 1994-10-11 Sun Microsystems, Inc. Method and apparatus for booting a computer system without loading a device driver into memory
US5357628A (en) * 1992-03-25 1994-10-18 Intel Corporation Computer system having integrated source level debugging functions that provide hardware information using transparent system interrupt
US5481709A (en) * 1992-06-22 1996-01-02 International Business Machines Corporation Method and apparatus for providing a modular ABIOS device support layer in a computer system
US5446898A (en) * 1992-06-22 1995-08-29 International Business Machines Corporation Method and apparatus for configuring and installing a loadable ABIOS device support layer in a computer system
US5495611A (en) * 1992-06-22 1996-02-27 International Business Machines Corporation Method and apparatus for dynamic load of an ABIOS device support layer in a computer system
EP0592079A2 (en) * 1992-09-20 1994-04-13 Sun Microsystems, Inc. Automated software installation and operating environment configuration on a computer system
US5325532A (en) * 1992-09-25 1994-06-28 Compaq Computer Corporation Automatic development of operating system boot image
US5390324A (en) * 1992-10-02 1995-02-14 Compaq Computer Corporation Computer failure recovery and alert system
FR2697357B1 (fr) * 1992-10-23 1994-12-23 Gemplus Card Int Procédé d'acquisition de logiciels et système informatique pour mettre en Óoeuvre le procédé.
US5377269A (en) * 1992-10-29 1994-12-27 Intelligent Security Systems, Inc. Security access and monitoring system for personal computer
US5657448A (en) * 1992-11-18 1997-08-12 Canon Kabushiki Kaisha System for an interactive network board remotely configurable by selecting from a plurality of functionality defining software, such as a printer server stored in prom
US5623604A (en) * 1992-11-18 1997-04-22 Canon Information Systems, Inc. Method and apparatus for remotely altering programmable firmware stored in an interactive network board coupled to a network peripheral
US5359730A (en) * 1992-12-04 1994-10-25 International Business Machines Corporation Method of operating a data processing system having a dynamic software update facility
US5404527A (en) * 1992-12-31 1995-04-04 Unisys Corporation System and method for remote program load
US5519843A (en) * 1993-03-15 1996-05-21 M-Systems Flash memory system providing both BIOS and user storage capability
US5349643A (en) * 1993-05-10 1994-09-20 International Business Machines Corporation System and method for secure initial program load for diskless workstations
US5497494A (en) * 1993-07-23 1996-03-05 International Business Machines Corporation Method for saving and restoring the state of a CPU executing code in protected mode
US5444850A (en) * 1993-08-04 1995-08-22 Trend Micro Devices Incorporated Method and apparatus for controlling network and workstation access prior to workstation boot
US5491788A (en) * 1993-09-10 1996-02-13 Compaq Computer Corp. Method of booting a multiprocessor computer where execution is transferring from a first processor to a second processor based on the first processor having had a critical error
AUPM348794A0 (en) * 1994-01-20 1994-02-17 Alcatel Australia Limited Microprocessor fault log
US5754798A (en) * 1994-02-18 1998-05-19 Kabushiki Kaisha Toshiba Computer system with function for controlling system configuration and power supply status data
US5560023A (en) * 1994-09-07 1996-09-24 International Business Machines Corporation Automatic backup system for advanced power management
US5600785A (en) * 1994-09-09 1997-02-04 Compaq Computer Corporation Computer system with error handling before reset
JPH08212086A (ja) * 1994-09-30 1996-08-20 Microsoft Corp オフィスマシンのオペレーティングシステム及び方法
US5715456A (en) * 1995-02-13 1998-02-03 International Business Machines Corporation Method and apparatus for booting a computer system without pre-installing an operating system
US5701477A (en) * 1995-03-30 1997-12-23 Cirrus Logic, Inc. Method and apparatus for master boot record shadowing
US5689726A (en) * 1995-05-03 1997-11-18 United Microelectronics Corporation Computer system interface adapter capable of automatic self-configuration and self-diagnosis before operating system initiation
US5696968A (en) * 1995-09-21 1997-12-09 Dell U.S.A., L.P. Method and apparatus for effecting drive ordering via adapter preference
US5732268A (en) * 1996-02-26 1998-03-24 Award Software International Extended BIOS adapted to establish remote communication for diagnostics and repair
US5793943A (en) * 1996-07-29 1998-08-11 Micron Electronics, Inc. System for a primary BIOS ROM recovery in a dual BIOS ROM computer system

Also Published As

Publication number Publication date
JP2009230766A (ja) 2009-10-08
TW444171B (en) 2001-07-01
CN1103958C (zh) 2003-03-26
CN1439961A (zh) 2003-09-03
CN1257591A (zh) 2000-06-21
WO1998041916A1 (en) 1998-09-24
KR20010005535A (ko) 2001-01-15
AU6574398A (en) 1998-10-12
CN1333332C (zh) 2007-08-22
EP1019804A4 (en) 2002-06-26
JP2001516479A (ja) 2001-09-25
US5978912A (en) 1999-11-02
EP1019804A1 (en) 2000-07-19
JP2007172634A (ja) 2007-07-05
JP4440990B2 (ja) 2010-03-24
US6324644B1 (en) 2001-11-27

Similar Documents

Publication Publication Date Title
KR100620216B1 (ko) 기능하는 운영 체제 없이 컴퓨터의 원격 관리를 가능하게 하는 네트워크 확장 기본 입출력 시스템
US9804901B2 (en) Update management for a distributed computing system
US6691225B1 (en) Method and apparatus for deterministically booting a computer system having redundant components
US5276863A (en) Computer system console
US5978911A (en) Automatic error recovery in data processing systems
US7421620B2 (en) Configuration proxy service for the extended firmware interface environment
US6807643B2 (en) Method and apparatus for providing diagnosis of a processor without an operating system boot
US7478141B2 (en) Accessing firmware of a remote computer system using a remote firmware interface
US6189114B1 (en) Data processing system diagnostics
US7543048B2 (en) Methods and apparatus for enabling of a remote management agent independent of an operating system
US7725943B2 (en) Embedded system administration
EP1369779A2 (en) System and method for custom installation of an operating system on a remote client
WO1995027249A1 (en) Method and appartus for monitoring and controlling programs in a network
US20030200428A1 (en) Method and system for booting a client computer system over a network
US6754759B1 (en) Transfer of information between devices on different buses
US7114066B1 (en) Method, apparatus, and computer-readable medium for ensuring compatibility between an operating system and a BIOS redirection component
JP4208494B2 (ja) ネットワークサーバへの負荷テストシステム
WO2001080007A2 (en) Methods and apparatus for robust startup of a computer system having redundant components
KR19990019445U (ko) 퍼스널 컴퓨터 서버 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120802

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130812

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140807

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150807

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee