KR20000052311A - 컴퓨터시스템에 대한 복구 가능한 소프트웨어 설치방법 및 장치 - Google Patents

컴퓨터시스템에 대한 복구 가능한 소프트웨어 설치방법 및 장치 Download PDF

Info

Publication number
KR20000052311A
KR20000052311A KR1019990036080A KR19990036080A KR20000052311A KR 20000052311 A KR20000052311 A KR 20000052311A KR 1019990036080 A KR1019990036080 A KR 1019990036080A KR 19990036080 A KR19990036080 A KR 19990036080A KR 20000052311 A KR20000052311 A KR 20000052311A
Authority
KR
South Korea
Prior art keywords
partition
manufacturing
computer system
utility
drive
Prior art date
Application number
KR1019990036080A
Other languages
English (en)
Other versions
KR100578940B1 (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
Application filed by 헨리 엔 가라나, 델 유에스에이 엘 피 filed Critical 헨리 엔 가라나
Publication of KR20000052311A publication Critical patent/KR20000052311A/ko
Application granted granted Critical
Publication of KR100578940B1 publication Critical patent/KR100578940B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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]

Abstract

지정된 컴퓨터시스템의 제조에 사용되는 소프트웨어 설치는 하나 이상의 프로세서, 하나 이상의 메모리, 및 컴퓨터시스템을 네트워크 서버에 접속하는 인터페이스를 제공하는 단계를 포함한다. 하나 이상의 메모리는 마스터 부트 레코드, 유틸리티파티션, 및 기본파티션을 포함한다. 유틸리티파티션은 컴퓨터시스템 제조의 제조순서에 특정한 제조코드를 포함한다. 기본파티션은 파일 할당표와 루트 디렉토리를 더 포함한다. 컴퓨터시스템 부팅시, 제조코드는 하나 이상의 프로세서에 의해 실행되고, 제조순서는 적어도 네트워크 서버로부터 기본파티션으로의 소프트웨어 다운로드를 포함한다. 제조코드는 네트워크 서버로부터 소프트웨어 다운로드시 인터럽트가 발생하면 파일 할당표 및 기본파티션을 클리어하는 명령 및 하나 이상의 메모리의 재포맷 및 재분할없이 소프트웨어 다운로드를 다시 시작하는 명령을 더 포함한다

Description

컴퓨터 시스템에 대한 복구가능한 소프트웨어 설치 방법 및 장치{Recoverable software installation process and apparatus for computer system}
본 발명은 일반적으로 컴퓨터 제작에 관한 것으로, 특히 주문제작(build-to-order) 컴퓨터시스템의 제작에 관한 것이다.
본 출원은 발명자가 Alan Beelitz 이고 발명의 명칭이 "Modifiable Partition Boot Record for a Computer Memory Device" 이고 1997년 10월 15 일 출원된 계류중인 미국 특허 출원 번호 제 08/951,135 호와 관련된다. 이 계류중인 출원은 참고로 여기에 기재하며 본 발명의 양수인에게 양도되었다.
본 출원은 발명자가 Alan Beelitz 이고 발명의 명칭이 "System and Method for Changing Partition Mappings to Logical Drives in a Computer Memory" 이고 1997년 12월 3일 출원된 계류중인 미국 특허 출원 번호 제 08/984,386 호와 관련된다. 이 계류중인 출원은 참고로 여기에 기재하며 본 발명의 양수인에게 양도된 것이다.
본 출원은 발명자가 Alan Beelitz 이고 발명의 명칭이 "System and Method for Updating Partition Mappings to Logical Drives in a Computer Memory Device" 이고 1997년 10월 15일 출원된 계류중인 미국 특허 출원 번호 제 08/950,545 호와 관련된다. 이 계류중인 출원은 참고로 여기에 기재하며 본 발명의 양수인에게 양도된 것이다.
본 출원은 발명자가 Alan Beelitz 이고 발명의 명칭이 "Method for Simulating a Computer Storage Device" 이고 1997년 10월 8일 출원된 계류중인 미국 특허 출원 번호 제 08/947,138 호와 관련된다. 이 계류중인 출원은 참고로 여기에 기재하며 본 발명의 양수인에게 양도된 것이다.
본 출원은 발명자가 Alan Beelitz 이고 발명의 명칭이 "System and Method for Utilizing a RAM Disk" 이고 1997년 10월 15일 출원된 계류중인 미국 특허 출원 번호 제 08/951,137 호와 관련된다. 이 계류중인 출원은 참고로 여기에 기재하며 본 발명의 양수인에게 양도된 것이다.
본 출원은 발명자가 Alan Beelitz 이고 발명의 명칭이 "System and Method for Preparing a Computer Memory" 이고 1998년 1월 23일 출원된 계류중인 미국 특허 출원 번호 제 09/012,196 호와 관련된다. 이 계류중인 출원은 참고로 여기에 기재하며 본 발명의 양수인에게 양도된 것이다.
본 출원은 발명자가 Alan Beelitz 이고 발명의 명칭이 "Computer System and Method for Accessing a Computer-Readable Medium" 이고 1998년 11월 24일 출원된 계류중인 미국 특허 출원 번호 제 09/198,007 호와 관련된다. 이 계류중인 출원은 참고로 여기에 기재하며 본 발명의 양수인에게 양도된 것이다.
본 출원은 발명자가 Alan Beelitz 이고 발명의 명칭이 "Computer System and Method for Preparing a Computer-Readable Medium" 이고 1998년 11월 24일 출원된 계류중인 미국 특허 출원 번호 제 09/198,731 호와 관련된다. 이 계류중인 출원은 참고로 여기에 기재하며 본 발명의 양수인에게 양도된 것이다.
몇몇의 컴퓨터 제조업자 사이의 현재의 경향은, 주문할 시스템에 고객이 소정의 구성요소 및 기능이 포함되도록 지정하는 고객 제작 또는 "주문제작" 컴퓨터시스템을 고객에게 제공하는 것이다. 그러므로, 주문제작 과정의 모든 단계에서 효율을 최대화하는 것이 중요하다. 그 효율은 주문이 들어와 처리될 때 시작하여 조립, 테스트, 고객 제작 장치가 출하될 때까지 유지된다.
주문제작 컴퓨터시스템의 생산동안, 컴퓨터에 대한 특정 구성요소를 저장고에서 꺼내 그 특정 구성요소들이 컴퓨터 섀시에 조립되는 조립포드(assembly pod)로 들어간다. 조립후에, 섀시는 주문에 대한 정확한 구성요소가 설치되었는지 및 구성요소가 동작하는지를 신속하게 결정하도록 테스트가 수행되는 신속테스트영역으로 이동한다.
신속테스트 절차후에, 조립된 섀시는 부품을 "번인" 테스트하고 동작 에러를 검출할 수 있는 번랙으로 이동한다. 많은 장치가 번랙에서 동시에 테스트되고 테스트는 몇시간 내에 완료될 수 있다. 제조된 많은 장치가 테스트되기를 기다리고 있으므로, 테스트동안 이용가능한 번랙 공간이 효율적으로 사용되는 것은 중요하다. 그러므로, 테스트중의 컴퓨터 또는 장치(DUT)는 DUT가 만족스럽게 동작하는지를 신속하고 효율적으로 결정하는 방법으로 테스트되고, 그렇지 않으면, 즉, 동작 결함이 신속하고 효율적으로 결정되면, DUT가 번랙으로부터 제거되어 테스트될 또다른 DUT를 위하여 차지하고 있는 번랙 공간을 비우는 것이 중요하다.
최근에는 독립형 장치보다는 오히려 네트워크상의 클라이언트(client)로서 기능하는 컴퓨터를 생산하도록 개발되어 왔다. 이러한 종류의 컴퓨터는 디스켓 드라이브가 없다는 점에서 다른 것과 구별된다. 디스켓 드라이브를 없애는 것은 네트워크 관리를 집중시키려는 소망에서부터 기인한다. 그러나, 컴퓨터상의 디스켓 드라이브의 생략은 실행을 위해 디스켓의 사용에 의존했던 종래와 같은 제조 프로세스에서 중요한 의미를 지니게 된다.
예를 들면, 운영체제 소프트웨어는 일반적으로 제조 프로세스동안 컴퓨터시스템의 하드드라이브에 다운로드된다. 디스켓 드라이브가 없다면, 컴퓨터시스템의 하드드라이브로 소프트웨어를 다운로드하는 동안 인터럽트가 발생하면, 제조 디스켓으로부터 컴퓨터시스템을 재부팅하고 다운로드를 다시 시작할 수 없게 된다. 또한, 제조 프로세스 중의 이 스테이지에서는, 컴퓨터시스템이 신속테스트 스테이션의 시스템 테스트 서버(LCM 서버) 보다 오히려 번랙의 시스템 소프트웨어 다운로드 서버에 접속되어 있고 컴퓨터시스템의 부트 장치는 "네트워크" 보다는 오히려 "하드디스크"에 셋트되어 있으므로, 네트워크 서버로부터 컴퓨터시스템을 재부팅할 수 없다. 기본파티션은 액티브로, 즉, 부팅할 수 있는 것으로 마크되어, 부분적으로 다운로드된 타겟 운영체제를 로드하려고 시도할 것이므로, 하드디스크로부터 부팅역시 가능하지 않을 것이다. 이러한 상황에서, 번랙으로부터 컴퓨터를 제거하여 그 컴퓨터를 재포맷 및 재분할을 위한 신속테스트로 복귀시킴으로써 시스템 테스트 서버(LCM 서버)에 접속될 수 있게 함으로써 모든 제조 프로세스가 재시작될 수 있다. 그러나, 이것은 불편하며 시간을 소비한다. 그러므로 제조 효율과 처리량에는 불리하게 작용한다.
도 1 은 본 발명의 일실시예를 수행하는 컴퓨터의 블록도.
도 2 는 도 1 의 컴퓨터의 하드드라이브의 레이아웃도.
도 3 은 도 1 의 컴퓨터의 하드드라이브의 예시적인 마스터 파티션표를 나타내는 도면.
도 4 는 도 1 의 컴퓨터의 하드드라이브의 예시적인 기본파티션을 나타내는 도면.
도 5 는 본 발명의 일실시예에 따른 도 1 의 컴퓨터 제조용 제조 프로세스를 나타내는 도면.
도 6 은 본 발명의 일실시예에 따른 번랙 프로세싱(burn rack processing)동안 번랙 제어기로의 컴퓨터시스템의 결합을 나타내는 도면.
도 7 은 본 발명의 컴퓨터의 제조시에 미리 지정된 제조순서에 따른 확장 테스트 및 소프트웨어 장착 프로세스를 포함하는 번랙 프로세싱의 흐름도.
< 도면의 주요부분에 대한 부호의 설명 >
10: 컴퓨터시스템 12: CPU
14: 입력/출력장치 16: 하드디스크 드라이브
18: 다른 기억장치 20: 다른 서브시스템
22: 버스
지정된 컴퓨터시스템의 제조에 사용하기 위한 소프트웨어 설치방법은, 하나 이상의 프로세서, 하나 이상의 메모리, 및 컴퓨터시스템을 네트워크 서버로 접속하기 위한 인터페이스를 제공하는 단계를 포함한다. 하나 이상의 메모리는 마스터 부트 레코드, 유틸리티파티션, 및 기본파티션을 포함한다. 유틸리티파티션은 컴퓨터시스템의 제조시에 제조순서에 특정한 제조코드를 포함한다. 컴퓨터시스템의 부팅시, 제조코드는 하나 이상의 프로세서에 의해 실행되고, 제조순서는 적어도 네트워크 서버로부터 기본파티션으로의 소프트웨어 다운로드를 포함한다.
본 발명에 따른 컴퓨터시스템, 특히 NetPC 제조의 기술적 이점은, 실시예가 제조 프로세스동안 인터럽트가 발생한 경우 복구가 가능하고, 이 복구는 인터럽트가 발생하는 제조 프로세스의 소정의 순서 또는 페이즈에 근사하며 NetPC 제조 프로세스가 하드디스크 분할로 다시 시작하도록 요구하지 않는다. 좀더 효과적이고 효율적인 NetPC 제조 프로세스가 제공된다.
본 발명의 전술한 및 다른 이점은 이하에서 언급된 본 발명을 실시하는 최상 모드의 상세한 설명으로부터 명백해질 것이다.
도 1을 참조하면, 컴퓨터시스템(10)의 시스템 블록도는 고객구성 컴퓨터시스템 주문에 따라 구성된 특징을 갖는다. 컴퓨터시스템(10)은, 중앙처리장치(CPU)(12), 디스플레이, 키보드, 마우스, 및 관련된 제어기 등의 입력/출력(I/O)장치(14), 하드디스크 드라이브(16)및 플로피 디스크 드라이브, CD-ROM 드라이브, 랜덤 액세스 메모리(RAM), 비휘발성 랜덤 액세스 메모리(NVRAM), 판독전용 메모리(ROM)및 다른 메모리 장치 등의 다른 기억 장치(18), 네트워크 인터페이스 카드(또는 NIC), 모뎀, 또는 워치도그 타이머 등의 여러 가지의 다른 서브시스템(20)을 포함하고, 이들 모두는 하나 이상의 버스(도 1에서 버스(22)로 표시됨)를 통해 상호 접속되어 있다. NetPC의 경우에, 플로피 디스크 드라이브는 일반적으로 포함되지 않는다. 본 예에서는, 컴퓨터시스템(10)은 마이크로소프트 도스(DOS)및/또는 윈도우즈(Windows)를 실행하는 퍼스컴을 포함할 수 있다. 그러나, 컴퓨터시스템(10)과 그 구성요소는 단지 공지된 여러 종류의 컴퓨터와 구성요소의 예시이다.
도 2를 참조하면, 하드드라이브(16)는 마스터 부트 레코드(30), 유틸리티파티션(32), 및 기본파티션(34)을 포함하는 3 개이상의 상이한 파티션으로 세분된다. 마스터 부트 레코드(30)에는 부트스트랩 코드(40)와 마스터 파티션표(42)가 위치한다. 마스터 파티션표(42)는 각각의 파티션(32, 34)에 대한 타입을 나타내는 코드이다. 마스터 부트 레코드(30)는 또한 공지된 컴퓨터시스템(10)을 부팅하기 위한 종래의 코드를 포함한다.
유틸리티파티션은 부트 레코드(50)및 일괄적으로 참조번호(52)로 지정한 파일 할당표, 루트 디렉토리 및 파일을 포함한다. 파일은 제조할 컴퓨터시스템에 특정된 제조코드를 포함한다. 즉, 제조코드는 지정된 제조순서로 확장테스트 및 소프트웨어설치를 수행하기 위한 명령을 포함한다. 컴퓨터시스템의 정상동작에 있어서, 유틸리티파티션(32)은 메인티넌스 및 컴퓨터 진단 동작과 같은 특정 상황 동안에만 사용될 것이다. 기본파티션(34)은 또한 부트 레코드(60)및 일괄적으로 참조번호(62)로 지정된 파일 할당표, 루트 디렉토리 및 파일을 포함한다. 정상 동작에서, 기본파티션(34)이 종종 사용될 것이며 하드드라이브(16)의 가장 큰 부분을 차지할 것이다. 그러므로, 정상 동작동안, 운영체제가 하드드라이브(16)를 액세스하는 경우, 기본파티션(34)만을 찾아 액세스하고 유틸리티파티션(32)은 액세스하지 않는다.
도 3을 참조하면, 예시적인 마스터 파티션표(42)가 도시되어 있다. 마스터 파티션표(42)에서, 제 1 행 또는 기술어(descriptor)(42)는 유틸리티파티션과 관련되고, 제 2 행 또는 기술어(46)는 기본파티션과 관련된다. 칼럼은 플래그필드(47), 타입 필드(48), 및 파라미터(49)를 각각 나타낸다. 유틸리티파티션의 플래그필드(47a)는 액티브로 마크되는 반면, 기본파티션의 플래그필드(47b)는 인액티브(inactive)로 마크된다. 유틸리티파티션 타입 필드는 DEh이고, 무효 타입은 DOS에서 인식할 수 없으며 유틸리티파티션을 DOS에서 볼 수 없다. 기본파티션 타입 필드는 06h(또는 기본파티션에 상주할 의도된 파일 시스템에 따라, 임의의 다른 유효 인식가능한 타입)이다. 유틸리티파티션 및 기본파티션에 각각 관련되고 특정된 파라미터(49a, 49b)가 또한 제공된다. 마지막으로, 본 실시예에 따라 컴퓨터시스템을 제조하는 동안, 지정된 맵핑(45)이 실행되고, 유틸리티파티션이 참조 번호(45a)로 표시된 바와 같이 가상 A: 드라이브로서 맵핑되고, 기본파티션이 참조 번호(45b)로 표시된 바와 같이 논리 C: 드라이브로서 맵핑되고, 이들 모두는 이하에서 더 설명한다.
이하, 도 4를 참조하여, 기본파티션(34)(도 2에 도시)을 더 상세히 설명한다. 기본파티션(34)은 파티션 부트 레코드(60), 파일 할당표(64), 루트 디렉토리(66), 파일(68)을 포함한다. 파티션 부트 레코드(60)는 기본파티션에 다운로드될 타겟 운영체제에 특정된다. 파일(68)은 사용될 특정 파일 시스템 타입(예를 들어, FAT16, FAT32 등)에 의존한다. 기본파티션은 시작(69a)및 종료(69b)를 갖는 지정된 크기(69)에 의해 더욱 특징화된다.
본 발명의 방법 및 장치는 또한 컴퓨터시스템, 특히 NetPC 시스템의 제조에서 Waffle 프로그램 및 Turnover 유틸리티의 사용한다. 현재 Waffle 프로그램은 주문제작 컴퓨터 제조 프로세스의 일부로서 사용된다. Waffle 프로그램은 많은 메모리 드라이브 조작 기능에 사용된다. NetPC 제조에 대해서, Waffle 프로그램은 새로운 지시어(directive)를 유지하기 위해 향상된다. 여기서 "초기" 로서 언급되는 새로운 지시어는 Waffle를 지시하여 마스터 파티션표(42)와 소정의 드라이브 맵핑(45)을 특정 상태로 셋팅한다. 이 "초기" 상태에서, 마스터 파티션표(42)는 (유틸리티파티션을 참조하는) 제 1 기술어(44)의 파티션 타입(48a)이 DEh(hex)로 셋팅되도록 셋팅된다.(기본파티션을 참조하는)제 2 기술어(46)에서, 파티션 타입(48b)은(기본파티션에서 사용되는 파일 시스템의 타입에 의존하여)06h, 0Bh, 또는 0Ch로 셋팅된다. 제 1 파티션(32)은 "액티브"(47a)로 마크(즉, 제 1 파티션은 시스템을 부팅할 때 제어될 것이다)되고, 제 2 파티션(34)는 "인액티브"(47b)로 마크된다. 논리 드라이브 맵핑(45)은 유틸리티파티션이 "가상" A: 드라이브(45a)로서 맵핑되고 기본파티션이 논리 C: 드라이브(45b)로서 맵핑되도록 셋팅된다. Waffle은 유틸리티파티션 및 기본파티션이 동시에 나타나는 동안 "초기" 상태가 항상 달성될 수 있도록 "초기"지시어를 처리한다. 이것은 현재 유효한 드라이브 맵핑 또는 마스터 파티션표의 이전 상태에 관계없이 적용된다.
일단 컴퓨터시스템(10) 및 특히 하드디스크(16)가 "초기" 상태로 세팅되면, 컴퓨터시스템 제조 프로세스는 지정된 방법으로 실행될 수 있다. 제조 프로세스 파일은 ("가상" A: 드라이브로서 맵핑된) 유틸리티파티션(32)내에 유지되고 다운로드된 소프트웨어는 (논리 C: 드라이브로서 맵핑된) 기본파티션(34)내에 기억된다. 정상적인 상황하에서, "초기" 상태와 "가상 A: 드라이브" 상태간에는 차이가 발생하지 않고, 이는 NetPC의 제조를 실행할 수 있게 한다. 그러나, 소프트웨어 다운로드 프로세스 동안 인터럽트가 발생하면, "초기"상태가 작동하기 시작한다. 정상적인 상황하에서, 기본파티션(34)은 "액티브"로서 마크되고,(일부로 또는 부주의하여) 재부팅이 발생하면, 다시 제어를 행한다. DOS 는 항상 논리 C: 드라이브로서 제 1 디스크상에 액티브 기본파티션을 맵핑하도록 시도하므로, 부팅 후의 간섭은 이것을 변경시키기 위해 필요하다. 그러나, 디스크가 "초기" 상태로 설정되면, 유틸리티파티션은 "액티브"로 마크되어, 시스템의 재시작시 제어를 행한다. 이것은(유틸리티파티션에 위치하는) 제조 프로세스 코드가 다운로드 프로세스를 다시 제어하도록 한다. "초기" 상태로 시스템을 복구하는 것은 이 프로세서에서 제 1 단계중의 하나이다.
소프트웨어 설치 프로세스는 (다운로드 프로세스가 인터럽트되는 경우의 결과로서) "부분적인" 다운로드를 처리할 수 있도록 설계되어 있지 않으므로, 다운로드의 재시작을 시도하기 전에 기본파티션(34)을 "원래(pristine)" 상태로 복원할 필요가 있다. 이것은 턴오버(Turnover) 유틸리티를 통해 실행된다. 턴오버 유틸리티는 기본파티션(34)의 파일 할당표(64)및 루트 디렉토리(66)를 "공백(empty)"상태로 리셋한다. DOS "포맷"명령과 같은 유틸리티를 사용하여 이러한 동작을 수행할 수 없다. 왜냐하면, 이러한 수행은 파티션 부트 레코드(60)를 교체하기 때문이다. 파티션 부트 레코드(60)는 타겟 운영체제와 관련되고 신속테스트의 모든 하드디스크 작성 프로세스를 다시 시작하지 않고 교체될 수 없다. 턴오버가 이 동작을 완료한 후에,(유틸리티파티션(32)에 기억된) 제조 프로세스 코드는 공백 기본파티션(34)으로의 소프트웨어 다운로드를 재실행할 수 있다. 소프트웨어 설치 프로세스의 복구를 처리하는 지정된 제조 프로세스로, 인터럽트된 다운로드로부터의 복구는 완전 자동으로 될 수 있다. 즉, 복구는 컴퓨터시스템(10)이 번랙의 위치로부터 이동될 필요가 없고 오퍼레이터의 간섭이 불필요하다.
Waffle를 더 설명하면, Waffle은 논리 C: 드라이브 지정이 기본파티션(34)및 유틸리티파티션(32) 사이에서 교환되도록 하는 프로그램이다. 이것은 C: 드라이브의 내부 운영체제 구조의 드라이브 데이터표와 드라이브 파라미터 블록의 내용을 조작하여 기본파티션(34)또는 유틸리티파티션(32)에 파라미터를 반영함으로써 성취된다. Waffle 프로그램은 또한 하드디스크 드라이브의 운영체제의 내부 표시를 재생(리프레쉬)하여 디스크 분할 및 포맷 후에 사용되는 실제 파라미터를 매칭하는 능력을 포함한다. 논리 A: 드라이브와 관련된 장치는 또한 Waffle 프로그램을 통해 유틸리티파티션(32)에 가상화될 수 있다. Waffle는 또한 디스크 캐쉬와 로컬 에어리어 네크워크와 호환가능하다. 부트 하드드라이브가 FAT 포맷 기본파티션을 포함하지만 운영체제가 드라이브를 액세스하는데 필요한 구조를 포함하지 않으면, Waffle 프로그램은 예를 들어 높은 메모리 영역에서 이들 구조를 합성하고 논리 C: 드라이브를 액세스할 수 있게 한다.
일 실시예에서, 유틸리티파티션(32)은 약 10 메가바이트의 크기를 갖는 매우 작은 FAT16 기본파티션의 한 타입이다. 유틸리티파티션은 또한 일반적으로 인식된 파티션 타입이 아닌 DEh(hex)의 파티션 타입 코드인 것이 특징이다. 유틸리티파티션은 또한 특정한 자기 구성(콘피규레이션) 파티션 부트 레코드를 포함한다. 유틸리티파티션은 "표준" 파티션 타입에 따라 QT의 디스크 작성 프로세스 동안 생성된다. 유틸리티파티션으로 작성된 하드디스크상에, 마스터 파티션표의 제 1 엔트리는 유틸리티파티션을 나타낸다. 파티션 타입 코드는 DEh이고 파티션은 부팅가능으로 마크되지 않을 것이다. 마스터 파티션표의 다음 엔트리는 기본파티션을 나타낼 것이다. 기본파티션이 FAT16 파티션이면, 파티션 타입 코드는 06h이다. 기본파티션 엔트리는 부트가능으로 마크되어 시스템이 시작할 때 제어된다. 이것은 마스터 파티션표의 "그라운드(ground)" 상태이다. Waffle 프로그램에 의해 수행될 수 있는 많은 동작은 이 그라운드 상태로의 변화를 초래한다.
일실시예에 있어서, Waffle 프로그램은 논리 드라이브를 "합성" 할 수 있는 능력을 포함한다. 이 능력은 임의의 논리 드라이브를 포함하도록 분할되지 않고, 나중에 하드드라이브가 생성되는 하드드라이브로 컴퓨터 시스템이 부팅되는 상황을 처리하기 위해 필요하다. 이 상황은 시스템이 완전히 비어 있는 하드드라이브로 부팅되지만 그후 하드드라이브 디스크 작성, 즉, 분할 및 포맷하는 제조 환경에서 발생한다.
하드디스크의 작성(분할 및 포맷)에 이어, 필요한 구조가 설치되어 있지 않으므로, 하드디스크는 (제 1 재부팅없이) 액세스될 수 없는 논리 드라이브를 포함한다. Waffle 프로그램이 초기화 페이즈동안 이 상태를 검출하면, 하이 메모리 에어리어(HMA)에 구조들을 구성하고 이들을 현재의 구조와 연계하려고 시도한다. 그후, 논리 C: 드라이브는 디스크의 작성 후 재부팅을 하지 않고 액세스될 수 있다. 이 능력은 DOS 메모리 공간을 침입하지 않지만, HMA이 이용가능해야 한다. Waffle 프로그램은 또한(Window95 및 Windows NT 와 함께 사용되는 것과 같이) FAT32 파일 시스템을 사용하여 포맷된 파티션과 함께 작동하는 능력을 포함한다.
도 3을 참조하여 설명한 바와 같이 Waffle 초기 기능은 파티션 기술어 및 논리 드라이브 맵핑을, 제조 프로세스동안 사용하기 위한 특정 상태로 셋트하도록 된 지정된 동작을 제공한다. 유틸리티파티션 및 기본파티션이 하드디스크 드라이브에 존재하는 한, Waffle 초기 기능을 사용하여 마스터 파티션 레코드의 제 1 파티션 기술어가 유틸리티파티션을 참조하고 마스터 파티션 레코드의 제 2 기술어가 기본파티션을 참조하도록 한다. 유틸리티파티션은 액티브로 마크되고(그럼으로써 기대되지 않은 재부팅시에 제어를 행함) 가상 A: 드라이브로서 맵핑된다. 기본파티션은 ("리프레쉬" 동작을 수행하는 것과 동등한) 물리적 드라이브 구성을 매칭하는 파라미터로 논리 C: 드라이브를 맵핑한다.
Waffle 가상 프로그램은 가상 A: 드라이브를 유틸리티파티션으로 맵핑하는 지정 동작을 제공한다. 또한, 논리 C: 드라이브는 기본파티션으로 맵핑된다. 지정 동작이 없으면, C: 및 A:가 유틸리티파티션을 참조하므로 충돌이 발생할 수 있다. 진단 프로그램이 가상 드라이브에 대하여 성공적으로 실행될 수 있어도, 가상 A: 드라이브는 물리적 드라이브와 동일한 방법으로 사용될 수 있다. 가상 A: 드라이브를 유틸리티파티션으로 맵핑하고 논리 C: 드라이브를 기본파티션으로 맵핑하는 능력은 제조 프로세스에서 매우 유용하다.
도 5 및 6을 참조하면,(NetPC를 포함하는) 컴퓨터시스템 제조 프로세스는 각각 참조 번호 72 및 74 로 표시된 2 개의 기능 영역을 포함한다. 제 1 기능 영역(72)은 신속테스트(QT)를 구성한다. 신속테스트 동안, 컴퓨터시스템(10) (또는 NetPC)은 미국 캘리포니아 산타 클라라의 인텔 코오포레이션(Intel Corporation)에 의해 상용화된 로컬 에어리어 네트워크(LAN) 제어관리 서버 또는 LCM 서버로 언급되는 특정 타입의 서버(76)에 접속된다. 신속테스트를 완료하면, NetPC 시스템(10)은 번랙(74)으로 전송된다. 번랙(74)에서, NetPC 시스템(10)은 번랙 제어기 또는 네트워크 서버(78)에 접속된다. 번랙(74)에 있는 동안, NetPC 시스템(10)은 제 1 확장 테스트(ET1)(80), 제 2 확장 테스트(ET2)(82), 소프트웨어 설치(SI)(84), 및 최종 테스트(FT)(86)를 포함하는 하나 이상의 테스트를 수행한다. NetPC 시스템이 번랙(74)상에 있는 동안 본 발명의 다양한 실시예의 복구가능한 형태가 NetPC 시스템의 환경에 적용된다. 도 6 에 도시한 바와 같이, 임의의 수의 컴퓨터시스템(10a, 10b, 10c, 10d)은 제조 프로세스동안 번랙 제어기(78)의 소정의 시간동안 및 번랙 제어기의 최대수 N 또는 한계까지 접속될 수 있다.
신속테스트(72) 동안, NetPC 시스템(10)은 LCM 서버(76)를 부팅한다. 이것은 NetPC 시스템(10)이 LAN 어댑터, 네트워크 인터페이스 카드(NIC), 또는 네트워크 서버까지 접속하는 다른 적절한 장치와 같은 서브시스템(20)을 포함하도록 할 수 있다. LAN 어댑터는 신속테스트동안 NetPC 시스템은 파워업(즉, 온)되는 경우 NetPC가 LCM 서버로부터 부트업하도록 구성된다. 즉, NetPC는 LCM 서버가 NetPC의 부트업 명령을 하는지 참조한다. LCM 서버는 제조될 컴퓨터시스템(즉, 클라이언트 시스템)에 지정된 하드디스크 작성을 수행하고 또한 (즉, 고객구성 컴퓨터시스템 주문에 따라) 제작될 소정의 컴퓨터에 특정된 제조 정보를 로드한다. 제조 정보 또는 제조코드는 소정의 컴퓨터시스템이 번랙(74)상에 있는 동안 테스팅 페이즈 및 소프트웨어 다운로드 프로세스를 수행하기 위해 실행되는 (즉, 지정된 제조순서를 수행하기 위한) 일련의 명령으로 구성된다. 그러므로, 번랙(74)은 특정 고객의 줌 및 그 기능에 따라 소정의 컴퓨터시스템에 지정된 테스트 및 소프트웨어 설치를 제공한다.(QT(72) 후이고 번랙 프로세싱(72) 이전인)제조 프로세스의 시점에서, 클라이언트 시스템은 분할되고 포맷된 하드디스크를 가질 것이다. 기본 시스템에 있어서, 하드디스크는 제 1 및 제 2 파티션으로 분할된다. 제 1 파티션은 유틸리티파티션에 대응한다. 제 2 파티션은 기본파티션에 대응한다. NetPC의 제조동안, 제조 정보(또는 명령)는 하드디스크의 특정 영역, 바람직하게는 유틸리티파티션에 기억된다. 기본파티션은 논리 C: 드라이브에 맵핑되고 이하에서 설명될 번랙(74)상에 있는 동안 소프트웨어 설치시 다운로드되는 운영체제 소프트웨어를 수신한다. 유틸리티파티션은 또한 예를 들어 실행 시스템 관련 진단에서 필요할 수 있으므로, 시스템 사용자에 의해 약간 나중에 액세스될 수 있는 진단 관련 프로그램을 포함한다. 소정의 NetPC의 제조의 완료시에, 제조 명령은 특정 NetPC 제조 프로세스에 따라 유틸리티파티션에서 지속될 수도 있고 지속되지 않을 수도 있다. 즉, 제조 명령은 NetPC의 제조의 완료시에 유틸리티파티션으로부터 제거될 수도 있고 또는 지정된 NetPC 제조 프로세스의 특정에 따라 유틸리티 부분에 남을 수도 있다.
전술한 바와 같이, QT(72)동안, 컴퓨터시스템은 LCM 서버(76)를 부트한다. LCM 서버(76)는 이후의 제조 단계의 준비를 위해 컴퓨터시스템의 하드드라이브를 준비한다. QT(72)는 또한 제작될 모든 시스템에 적용될 수 있는 몇가지 표준 프로시저를 포함한다. 기본 테스팅은 기본 구성요소 동작을 테스트한다. 예를 들어 전원 스위치가 온 위치로 되면 시스템이 켜진다. LCM 서버의 사용에 관하여 설명하였으나, QT 동안 NetPC 시스템은 LCM 서버로부터의 부팅하여야 하는 것만은 아니다. 또한, 정상 서버에 접속된 부팅가능한 디스켓으로부터 부팅될 수 있으며, 여기서 NetPC는 정상 서버에 접속된다. 여기에 설명되는 나머지 프로세스는 영향을 받지 않을 것이다.
전술한 바와 같이, 네트워크를 접속하기 위하여, NetPC는 네트워크에 적절한 접속을 수행하는 네트워크 어댑터를 포함한다. 예를 들어, NetPC의 제조동안, NetPC의 네트워크 어댑터 구성요소는 NetPC 시스템 제조시의 대응하는 페이즈동안 지정된 네트워크 서버에 접속하는데 유용하다. QT 동안, 네트워크 LCM 서버는 네트워크 어댑터를 통해 소정의 NetPC 에 결합되고 제조 명령이 NetPC에 제공되는지를 식별하는 소정의 NetPC의 시스템 태그(또는 일련 번호)를 바람직하게 탐색할 수 있다.
QT 의 하드디스크 작성 프로세스 동안, 각각의 파티션에 "액티브" 및 "인액티브"를 할당한다. 유틸리티파티션은 "액티브"로 마크되고, 이것은 컴퓨터시스템이 부팅될 때 유틸리티파티션이 제어되는 것을 의미한다. 기본파티션은 "인액티브" 로 마크되고, 이것은 자동적으로 제어되지 않는 것을 의미한다. 하드디스크 작성 프로세스는 또한 LCM 서버에 의해 실행된 비스코티(Biscotti)프로그램에 따라 실행된다. NetPC는 소정의 시간에 하드드라이브의 어느 파티션이 "액티브"로 마크되는가에 기초하여 부팅된다.
QT(72)의 완료시에, NetPC는 번랙(74)으로 이동된다. 번랙(74)은 스테이션당 하나의 시스템씩 제조할 컴퓨터시스템을 수용하기 위한 많은 도킹 스테이션(docking station) 또는 영역을 포함한다(도 6). 번랙상의 스테이션에 NetPC를 위치결정하는 경우, 하나 이상의 케이블이 소정의 시스템에 필요한 만큼 NetPC 시스템에 접속된다. 케이블은 파워, 키보드, 디스플레이 등을 포함할 수 있다. 필요한 케이블의 접속을 완료하면, 번랙 프로세스는 확장 테스트 및 소프트웨어 설치로 진행된다. 바람직한 실시예에 있어서, 번랙(74)이 컴퓨터시스템 또는 NetPC의 존재를 검출하고 컴퓨터시스템의 하드디스크 드라이브의 유틸리티파티션에 기억된 제조 정보 및 명령에 따라 테스트 및 소프트웨어 설치로 진행되는데에, 추가적인 간섭은 필요없다.
번랙(74)은 테스트중인 컴퓨터시스템과 접속하기 위한 번랙 제어기 또는 제조 서버(78)를 포함한다. 번랙 제어기(78)는 바람직하게 로컬 에어리어 네트워크를 통한 각각의 NetPC 시스템의 LAN 어댑터로의 하나 이상의 접속을 포함한다. 다른 실시예에 있어서, NetPC는 NetPC 시스템을 로컬 에어리어 네트워크를 통해 번랙 제어기에 접속하는데 사용될 수 있는 적외선(IR)포트를 포함할 수 있고, 번랙은 또한 적절한 IR 포트를 포함한다. 번랙 제어기의 최대 입력 한계 또는 수(N) 내애서 임의의 수의 NetPC 시스템이 동시에 번랙 제어기에 접속될 수 있다. NetPC 시스템의 각각은 일반적으로 다르다. 왜냐하면, 제조할 각각의 NetPC는 고객의 주문제작 고객구성에 따른 것이기 때문이다. 요약하면, 번랙 제어기는 각각의 컴퓨터시스템에 대해 확장 테스트 및 소프트웨어 설치 절차를 진행시킴으로써 번랙 프로세스의 실행을 촉진한다.
번랙 프로세스(74) 동안, 제어의 위치는 번랙 제어기(78)가 아니고 제작될 시스템(10)상에 있다. 제작될 시스템(10)은 번랙 제어기(78)와 통신하여 하드디스크 드라이브(16)의 유틸리티파티션(32)에 기억되는 제조 정보 및 명령에 따라 코드 및 데이터를 획득한다. 제작할 시스템은 어떠한 테스트를 수행하고 하드디스크 드라이브의 시스템의 기본파티션상에 어떠한 소프트웨어를 설치하는지를(즉, 무엇이 NetPC의 논리 C: 드라이브가 되는지를) 번랙 제어기에 알린다.
NetPC 시스템을 번랙 제어기에 접속하고 유틸리티파티션이 "액티브"로 마크되면, 유틸리티파티션은 NetPC 시스템을 온하도록 제어한다, 즉 번랙 프로세스를 개시한다. 즉, NetPC는 유틸리티파티션으로부터 부팅된다. 유틸리티파티션으로부터의 부팅시, NetPC는 신속테스트 동안 로드된 제조 명령을 실행한다. 특정한 주문제작 NetPC 시스템의 제조를 완료하기 위해 어떠한 테스트 및 소프트웨어 설치가 번랙 프로세스동안 실행될 필요가 있는지를 NetPC는 알고 있다.
각각의 NetPC 시스템의 유틸리티파티션의 제조 프로세스 코드는 네트워크/클라이언트 소프트웨어를 포함한다. 네트워크/클라이언트 소프트웨어는 또한 신속테스트 프로세스 동안 유틸리티파티션에 로드되는 것이 바람직하다. 결과적으로, 각각의 NetPC 시스템은 각각의 NetPC의 LAN 어댑터를 통해 번랙 제어기에 접속되는 능력을 갖는다. 초기 부트에 더하여, 네트워크/클라이언트 소프트웨어는 상세한 제조 데이터 및 명령 등을 얻도록 번랙 프로세스의 나머지 동안 NetPC 시스템이 번랙 서버에게 알리도록 한다.
정상 번랙 프로세스(74) 동안, NetPC는 제 1 확장 테스트(ET1)(80), 제 2 확장 테스트(ET2)(82), 소프트웨어 설치(SI)(84), 및 최종 테스트(FT)(86)를 받는다. 전술한 바와 같이, NetPC 시스템에서, 디스켓 드라이브가 없고 소프트웨어 설치가 번랙 프로세스동안 인터럽트의 결과로서 부분적으로 완료하면 그 하드드라이브로부터 용이하게 NetPC를 재부팅할 수 없다. 번랙 프로세스의 임의의 부분 동안 전원이 꺼지거나 또는 다른 인터럽트가 발생하면, 본 실시예는 바람직하게 그러한 인터럽트에 의해 영향을 받는 임의의 NetPC에 대한 번랙 프로세스를 복구시킬 수 있다. 본 실시예는 또한 소정의 NetPC를 재초기화하거나 재분할하기 위해 신속테스트 프로세스로 복귀하는 것을 피할 수 있다.
각각의 NetPC는 소정의 부트 주문에 따라 상이한 소스로부터 부트를 시도하는 명령을 포함할 수 있다. 시스템은 디스켓, 하드디스크, 또는 네트워크로부터 부트될 수 있다. 그러나, NetPC 에 대하여, 디스켓 드라이브가 없는 경우, NetPC는 신속테스트 프로세스 동안 먼저 네트워크로부터 부팅되도록 명령한다. 일단 NetPC 가 신속테스트동안 서버로부터 부트되면, NetPC는 전술한 바와 같이 하드디스크 드라이브가 작성 및 분할된다. LCM 서버는 각각의 NetPC 시스템의 서비스 코드 및/또는 다른 적절한 식별 수단을 통한 식별에 의해 임의의 시점에 어떠한 특정 NetPC 시스템이 제작되고 있는지를 알 수 있다. 신속테스트는 제조될 NetPC 시스템의 초기화를 포함한다.
전술한 바와 같이, 번랙 프로세스는 제조될 각각의 NetPC 시스템을 위한 확장 테스트 및 소프트웨어 설치를 포함한다. 확장 테스트(ET1)(80) 및 확장 테스트(ET2)(82)는 제조될 NetPC의 다양한 장치를 테스트하는 임의의 수의 기능 테스트를 포함할 수 있다. 예를 들어, 확장 테스트(ET1 및/또는 ET2)는 하드디스크 테스트, 메모리 테스트, 및/또는 장치 테스트(모뎀, 네트워크 인터페이스 카드(NIC), 사운드 카드, 또는 임의의 다른 장치에 필요한 테스트 등)를 포함할 수 있다. 번랙 프로세스(74)의 소프트웨어 설치(SI)부(84)는 소정의 NetPC 시스템(10)으로의 소프트웨어 설치를 포함하고, 소프트웨어는 각각의 NetPC 시스템의 유틸리티파티션에 포함된 제조 명령에 따라 제조 서버(78)로부터 NetPC 시스템(10)으로 다운로드된다. 또한, 소프트웨어 설치는 또한 제조 서버로부터의 파일의 카피 및 편집을 포함할 수 있다.
제조 서버는 제작할 소정의 장치를 식별한다. 제조 서버는 또한 소정의 NetPC 시스템의 유틸리티파티션에 포함된 제조 정보에 기초하여, 어떠한 소프트웨어가 소정의 NetPC 시스템의 기본파티션에 설치될 필요가 있는지를 결정한다. 또한 제조정보는 또한 소프트웨어를 유틸리티파티션으로 로드하는 명령을 포함한다. 일실시예에 있어서, 유틸리티파티션은 SDR 파일 또는 시스템 기술어 레코드 파일을 포함할 수 있다. SDR 파일은 소정의 NetPC 에 특정된 부품 번호의 리스트를 포함하고, 그 부품번호는 설치될 특정 소프트웨어에 대응한다. 바람직한 실시예에 있어서, SDR 파일은 신속테스트 프로세스 동안 각각의 NetPC의 하드디스크 드라이브의 유틸리티파티션에 로드된 제조정보의 부분이다. 또다른 실시예에 있어서, 시스템 기술어 레코드 파일은 소정의 NetPC의 소프트웨어 설치 프로세스 단계를 위한 제조 서버에 의해 필요한 만큼 NetPC 식별 코드에 따라 검색용 데이터베이스 내에 기억될 수 있다.
또한, SDR 파일에 있어서, 부품 번호의 리스트는 예를 들어 운영체제 소프트웨어, 응용 소프트웨어, 장치 드라이버 등을 소정의 NetPC 시스템의 기본파티션에 설치하는 명령에 대응하는 부품 번호를 포함할 수 있다. 브레이크-더-실(break-the-seal)코드 및/또는 고객 진단은 하드디스크 드라이브의 유틸리티파티션에 설치될 소프트웨어 내에 포함될 수 있다. 제조 프로세스 코드는 어떠한 소프트웨어가 NetPC 에 설치되는지 어디에(예를 들어, 기본파티션 또는 유틸리티파티션)에 설치되는지를 제조 서버에게 명령한다. 제조 프로세스 코드는 타겟 컴퓨터시스템(즉, NetPC)상에서 실행되고, 제조 프로세스 코드는 또한 필요한 파일, 데이터, 및 또 다른 명령을 서버로부터 타겟 시스템으로 카피하는 소프트웨어를 포함한다. 적절한 소프트웨어 파일, 데이터, 및 또 다른 명령은 각각의 NetPC 시스템의 제조 명령에 따라 제조 서버로부터 특정 NetPC 로 카피되거나 전송된다.
번랙에 있어서, 소프트웨어 설치 프로세스가 성공적으로 수행되었을 때를 시각적으로 표시하는데 발광 다이오드 또는 다른 적절한 표시기를 사용할 수 있다. 전자신호 표시를 포함하는 다른 가능한 형태의 표시가 구성될 수 있다.
소프트웨어 설치 완료시, 번랙 프로세스는 선택적인 최종 테스트(FT)(86)로 진행한다. 최종 테스트는 소정의 NetPC 시스템에 대한 번랙 프로세스 동안 필요할 수 있고 필요하지 않을 수도 있다는 점에서 선택적이다. 최종 테스트(86)의 경우, NetPC는 타겟 운영체제에서 오프, 온, 및 재부팅될 수 있다. 그 후, 필요한 임의의 나머지 테스트가 수행된다. 예를 들어, 소정의 NetPC 시스템에 CD-ROM 이 존재하면, 사운드 테스트가 수행될 수 있다.
번랙 프로세스의 소프트웨어를 설치하는 중에 실패하는 경우, 본 실시예는 예를 들어 도 7을 참조하여 설명하는 바와 같이 소정의 NetPC의 하드디스크 드라이브의 재포맷 및 재분할을 할 필요없이 복구(복구)할 수 있도록 한다. 신속테스트 동안, 유틸리티파티션은 "액티브"로서 식별되고 기본파티션은 "인액티브"로서 식별되어 재부팅시 유틸리티파티션이 제어된다. 어떠한 경우에도, 액티브 파티션은 재부팅시에 시스템이 부팅되는 곳이다.
퍼스널 컴퓨터시스템(PCS)용 하드디스크가 마스터 파티션표로서 언급되는 바와 같이 4 개의 파티션으로 유지될 수 있음은 공지된 사실이다. 마스터 파티션표는 마스터 부트 레코드 내에 포함되고, 마스터 부트 레코드는 또한 마스터 파티션표에 더하여 부트스트랩부를 포함한다. 마스터 파티션표는 몇 개의 칼럼을 포함한다. 하나의 칼럼은 플래그 칼럼이다. 플래그 칼럼은 파티션이 "액티브" 인지, 즉 부팅가능하지를 표시하는데 사용된다. 제 2 칼럼은 타입 칼럼이다. 타입 칼럼은 파티션 편성(organization)또는 파일 시스템을 표시하는데 사용된다. 제 3 칼럼(또는 추가의 칼럼)은 각각의 파티션에 특정한 파라미터를 포함한다. 파라미터는 예를 들어 시작, 종료, 및 크기를 포함한다.
부트스트랩 코드는 파티션표를 관찰하여 파티션 중의 하나만이 "액티브"로 마크되도록 한다. "액티브"로 마크된 파티션이 없거나, 하나 이상의 파티션이 "액티브"로 마크되면, 부트스트랩 코드는 복구할 수 없는 에러에 직면한다. 마스터 파티션표의 파티션 중의 임의의 하나가 "액티브"로 마크된 것으로 가정한다. 파티션 엔트리의 각각은 마스터 파티션표의 칼럼에 대해 위에서 표시한 바와 같이 소정의 필드(플래그, 타입, 파라미터)를 갖는다. 각각의 파티션 엔트리는 특정 파티션이 어떻게 편성되는지를 표시한다. 부트스트랩은 플래그필드를 탐색하여 어떠한 파티션이 "액티브"인지를 결정한다. "액티브" 파티션을 결정하면, 부트스트랩은 "액티브" 파티션 파라미터로 가서 어디에서부터 부팅이 시작하는지를 결정한다.
본 발명의 실시예에 따른 NetPC의 마스터 부트 레코드에 있어서, 마스터 파티션표의 유틸리티파티션은 초기에 플래그필드에서 "액티브" 로서 표시된다. 마찬가지로, 마스터 파티션표의 기본파티션은 초기에 플래그필드에서 "인액티브" 로 표시된다.
신속테스트 프로세스 동안, NetPC 시스템의 부팅은 LCM 서버로부터 초기에 발생한다. 신속테스트 프로세스는 마스터 파티션표의 적절한 플래그를 셋팅하는 것, 즉, 유틸리티파티션을 "액티브" 로 하고 기본파티션을 "인액티브" 하는 것에 더하여 하드디스크를 유틸리티파티션 및 기본파티션으로 파티션하는 것을 포함한다.
번랙에 있어서, NetPC가 제조 서버가 접속되면, NetPC의 부팅은 유틸리티파티션으로부터 부팅된다. 왜냐하면 유틸리티파티션에 대한 마스터 파티션표의 플래그가 "액티브"로 마크되어 있기 때문이다. 부트스트랩 코드는 하드드라이브의 어디에서 부팅이 시작되는지를 알리기 위하여 유틸리티파티션의 파라미터를 탐색한다. 설명한 바와 같이, 유틸리티파티션은 각각의 NetPC의 번랙 프로세스동안 ET1(80), ET2(82), SI(84), 및 FT(86)를 위하여 소정의 NetPC 에 특정한 제조 프로세스 코드를 포함한다.
플래그필드는 소프트웨어를 설치하는 동안 발생한 인터럽트로부터의 복구와 결합하여 사용될 수 있지만, 본 실시예는 번랙 프로세싱 동안 소프트웨어 설치의 인터럽트의 발생시 복구를 위한 파티션 타입 필드의 특정한 처리를 사용하는 것이 바람직하다. 즉, 플래그필드의 사용은 피하는 것이 바람직하다. 시스템이 고객에게 전달되면, 유틸리티파티션은 액티브된다. 즉, 브레이크 더 실 프로세스 코드는 일반적으로 유틸리티파티션에 포함되고 고객이 처음에 NetPC를 켤 때 실행한다. 그러므로, 유틸리티파티션은 고객에 의해 초기에 부팅될 때 액티브되어 브레이크-더-실(봉인개방)이 실행되고 특정 시스템상에 포함된 소프트웨어와 결합된 각각의 라이센싱 약정(licensing agreement)의 수락을 제공한다. 고객에 의해 브레이크-더-실의 수락시에, 브레이크-더-실 코드는 유틸리티파티션이 "인액티브"로 마크되고 기본파티션이 "액티브"로 마크된다. 이때, 후속의 프로그램은 유틸리티파티션 보다는 오히려 기본파티션으로부터 부팅된다.
ET1(80), ET2(82), SI(84), 및 FT(86)를 통해 번랙 테스트를 진행함에 따라 번랙 프로세스의 다양한 페이즈는 각각 기본파티션을 변경할 수 있다. 그러므로, 번랙 프로세스동안 실패가 발생하는 경우, 단순히 번랙 프로세스를 다시 개시하는 것만으로 충분하지 않다. 적절한 보정을 위하여 NetPC가 번랙 프로세스의 어느 페이즈에 있는지를 알아야 한다. 예를 들어, 부분적인 소프트웨어 설치가 재시작될 수 없다. 왜냐하면, 몇 개의 파일은 이미 기본파티션 상에 상주해 있고 제조 명령은 그러한 타입의 부분 소프트웨어 설치 상황에 대처하도록 설계되어 있지 않기 때문이다. 부분적 소프트웨어 설치를 포함하는 기본파티션으로 시스템 소프트웨어를 재로드하려는 시도는 제조 프로세스 시스템을 망가뜨린다. 그러므로, 소프트웨어 설치는 새롭게 시작해야하지만, 본 발명의 실시예에 따라 신속테스트 프로세스를 다시 실행함으로써 하드디스크 드라이브의 작성 및 재분할을 할 필요없이 수행할 수 있다. 기본파티션은 번랙 프로세스 동안 영향을 받으며, 그로 인해 NetPC 시스템에 대한 번랙 프로세스는 단순히 제조 서버에 NetPC 시스템을 단로하고 재연결하여 재부팅함으로써 시작할 수 없다. 부분적으로 설치되고 변경된 기본파티션은 번랙 프로세스를 망가뜨릴 것이다.
번랙 프로세스에 있어서, 확장 테스트(ET1)및 확정된 테스트(ET2)를 실행하는데 시간이 걸릴 수 있다. 소프트웨어 설치시 실패가 발생하면, 영향을 받은 NetPC는 확장 테스트(ET1 및 ET2)를 받지 않는 것이 바람직하다. 이것은 제조 생산량에 나쁜 영향을 미치고, 생산량은 제조 프로세스에 있어서 매우 중요한 것이다. 대신에, 번랙 테스트는 인터럽트가 발생된 페이즈의 시작시에 픽업되는 것이 바람직하다. 즉, 본 실시예는 실패 페이즈 또는 단계가 종료하고 번랙 프로세스가 시작하도록 한다. 즉, 소프트웨어 설치 페이즈동안 실패가 발생하면, 번랙 프로세스는 번랙 프로세스의 이전의 페이즈를 통해 이미 시작된 소프트웨어 설치 페이즈에서 다시 시작한다.
재부팅시, 하드디스크 드라이브의 마스터 부트 레코드는 액티브 플래그를 갖는 파티션을 탐색하는 것과 관련된다. 마스터 부트 레코드는 액티브파티션에 제어를 전송하고, 액티브 파티션은 제어를 수행하고 부트 루틴을 실행한다. 액티브파티션의 파티션 부트 레코드는 파티션 타입 필드를 관찰한다. 적절하게 동작시키기 위하여, 파티션 타입 필드의 내용은 운영체제가 인식할 수 있고 액티브 파티션에 의해 로드될 프로세스 내에 있는 운영체제에 대응하는 코드를 포함해야 한다. 추가의 설명은 발명의 명칭이 "Modifiable Partition Boot Record For A Computer Memory Device" 이고 1997년 10월 15일 제출된 미국 특허 출원 번호 제 08/951,135 호(Attorney Docket DC-1312)에 있으며, 이는 참고로 여기에 표시하며 본 발명의 양수인에게 양도된 것이다.
유틸리티파티션의 경우, 유틸리티파티션은 전술한 DC-1312에 서술한 바와 같이 특정 부트 레코드 파티션을 포함한다. QT 프로세스의 출력에서, 마스터 부트 레코드는 유틸리티파티션에 대한 제 1 파티션 부트 레코드를 포함할 것이다. 유틸리티파티션 부트 레코드는 "액티브"로 마크되고 DEh(hex)의 파일 타입을 포함한다. 제 2 파티션 부트 레코드는 기본파티션 부트 레코드에 포함된다. 기본파티션 부트 레코드는 "액티브"가 아니며 FAT(파일 할당표)(16 또는 32)의 파일 타입을 갖는다. 상기와 같이 주어지면, 유틸리티파티션 부트 레코드는 QT 프로세스에 후속인 시스템의 재부팅시에 제어된다. 유틸리티파티션 부트 레코드는 기본 부트 레코드의 필드 타입을 로드될 운영체제가 이해될 수 있는 타입(예를 들어, FAT)으로 변경하도록 동작한다. QT에 후속인 제조 프로세스의 시점에서, 유틸리티파티션은 논리 C: 드라이브로 맵핑되고 기본파티션은 불확실한 드라이브(즉, D: 드라이브, E: 드라이브, 또는 다른 지정 드라이브)로 맵핑된다. 이것은 모든 컴퓨터 제조 프로세스가 A: 드라이브로부터의 시스템 부팅에 기초를 둔다는 점에서 몇가지 문제점을 일으킬 수 있다.
본 발명에 따른 NetPC 제조 프로세스에 의해, 하드디스크 드라이브(16)의 디스크 작성은 컴퓨터시스템이 디스켓 드라이브를 포함하는 일반적인 컴퓨터시스템 제조 프로세스에서 발생할 수 있는 것처럼 분할 및 재포맷을 하지 않고 한번만 수행하는 것이 바람직하다. 다음에, 모든 제조 프로세스 코드와 상태 정보는 시스템 디스켓에 기억된다. 그러므로, 제조 프로세스동안, 인터럽트가 발생하면, 그러한 컴퓨터시스템을 위한 하드디스크는 매우 큰 충격없이 시스템 디스켓상에 기억된 정보를 이용하여 수동적으로 변경될 수 있다. 그러나 이러한 프로세스는 수동 프로세스이며 디스켓 드라이브를 사용하는 한계가 있다.
NetPC의 제조에 있어서, 제조 프로세스 코드 및 상태 정보를 기억하는 디스켓은 없다. 제조될 NetPC는 NetPC 용 제조 서버에까지 접속되어 소정의 고객 주문에 따라 필요한 소프트웨어를 얻는다. 본 발명에 따른 NetPC를 제조하는 동안, 하드디스크 분할은 바람직하게 한번만 발생하고 그후 변경되지 않는다. 본 발명에 따른 결과적인 NetPC 제조 프로세스는 매우 우수하고 효과적이다. 컴퓨터시스템 제조 프로세스의 복구가능한 양태는 서술한 바와 같이, 이미 공지된 프로세스보다 더 신속하고 신뢰성있는 제조 방법을 제공한다.
서술한 바와 같이, QT동안 마스터 부트 레코드의 생성 결과는 유틸리티파티션이 "액티브"로 마크되고 NetPC 시스템상에 로드될 운영체제에 의해 인식할 수 없는 파일 타입을 포함한다는 것이다.(DC-1312에 따라) 번랙 프로세스동안 NetPC 시스템의 부팅시, 타입(DEh(hex))는 유틸리티파티션 내에 있는 DOS에 인식할 수 있도록 변경된다. 그후, 시스템은 부트를 계속할 수 있다. 불행하게도, DOS는 항상 "액티브"파티션을 C: 드라이브로 맵핑하기 때문에, 이것은 양호한 상황이 아니다. 이 점에서, 유틸리티파티션은 C: 드라이브로 맵핑되어 있고, 기본파티션의 맵핑은 불확실하다. 프로세스를 실질적으로 변경하지 않고, 제조 프로세스 코드 및 데이터를 A: 드라이브(즉, 유틸리티파티션)상에 상주시키고 다운로드 타겟을 C: 드라이브(즉, 기본파티션)에 상주시킨다. 계류중인 발명의 명칭이 "Method For Simulating A Computer Storage Device" 이고 1997년 10월 15일에 출원한 제 08/947,138 호에 상세히 설명한 바와 같이, 전술한 Waffle 프로그램을 사용하여, 유틸리티파티션은 가상 A: 드라이브에 재맵핑되고 기본파티션은 C: 드라이브에 재맵핑된다. 번랙 프로세스의 지정된 점에서, Waffle 프로그램이 실행되고 제조 프로세스 코드 및 데이터가 하드드라이브의 유틸리티파티션에 대응하는 가상 A: 드라이브에 상주한다. 또한, 번랙 프로세스 동안 발생된 상태 정보(즉, 순서 상태)는 하드디스크 드라이브의 유틸리티파티션을 사용하여 NetPC 상에 용이하게 기억될 수 있다. 이전의 프로세스에 대한 본 실시예의 중요한 차이점은 가상 A: 드라이브가 하드디스크 기억공간의 약 10 메가바이트를 차지하여 디스켓 기억장치보다 액세스가 신속하다는 점이다. 기본파티션은 실질적으로 QT동안 셋업된다.
QT 프로세스가 종료하면, 마스터 부트 레코드가 형성된다. 마스터 부트 레코드에서, 유틸리티파티션은 타입(DEh(hex))이고 액티브로 마크되는 반면, 기본파티션은 임의의 타입(예를 들어, FAT 16)이고 인액티브로 마크된다. 맵핑은 QT 프로세스동안과 관련되지 않는다. 또한, 타입 변환을 수행하기 위한 프로그램 코드 및 유틸리티파티션을 가상 A: 드라이브로 맵핑하고 기본파티션을 C: 드라이브로 맵핑하기 위한(Waffle 프로그램의 구성요소인 "Waffle 가상화"로 간주되는)프로그램 코드는 각각 QT 프로세스동안 유틸리티파티션에 로드된다. QT 프로세스 종료시, NetPC 시스템은 QT 스테이션으로부터 번랙으로 이동한다. 제조 서버에 필요한 접속하면, NetPC는 온된다. 전원이 켜지면, 마스터 부트 레코드는 실행되고 액티브 부트 레코드를 포함하는 것을 인식한다. 액티브 부트 레코드(즉, 유틸리티파티션 부트 레코드)내의 프로그램 코드가 마스터 파티션표의 유틸리티파티션의 타입 필드(DC-1312에 따른 Waffle "초기")를 변화시킴으로써 DOS 가 인식할 수 있는 것으로 변화되도록 실행된다. 이 점에서, DOS 가 실행되고 유틸리티파티션은 C: 드라이브에 있고, 기본파티션은 불확실한 드라이브에 있다. 그후, 프로그램 코드(DC-1312 에 따라 Waffle "가상화")는 유틸리티파티션을 가상 A: 드라이브에 맵핑하고 기본파티션을 논리 C: 드라이브로 맵핑하도록 실행된다.
일반적인 컴퓨터 사용자 상황에서, 유틸리티파티션은 예를 들어 몇가지 특정한 BIOS 키조작을 먼저 실행하지 않고 고객이 정상적으로 액세스할 수 없다. 유틸리티파티션은 무효 타입이고 운영체제으로 인식할 수 없으므로 타입 DEh(hex)으로 부여되었다. 그러므로, 유틸리티파티션은 일반적으로 정상적인 컴퓨터 사용시에는 액세스되지 않는다. 브레이크-더-실 프로그램은 유틸리티파티션에 기억될 수 있지만, 초기 실행 후에, 브레이크-더-실 프로그램은 유틸리티파티션의 파티션 타입을 무효 또는 인식할 수 없는 타입으로 변경함으로써 시스템 사용자가 액세스할 수 없게 된다.
본 발명에 따르면, 번랙 프로세스동안, Waffle 초기 프로그램은 필요한 만큼의 지정 기간동안 유틸리티파티션에 대한 타입 필드가 인식할 수 없거나 무효인 타입으로부터 인식할 수 있거나 유효한 타입으로 변경되도록 한다. 유효 파티션 타입은 로드될 운영체제에 의해 인식될 수 있는 것이다. 다시 말하면, 타입 필드는 무효 타입 DEh(hex)로부터 인식할 수 있거나 유효한 타입(예를 들어, FAT)로 변경되어, NetPC의 제조를 위한 번랙 프로세스 동안 필요한 다양한 제조 명령, 코드, 데이터 기억 등을 실행하는데 유틸리티파티션이 사용되도록 한다. 번랙 프로세싱의 유틸리티파티션의 사용 완료시에, 유틸리티파티션의 타입 필드는 인식할 수 없거나 무효한 타입(예를 들어, DEh(hex))으로 변경된다.
번랙 프로세싱의 개시 즈음에 유틸리티파티션을 A: 드라이브로 가상화하고 기본파티션을 C: 드라이브로 가상화할 때, NetPC 시스템은 번랙 프로세싱의 나머지 확장 테스트 및 소프트웨어 설치를 진행할 준비가 되어 있다. 문제가 발생하지 않은 것으로 가정하면, 번랙 프로세싱은 제조될 지정 NetPC 시스템의 필요조건에 따라 ET1(80), ET2(82), SI(84), FT(86)통해 진행된다. SI(84)동안, 번랙 프로세싱은 제조 서버로부터의 고객구성 주문에 따라 지정된 운영체제 및 다른 소프트웨어를 기본파티션상에 로드한다.
본 실시예는 번랙 프로세싱 동안 잘못될 수 있는 상황에 관심을 집중한다. 예를 들어, 소프트웨어 다운로드 또는 소프트웨어 설치시, 파워 인터럽트가 발생할 수 있다. 정상적으로, C: 드라이브는 액티브 기본파티션을 맵핑한다. 그러나, 제조 프로세스의 이 시점에서 C: 드라이브를 액티브파티션으로 맵핑하는 것은 바람직하지 않다. 왜냐하면, 인터럽트가 발생한 경우, NetPC 시스템의 재부팅은 부분적인 소프트웨어 설치로부터 재부팅되기 때문이다. 사용불가능한 시스템이 발생된다. 인터럽트의 경우, 본 실시예는 NetPC 시스템이 번랙 프로세싱동안 시스템 에러의 복구를 위한 유틸리티파티션 코드로 복귀하도록 한다. 서술한 바와 같이, NetPC 시스템은 완전히 부자연스럽거나 자연스러운 절차를 수행하도록 일시적으로 구성된다.
여기에서 Waffle "초기" 상태로 언급되는 상태가 정의되고, 이는 변경된 특정 마스터 파티션표와 드라이브 맵핑 셋트에 대응한다. 다시 말하면, 변경된 마스터 파티션표에 있어서, 논리 C: 드라이브가 기본파티션으로 맵핑되고 가상 A: 드라이브가 유틸리티파티션으로 맵핑되어도, 유틸리티파티션은 "액티브"로 마크된다. Waffle 초기 상태는 기본파티션으로 맵핑될 논리 C: 드라이브와 유틸리티파티션으로 맵핑될 가상 A: 드라이브로서 정의되고, 유틸리티파티션은 액티브로 지정된다. 전술한 바와 같이 지정된 Waffle 초기 상태에서 마스터 파티션표를 변경하고 배치하기 위한 Waffle 초기 프로그램으로 지칭되는 프로그램 코드가 유틸리티파티션 내에 제공된다. 재부팅시, 시스템은 가상 A: 드라이브에 항상 부팅될 것이다. 왜냐하면, Waffle 초기 프로그램의 실행은 마스터 파티션표를 Waffle 초기 상태로 복귀하기 때문이다. 다시 말해, 마스터 파티션표는 번랙 프로세싱의 인터럽트시 번랙 프로세싱동안의 Waffle 초기 상태로 항상 복귀된다. 파티션 타입은 운영체제가 먼저 부팅될 때만 참조된다. 재부팅시, NetPC 시스템은 유틸리티파티션에 포함된 DOS 에 부팅된다. Waffle 초기 프로그램은 운영체제가 초기에 부팅된 후에 실행되고, 유틸리티파티션 타입은 부팅될 NetPC 에 후속인 제조 프로세스 코드의 번랙 프로세싱 실행동안 DOS 운영체제 명령의 실행과 관련하여 중요하지 않다. Waffle 초기 상태를 성취하는 능력은 복구의 일부만을 형성한다.
Waffle "가상" 프로그램으로서 지칭되는 프로그램 코드는 또한 유틸리티파티션 내에 제공된다. Waffle "가상"에서, 유틸리티파티션은 가상 A: 드라이브로 지정되고 인액티브로 마크되고 기본파티션은 C: 드라이브로 지정되고 액티브로 마크된다. Waffle "초기"에서, A: 드라이브는 하드디스크 드라이브의 액티브파티션으로서 마크되고, C: 드라이브는 인액티브로 마크된다. 모든 공지된 운영체제에서, C: 드라이브는 항상 제 1 액티브 기본 하드디스크 파티션으로 맵핑된다.
전원이 켜지면, NetPC 시스템은 유틸리티파티션의 일부인 DOS로 부팅된다. 유틸리티파티션 내에 포함된 DOS는 제조 프로세스 코드를 실행한다. NetPC 시스템은 시스템을 부팅하는 동안 유틸리티파티션을 관찰한다. 유틸리티파티션 타입은 시스템이 처음 부팅할 때 (로드될) 운영체제에 의해 인식될 수 있어야 한다. 파티션은 먼저 DC-1312 의 방법에 따라 운영체제에 의해 즉, C 드라이브로서 인식될 수 있게 만들고, 이어서 DOS의 로딩을 계속해야 한다. DOS는 제조프로세스가 계속되도록 맵핑하지 않기 때문이다. 그후, Waffle 초기가 실행되고, 소망의 구성이 형성된다. Waffle 초기에 대하여, 운영체계가 유틸리티파티션을 A: 드라이브로 지정하고, 더 나아가 하드디스크 파티션 및 액티브파티션으로서 지정하도록 하게 할 수 있는 종래의 방법은 없다. 공지된 모든 PC 운영체제에서, C: 드라이브는 항상 제 1 기본 액티브 하드디스크 파티션을 맵핑한다. 다시 말하면, 유틸리티파티션은 A: 드라이브로 맵핑되고 A: 드라이브는 액티브 하드디스크 파티션으로 마크되어, C: 드라이브로부터가 아니라 A: 드라이브로부터 부팅되도록 한다. 그러나, Waffle 초기가 실행되거나 수행된 후까지는 유틸리티파티션은 A: 드라이브가 아니다. 표준 DOS 및 다른 Microsoft ?? 운영체제는 모두 본 발명의 실시예와 대조적으로 C: 드라이브를 하드디스크의 제 1 액티브 기본파티션으로 맵핑한다.
Waffle "초기" 성능에서, 드라이브 맵핑은 소망의 맵핑에 따라 보증된다, 즉, 제조 프로세스는 A: 드라이브(유틸리티파티션) 내에 있고, 타겟 드라이브는 C: 드라이브(기본파티션부) 내에 있다. 번랙 프로세스 동안 기대하지 않은 재부팅, 파워 실패, 또는 인터럽트가 발생하면, 유틸리티파티션은 항상 다시 제어될 것이다. 프로세스 코드는 번랙 프로세스의 어디에서 인터럽트가 있었는지를 판단하고 인터럽트가 발생된 바로 직전부터 프로세스를 재시작하려고 한다. 제조 프로세스 코드는 액티브파티션(유틸리티파티션)에 상주하므로 다시 제어된다. 시스템이 부팅되면, 마스터 부트 레코드 부트스트랩 코드는 제 1 액티브 하드디스크 파티션을 탐색한다. 부트스트랩 코드는 마스터 파티션표를 탐색하고, 유틸리티파티션이 제 1 액티브 하드드라이브 파티션인지를 확인한다(이 시점에서, A: 드라이브를 유틸리티파티션으로 맵핑하고 C: 드라이브를 기본파티션으로 맵핑하는 것은 아직 수행되지 않았다).
번랙 프로세스를 대한 일반적인 순서는 다음과 같다. NetPC 가 온되면, 시스템은 부팅된다. 시스템이 부팅되면, 마스터 부트 레코드(MBR)가 하드디스크 드라이브로부터 로드된다. MBR 은 2 개의 섹션, 즉, 제 1 섹션내의 부트스트랩과 제 2 섹션내의 마스터 파티션표를 포함한다. 부트스트랩은 액티브파티션에 대한 마스터 파티션표를 탐색하고 액티브파티션(이 예에서, 유틸리티파티션)을 로드하고 실행한다. 그후, 파티션 부트 레코드는 파티션(이예에서, 유틸리티파티션)에 상주하는 운영체제를 로드하고(DC-1312에 따라) 파티션 타입(즉, DEh)을 로드될 (유틸리티파티션에 상주하는) 운영체제에 의해 인식할 수 있는 것으로 변경하여 운영체제가 파티션 타입을 인식할 수 있도록 한다. 운영체제는 어떠한 하드드라이브가 NetPC 시스템상에 있는지를 결정하고 논리 드라이브 (이때, C: 드라이브는 유틸리티파티션에 대응하고 불확실한 드라이브는 기본파티션에 대응)를 할당한다. Waffle 초기 성능/프로그램은 드라이브 할당을 변경하도록 실행된다(유틸리티파티션은 가상 A: 드라이브로 맵핑되고 기본파티션은 논리 C: 드라이브로 맵핑된다). 또한, 유틸리티파티션은 액티브로 마크되고 기본파티션은 인액티브(Waffle 초기)로 마크된다. Waffle 프로그램은 또한 유틸리티파티션의 파티션 타입을 DEh 와 같이 인식할 수 없는 타입으로 변경한다. 유틸리티파티션을 인식할 수 없는 타입으로 변경하는 것은 여기에 설술한 제조 프로세스의 나머지와 무관하지만, 인식할 수 없어 시스템 사용자가 나중에 유틸리티파티션을 변경하는 것을 방지한다. 일단 드라이브가 Waffle 초기의 결과로 재할당되면, 유틸리티파티션은 A: 드라이브이고 액티브로 마크된다. 또한, 파티션 타입은 Waffle 초기(DC-1312)를 참조하여 전술한 바와 같이 조절되므로, 유틸리티파티션의 파티션 타입을 인식할 수 없고 운영체제 재부팅에 관련시킬 필요가 없다. 또한, 일단 운영체제가 실행되면, 액티브파티션의 파티션 타입은 더 이상 운영체제에 의해 인식될 필요가 없다. 여기에 서술된 "턴오버" 유틸리티 또는 프로그램이 또한 제공되고 특정 번랙 프로세싱 수행에 따라 필요한만큼 기본파티션(즉, C: 드라이브)의 내용을 클리어하기 위하여 실행될 수 있다.
모멘트 하드드라이브 파티션을 고려하면, 파티션은 시작, 종료, 및 크기를 포함하는 소정의 파라미터 필드를 포함한다. QT 의 디스크 작성 및 파티션 단계에 이어, 기본파티션에 대한 파티션 부트 레코드는 NetPC 시스템의 고객의 기본파티션에 로드될 타겟 운영체제(예를 들어, Windows95, Windows 98, Windows NT, 등)에 특정되도록 형성된다. FAT 타입 파일 시스템에 대하여, 파티션은 또한 파일 할당표, 루트 디렉토리, 및 파일을 포함할 수 있다.
번랙 프로세싱의 시작시에, 기본파티션은 파티션 부트 레코드를 포함한다. 일단 기본파티션에 대한 파티션 부트 레코드가 QT 프로세스 동안 형성되면, 본 실시예에 따르고, 번랙 프로세싱동안 인터럽트가 발생하면, 파일 할당표와 루트 디렉토리(즉, 파일 시스템 구조)를 리셋하면서, 변하지 않은 기본파티션의 파티션 부트 레코드를 제거하는 것을 포함하는 복구가능한 프로세스가 수행된다. 기본파티션의 파일은 또한 클리어된다.
본 발명의 실시예에 따르면, "턴오버" 프로그램 또는 유틸리티는 제조 프로세스 코드내에 포함되고, 기본파티션 부트 레코드에 영향을 주지 않고 기본파티션의 파일 할당표 및 루트 디렉토리를 위치시키고 클리어하는 적절한 코드를 포함한다. 다시 말하면, 턴오버 프로그램의 실행시, 기본파티션 부트 레코드는 변하지 않고 기본파티션의 나머지는 블랭크되거나 클리어된다. 턴오버 프로그램은 타겟 운영체제에 특정한 기본파티션 부트 레코드를 제외하고 논리 C: 드라이브의 내용을 효과적으로 클리어하여, 하드드라이브의 재분할을 위한 QT 프로세스로 복귀할 필요성을 실질적으로 제거한다.
기본파티션 부트 레코드의 내용은 QT 프로세스의 하드디스크 작성동안 하드디스크로 로드되므로 QT 프로세스동안 알고 있을 필요가 없다. 그러나, 번랙 프로세싱 동안, 기본파티션 부트 레코드의 내용은 중요하다. 기본파티션 부트 레코드의 내용은 홀로 남겨지며 인터럽트가 발생한 경우 번랙 프로세싱의 복구하는 동안 턴오버 프로그램에 의해 변경되지 않는다.
기본파티션의 파라미터는 또한 소정 길이의 파티션 부트 레코드, 소정 길이의 파일 할당표, 소정 길이의 루트 디렉토리, 및 파티션의 파일을 포함한다. 파일 할당표, 루트 디렉토리, 및 파티션의 파일의 크기 및 구조는 특정 파일 시스템 타입(예를 들어, FAT16, FAT32 등)에 의존한다. 서술한 바와 같이, 턴오버 프로그램에서, 파일 할당표 및 루트 디렉토리는 탐색되고 클리어된다. 턴오버 프로그램은 특정 타입의 파일 할당표의 파일 시스템 및 루트 디렉토리를 식별하고 특정 파일 시스템 타입에 따라 동일한 것을 클리어한다. 턴오버 유틸리티는 스마트(smart) 유틸리티로 인정될 수 있다. 절대로 필요로 하지 않지만, 특정 수행을 필요로 하면, 기본파티션의 파일이 또한 탐색되고 클리어될 수 있다. 특정 타겟 운영체제에 특정하고 QT 프로세스동안 형성된 기본파티션 루트 레코드는 턴오버 유틸리티의 실행 후에 변경되지 않은 채로 남는다. 따라서, 기본파티션의 기본파티션 부트 레코드의 보전은 바람직하게 유지된다. 번랙 프로세싱은 인터럽트가 발생된 특정 페이즈에서 재시작될 수 있다. 예를 들어, 테스트 또는 소프트웨어 다운로드의 각각이 턴오버 유틸리티 실행후에 재시작될 수 있다. 이 방법으로, 테스트 또는 소프트웨어 다운로드가 기본파티션 부트 레코드를 제외하고(예를 들어, 블랭크 상태 또는 빈 C: 드라이브 파티션을 갖는)클리어된 것을 알게 된다.
턴오버 기능은 또한 특정 번랙 프로세싱 수행에 따라 기본파티션(즉, C: 드라이브)의 내용을 클리어하도록 실행될 수 있다. 제조 프로세스 코드에 의존하여, 번랙 프로세싱의 각각의 부분이 시작되고 종료할 때(즉, 시작 및 종료)의 트랙을 유지하는 것이 바람직하다. 소정의 프로세싱 단계의 상태는 일시적으로 기억될 수 있다. 번랙 프로세싱동안 문제 또는 인터럽트가 발생하면, 예를 들어 적절한 플래그가 트리거될 수 있다. 트리거된 플래그의 검출시, 턴오버 프로그램은 문제 또는 인터럽트가 발생하는 번랙 프로세싱의 특정 부분의 재시작전에 실행될 수 있다. 턴오버 프로그램은 원하는 최대의 지정 횟수 또는 소정의 최대 횟수 한계까지의 시간동안까지 소정의 NetPC의 특정 번랙 프로세싱에 필요한 만큼 실행될 수 있다. 최대 횟수 한계는 예를 들어 와치도그 타이머를 사용하여 불확실한 기간동안 NetPC 가 번랙 상에 상주하는 것을 방지하도록 형성될 수 있다.
번랙 프로세싱의 인터럽트가 발생할때를 결정하는 다양한 방법이 사용될 수 있다. 예를 들어, 다음과 같은 것을 고려한다. 번랙 프로세싱의 다양한 부분(ET1, ET2, SI, FT)을 실행하는 동안, 번랙 프로세스를 통해 많은 부팅이 있을 것이다. ET1및 ET2 로의 초기 부팅이 있을 것이다. 일실시예에 있어서, 순서코드는 제조 프로세스 코드내 에서 제어가 이동하는 곳을 결정하는데 사용될 수 있고, 순서 코드는 종래의 공지된 프로그래밍 기술을 사용하여 기록될 수 있다. 수행되는 재부팅은 예를 들어 제조 프로세스 코드내의 재부팅 플래그 파일에 기억될 수 있는 재부팅 플래그 각각의 발생으로 레코드 또는 기억될 수 있다. 연속적으로 재부팅 플래그가 발생하면, 이것은 번랙 프로세싱시에 인터럽트가 발생한 것을 표시할 수 있고, 따라서 보정 동작이 수행될 수 있다. 보정 동작은 턴오버 프로그램 또는 유틸리티를 사용하여 기본파티션을 클리어하는 것을 포함한다. 반대로, 프로세스 모니터링 코드는 제조 프로세스 코드 내에 포함되고 ET1, ET2, SI, FT 의 시작/종료를 모니터하고 탐색하는데 사용될 수 있다. 시작 또는 종료가 검출되지 않으면, 번랙 프로세싱의 인터럽트 또는 문제점의 표시가 제공될 수 있고 적절한 보정 동작이 초기화된다.
도 7 은 본 발명의 컴퓨터의 제조에 있어서의 번랙 프로세싱의 흐름도를 나타낸다. 번랙 프로세싱은 단계(80)에서 시작하는 지정된 제조순서에 따라 확장 테스트 및 소프트웨어 설치를 포함할 수 있다. 확장 테스트 및 소프트웨어 설치 순서는 ET1, ET2, SI, FT를 포함할 수 있다. 단계(82)에서, 컴퓨터시스템이 부팅된다. 서술한 바와 같이, 유틸리티파티션은 액티브로 마크되고 마스터 부트 레코드는 제 1 액티브파티션이 부팅되는지를 관찰한다. 단계(82)는 또한 Waffle 초기 프로그램의 실행과 유틸리티파티션을 가상 A: 드라이브로 맵핑하고 기본파티션을 논리 C: 드라이브로 맵핑하는 것을 포함한다. 단계(84)에서, 번랙 순서 상태가 확장 테스트 및 소프트웨어 설치의 어느 단계인지를 결정하도록 체크하고, 제조코드가 실행될 수 있도록 셋팅된다. 번랙 순서 상태는 예를 들어 하드디스크 드라이브의 유틸리티파티션에 기억될 수 있다. 단계(86)에서, 단계가 실행될 준비가 되었는지(즉, 시작)또는 단계가 이미 실행되었지만 인터럽트(즉, 실패)되었는지를 결정하도록 현재 단계의 상태가 체크된다. 상태가 오케이이면, 프로세스는 단계(88)로 진행한다. 단계(88)에서, 특정 확장 테스트 또는 소프트웨어 설치가 수행된다. 단계(90)에서, 순서 상태는 갱신된다. 순서 상태의 갱신은 예를 들어 현재의 확장 테스트 또는 소프트웨어 설치가 성공적으로 완료되면 순서 상태를 확장 테스트 또는 소프트웨어 실치 순서의 다음 단계로 진행시키는 것을 포함한다. 순서 상태의 갱신은 또한 소정의 확장된 테스트 또는 소프트웨어 설치가 인터럽트되거나 실패되어 동일 단계에서 다시 수행될 순서 상태를 유지하는 것을 표시하는 것을 포함한다. 단계(92)에서, 모든 테스트 또는 소프트웨어 설치가 성공적으로 완료했는지, 즉, 지정된 순서가 완료했는지에 관한 문의가 수행된다. 완료하지 않았으면, 프로세스는 단계(82)의 부팅 루틴으로 진행한다. 완료했으면, 프로세스는 단계(94)에서 완료한다.
단계(86)에서, 현재의 순서 단계의 상태가 오케이가 아니면, 프로세스는 단계(96)로 진행한다. 단계(96)는 파일 할당표, 루트 디렉토리, 및 기본파티션의 파일을 클리어하고 인터럽트 또는 실패한 순서 단계를 다시 수행시키는 턴오버 유틸리티의 실행을 포함한다. 단계(96)에 이어, 프로세스는 단계(90)로 진행하여 순서 상태가 갱신된다. 턴오버 유틸리티의 실행은 순서 상태의 갱신에 영향을 주어 순서 상태를 확장 테스트 및 소프트웨어 설치의 현재의 단계로 리셋하여 특정 순서 단계가 다시 수행되도록 한다. 그후, 프로세스는 단계(92)로 진행한다.
본 실시예는 네트워크 컴퓨터시스템, 특히 디스켓 드라이브를 갖지 않는 시스템을 제조할 수 있게 하고 보정동작은 컴퓨터시스템 제조 프로세스를 시작하지 않고 신속테스트(QT)에서 다시 시작하는 방법으로 보정동작을 수행하도록 한다. 또한, 본 실시예는 컴퓨터시스템 제조 프로세스가 인터럽트 또는 문제점이 발생한 번랙 프로세싱의 특정 부분에서 다시 시작할 수 있도록 한다.
본 발명의 복구가능한 프로세스에, 부자연스럽거나 자연스러운 하드디스크 드라이브 맵핑이 있어도, 유틸리티파티션은 제조 프로세스 코드가 항상 액세스될 수 있도록 제어될 것이다. 기본파티션은 기본파티션의 파티션 부트 레코드에 영향을 주지 않고 (턴오버 유틸리티를 통해) 공백상태로 리셋될 수 있다. 또한, 파워 인터럽트 발생시 수동 조정이 필요없다. 번랙 프로세싱시 인터럽트가 검출하면, 수동 조정을 필요로 하지 않고 적절한 보정동작이 수행될 수 있다. 보정 동작은 소정의 제조 프로세스 수행에 대한 특정 보정동작 순서에 따라 프로그램되거나 코딩될 수 있고, 보정 동작은 공지된 프로그래밍 기술을 사용하여 코딩된다.
본 실시예는 제조 프로세스의 인터럽트시에 복구가능한 프로세스가 가능하게 하여 NetPC의 제조에 기술적 이점을 제공하고, 복구는 인터럽트가 발생된 제조 프로세스의 소정의 순서 또는 페이즈에 근사하여, 하드디스크 파티션에서 NetPC 제조 프로세스를 다시 시작할 필요가 없다. 더 효과적인 NetPC 제조 프로세스를 제공한다.
본 발명의 방법 및 장치는 바람직한 실시예를 참조하여 설명하였지만, 본 실시예 및 첨부된 청구범위의 사상 및 범위를 벗어나지 않는 한도내에서 다양한 변형이 가능하다.

Claims (30)

  1. 지정된 컴퓨터시스템의 제조에 사용되는 소프트웨어 설치 방법에 있어서,
    하나 이상의 프로세서를 제공하는 단계,
    마스터 부트 레코드, 유틸리티파티션 및 기본파티션을 갖는 하나 이상의 메모리를 제공하는 단계로서, 상기 유틸리티파티션은 컴퓨터시스템의 제조에 있어서의 제조순서에 특정한 제조코드를 포함하는, 단계, 및
    컴퓨터시스템을 네트워크 서버에 접속하는 인터페이스를 제공하는 단계로서, 컴퓨터시스템의 부팅시에, 제조코드는 하나 이상의 프로세서에 의해 실행되고, 상기 제조순서는 적어도 네트워크 서버로부터 기본파티션으로의 소프트웨어의 다운로딩을 포함하는, 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서, 상기 마스터 부트 레코드는 유틸리티파티션에 대응하는 제 1 기술어 및 기본파티션에 대응하는 제 2 기술어를 갖는 마스터 파티션표를 포함하고, 상기 제 1 기술어는 액티브파티션 플래그필드 및 무효 파티션 타입 필드를 포함하고, 제 2 기술어는 인액티브파티션 플래그필드 및 유효 파티션 타입 필드를 포함하고, 상기 기본파티션은 상기 컴퓨터시스템의 타겟 운영체제에 특정한 파티션 부트 레코드를 포함하는 것을 특징으로 하는 방법.
  3. 제 2 항에 있어서, 상기 제조코드는 제 1 기술어의 무효 파티션 타입 필드를 유효 타입 필드로 변경하고 상기 유틸리티파티션을 가상 A: 드라이브로 맵핑하고 상기 기본파티션을 논리 C: 드라이브로 맵핑하는 명령을 더 포함하는 것을 특징으로 하는 방법.
  4. 제 3 항에 있어서,
    상기 제조코드는 유틸리티파티션을 가상 A: 드라이브로 맵핑하고 상기 기본파티션을 논리 C: 드라이브로 맵핑한 후에 제 1 기술어의 유효 파티션 타입 필드를 무효 타입 필드로 변경하는 명령을 더 포함하는 것을 특징으로 하는 방법.
  5. 제 2 항에 있어서,
    상기 기본파티션은 파일 할당표 및 루트 디렉토리를 더 포함하고, 제조코드는 네트워크 서버로부터 소프트웨어 다운로드시 인터럽트가 발생하면 상기 기본파티션의 상기 파일 할당표 및 기본파티션의 루트 디렉토리를 클리어하는 명령과 하나 이상의 메모리의 재포맷 및 재분할없이 소프트웨어 다운로드를 다시 시작하도록 하는 명령을 더 포함하는 것을 특징으로 하는 방법.
  6. 제 5 항에 있어서, 상기 기본파티션은 파일을 더 포함하고, 상기 제조코드는 네트워크 서버로부터 소프트웨어를 다운로드할 때 인터럽트가 발생하면 상기 기본파티션의 파일을 클리어하는 명령을 더 포함하는 것을 특징으로 하는 방법.
  7. 제 1 항에 있어서, 제조순서는 테스트를 더 포함하는 것을 특징으로 하는 방법.
  8. 제 7 항에 있어서, 상기 제조코드는 유틸리티파티션에 제조순서 상태를 기억하는 명령 및 소프트웨어 다운로드 및 테스트 각각이 완료할 때마다 제조순서를 갱신하는 명령을 더 포함하는 것을 특징으로 하는 방법.
  9. 제 1 항에 있어서, 상기 하나 이상의 메모리는 디스크 드라이브를 포함하는 것을 특징으로 하는 방법.
  10. 제 1 항에 있어서, 상기 하나 이상의 메모리는 하드디스크 드라이브를 포함하는 것을 특징으로 하는 방법.
  11. 지정된 컴퓨터시스템의 제조에 사용되는 소프트웨어 설치 프로세스로서,
    하나 이상의 프로세서를 제공하는 단계,
    마스터 부트 레코드, 유틸리티파티션 및 기본파티션을 갖는 하나 이상의 메모리를 제공하는 단계로서, 상기 유틸리티파티션은 컴퓨터시스템의 제조에 있어서 제조순서에 특정한 제조코드를 갖는, 단계, 및
    상기 컴퓨터시스템을 네트워크 서버로 접속하는 인터페이스를 제공하는 단계로서, 컴퓨터시스템의 부팅시, 제조코드는 하나 이상의 프로세서에 의해 실행되고, 상기 제조순서는 적어도 네트워크 서버로부터 기본파티션으로의 소프트웨어 다운로드를 포함하는, 단계를 포함하고,
    상기 마스터 부트 레코드는 상기 유틸리티파티션에 대응하는 제 1 기술어와 상기 기본파티션에 대응하는 제 2 기술어를 가지며, 상기 제 1 기술어는 액티브파티션 플래그필드 및 무효 파티션 타입 필드를 포함하고, 상기 제 2 기술어는 인액티브파티션 플래그필드 및 유효 파티션 타입 필드를 포함하고, 상기 기본파티션은 상기 컴퓨터시스템의 타겟 운영체제에 특정한 파티션 부트 레코드를 포함하고,
    상기 제조코드는 제 1 기술어의 무효 파티션 타입 필드를 유효 타입 필드로 변경하고 상기 유틸리티파티션을 가상 A: 드라이브로 맵핑하고 상기 기본파티션은 논리 C: 드라이브로 맵핑하는 명령을 더 포함하고,
    상기 기본파티션은 파일 할당표 및 루트 디렉토리를 더 포함하고, 상기 제조코드는 네트워크 서버로부터 소프트웨어의 다운로드시 인터럽트가 발생하면 상기 기본파티션의 상기 파일 할당표 및 루트 디렉토리를 클리어하는 명령과 상기 하나 이상의 메모리의 재포맷 및 재분할없이 소프트웨어 다운로드를 다시 시작하도록 하는 명령을 더 포함하는 것을 특징으로 하는 방법.
  12. 제 11 항에 있어서, 상기 기본파티션은 파일을 더 포함하고, 상기 제조코드는 네트워크 서버로부터 소프트웨어의 다운로드시 인터럽트가 발생하면 상기 기본파티션의 파일을 클리어하는 명령을 더 포함하는 것을 특징으로 하는 방법.
  13. 제 11 항에 있어서, 상기 제조순서는 테스트를 더 포함하는 것을 특징으로 하는 방법.
  14. 제 13 항에 있어서, 상기 제조코드는 상기 유틸리티파티션에 제조순서 상태를 기억하는 명령 및 소프트웨어 다운로드 및 테스트 각각이 완료될 때마다 제조순서 상태를 갱신하는 명령을 더 포함하는 것을 특징으로 하는 방법.
  15. 제 11 항에 있어서, 상기 하나 이상의 메모리는 하드디스크 드라이브를 포함하는 것을 특징으로 하는 방법.
  16. 제조시 소프트웨어 설치를 수행하는 컴퓨터시스템으로서,
    하나 이상의 프로세서,
    마스터 부트 레코드, 유틸리티파티션 및 기본파티션을 갖는 하나 이상의 메모리로서, 상기 유틸리티파티션은 상기 컴퓨터시스템의 제조시 제조순서에 특정한 제조코드를 포함하는, 메모리, 및
    상기 컴퓨터시스템을 네트워크 서버에 접속하는 인터페이스로서, 상기 컴퓨터시스템 부팅시, 상기 제조코드는 상기 하나 이상의 프로세서에 의해 실행되고, 상기 제조순서는 적어도 네트워크 서버로부터 기본파티션으로의 소프트웨어 다운로드를 포함하는 것을 특징으로 하는 컴퓨터시스템.
  17. 제 16 항에 있어서,
    상기 마스터 부트 레코드는 상기 유틸리티파티션에 대응하는 제 1 기술어 및 상기 기본파티션에 대응하는 제 2 기술어를 갖는 마스터 파티션표를 포함하고, 상기 제 1 기술어는 액티브파티션 플래그필드 및 무효 파티션 타입 필드를 포함하고, 상기 제 2 기술어는 인액티브파티션 플래그필드 및 유효 파티션 타입 필드를 포함하고, 상기 기본파티션은 상기 컴퓨터시스템의 타겟 운영체제에 특정한 파티션 부트 레코드를 포함하는 것을 특징으로 하는 컴퓨터시스템.
  18. 제 17 항에 있어서, 상기 제조코드는 제 1 기술어의 무효 파티션 타입 필드를 유효 타입 필드로 변경하고 상기 유틸리티파티션을 가상 A: 드라이브로 맵핑하고 기본파티션을 논리 C: 드라이브로 맵핑하는 명령을 더 포함하는 것을 특징으로 하는 컴퓨터시스템.
  19. 제 18 항에 있어서,
    상기 제조코드는 상기 유틸리티파티션을 가상 A: 드라이브로 맵핑하고 상기 기본파티션을 논리 C: 드라이브로 맵핑한 후에 제 1 기술어의 유효 파티션 타입 필드를 무효 타입 필드로 변경하는 명령을 더 포함하는 것을 특징으로 하는 컴퓨터시스템.
  20. 제 17 항에 있어서,
    상기 기본파티션은 파일 할당표 및 루트 디렉토리를 더 포함하고, 상기 제조코드는 상기 네트워크 서버로부터 소프트웨어 다운로드시 인터럽트가 발생하면 상기 기본파티션의 상기 파일 할당표 및 루트 디렉토리를 클리어하는 명령과 상기 하나 이상의 메모리의 재포맷 및 재분할없이 소프트웨어 다운로드를 다시 시작하도록 하는 명령을 더 포함하는 것을 특징으로 하는 컴퓨터시스템.
  21. 제 20 항에 있어서, 상기 기본파티션은 파일을 더 포함하고, 상기 제조코드는 네트워크 서버로부터 소프트웨어를 다운로드할 때 인터럽트가 발생하면 상기 기본파티션의 파일을 클리어하는 명령을 더 포함하는 것을 특징으로 하는 컴퓨터시스템.
  22. 제 16 항에 있어서, 상기 제조순서는 테스트를 더 포함하는 것을 특징으로 하는 컴퓨터시스템.
  23. 제 22 항에 있어서, 상기 제조코드는 상기 유틸리티파티션에 제조순서 상태를 기억하는 명령 및 소프트웨어 다운로드 및 테스트 각각이 완료할때마다 제조순서를 갱신하는 명령을 더 포함하는 것을 특징으로 하는 컴퓨터시스템.
  24. 제 16 항에 있어서, 상기 하나 이상의 메모리는 디스크 드라이브를 포함하는 것을 특징으로 하는 컴퓨터시스템.
  25. 제 16 항에 있어서, 상기 하나 이상의 메모리는 하드디스크 드라이브를 포함하는 것을 특징으로 하는 컴퓨터시스템.
  26. 제조시 소프트웨어 설치를 수행하는 컴퓨터시스템으로서,
    하나 이상의 프로세서,
    마스터 부트 레코드, 유틸리티파티션 및 기본파티션을 갖는 하나 이상의 메모리로서, 상기 유틸리티파티션은 상기 컴퓨터시스템의 제조시 제조순서에 특정한 제조코드를 포함하는, 메모리, 및
    상기 컴퓨터시스템을 네트워크 서버에 접속하는 인터페이스로서, 상기 컴퓨터시스템 부팅시, 상기 제조코드는 상기 하나 이상의 프로세서에 의해 실행되고, 상기 제조순서는 적어도 네트워크 서버로부터 기본파티션으로의 소프트웨어 다운로드를 포함하고,
    상기 마스터 부트 레코드는 상기 유틸리티파티션에 대응하는 제 1 기술어 및 상기 기본파티션에 대응하는 제 2 기술어를 갖는 마스터 파티션표를 포함하고, 상기 제 1 기술어는 액티브파티션 플래그필드 및 무효 파티션 타입 필드를 포함하고, 제 2 기술어는 인액티브파티션 플래그필드 및 유효 파티션 타입 필드를 포함하고, 상기 기본파티션은 상기 컴퓨터시스템의 타겟 운영체제에 특정한 파티션 부트 레코드를 포함하고,
    상기 제조코드는 제 1 기술어의 무효 파티션 타입 필드를 유효 타입 필드로 변경하고 상기 유틸리티파티션을 가상 A: 드라이브로 맵핑하고 상기 기본파티션을 논리 C: 드라이브로 맵핑하는 명령을 더 포함하고,
    상기 기본파티션은 파일 할당표 및 루트 디렉토리를 더 포함하고, 상기 제조코드는 네트워크 서버로부터 소프트웨어 다운로드시 인터럽트가 발생하면 상기 기본파티션의 상기 파일 할당표 및 상기 루트 디렉토리를 클리어하는 명령과 하나 이상의 메모리의 재포맷 및 재분할없이 소프트웨어 다운로드를 다시 시작하도록 하는 명령을 더 포함하는 것을 특징으로 하는 컴퓨터시스템.
  27. 제 26 항에 있어서, 상기 기본파티션은 파일을 더 포함하고, 상기 제조코드는 상기 네트워크 서버로부터 소프트웨어를 다운로드할 때 인터럽트가 발생하면 상기 기본파티션의 파일을 클리어하는 명령을 더 포함하는 것을 특징으로 하는 컴퓨터시스템.
  28. 제 26 항에 있어서, 상기 제조순서는 테스트를 더 포함하는 것을 특징으로 하는 컴퓨터시스템.
  29. 제 28 항에 있어서, 상기 제조코드는 상기 유틸리티파티션의 제조순서 상태를 기억하는 명령 및 소프트웨어 다운로드 및 테스트 각각이 완료할때마다 제조순서를 갱신하는 명령을 더 포함하는 것을 특징으로 하는 컴퓨터시스템.
  30. 제 26 항에 있어서, 상기 하나 이상의 메모리는 하드디스크 드라이브를 포함하는 것을 특징으로 하는 컴퓨터시스템.
KR1019990036080A 1999-01-25 1999-08-28 컴퓨터시스템에 대한 복구 가능한 소프트웨어 설치방법 및 장치 KR100578940B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US9/236,862 1999-01-25
US09/236,862 US6247126B1 (en) 1999-01-25 1999-01-25 Recoverable software installation process and apparatus for a computer system
US09/236,862 1999-01-25

Publications (2)

Publication Number Publication Date
KR20000052311A true KR20000052311A (ko) 2000-08-16
KR100578940B1 KR100578940B1 (ko) 2006-05-12

Family

ID=22891303

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990036080A KR100578940B1 (ko) 1999-01-25 1999-08-28 컴퓨터시스템에 대한 복구 가능한 소프트웨어 설치방법 및 장치

Country Status (14)

Country Link
US (1) US6247126B1 (ko)
JP (1) JP2000222178A (ko)
KR (1) KR100578940B1 (ko)
CN (1) CN1191526C (ko)
AU (1) AU757143B2 (ko)
BR (1) BR9906016A (ko)
DE (1) DE10003108B4 (ko)
FR (1) FR2792740B1 (ko)
GB (1) GB2349247B (ko)
IE (1) IE20000025A1 (ko)
IT (1) IT1319794B1 (ko)
MY (1) MY117190A (ko)
SG (1) SG85655A1 (ko)
TW (1) TW454147B (ko)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7062645B2 (en) * 1998-06-04 2006-06-13 Gateway Inc. Build to order personal computer manufacturing fast boot method
US6725260B1 (en) * 1998-09-11 2004-04-20 L.V. Partners, L.P. Method and apparatus for configuring configurable equipment with configuration information received from a remote location
KR100284430B1 (ko) * 1998-12-18 2001-04-02 구자홍 프로그램 갱신 방법 및 장치
US6401183B1 (en) * 1999-04-01 2002-06-04 Flash Vos, Inc. System and method for operating system independent storage management
US6490616B1 (en) * 1999-06-14 2002-12-03 Wind River International, Ltd. Method and apparatus for incremental download from server to client
US6543047B1 (en) * 1999-06-15 2003-04-01 Dell Usa, L.P. Method and apparatus for testing custom-configured software/hardware integration in a computer build-to-order manufacturing process
JP3916806B2 (ja) * 1999-07-26 2007-05-23 富士通株式会社 リモートローディング実行方法、リモートローディング実行システム、情報処理装置、管理装置及びコンピュータ読み取り可能な記録媒体
US6606716B1 (en) 1999-10-06 2003-08-12 Dell Usa, L.P. Method and system for automated technical support for computers
US6560726B1 (en) 1999-08-19 2003-05-06 Dell Usa, L.P. Method and system for automated technical support for computers
US6760708B1 (en) * 1999-08-19 2004-07-06 Dell Products L.P. Method and system for migrating stored data to a build-to-order computing system
US6556431B1 (en) 1999-10-06 2003-04-29 Dell Usa, L.P. System and method for converting alternating current into direct current
US6539499B1 (en) 1999-10-06 2003-03-25 Dell Usa, L.P. Graphical interface, method, and system for the provision of diagnostic and support services in a computer system
US6574615B1 (en) 1999-10-06 2003-06-03 Dell Usa, L.P. System and method for monitoring support activity
US6564220B1 (en) 1999-10-06 2003-05-13 Dell Usa, L.P. System and method for monitoring support activity
US6598223B1 (en) * 1999-10-06 2003-07-22 Dell Usa, L.P. Method and system for installing and testing build-to-order components in a defined configuration computer system
US6563698B1 (en) 1999-10-06 2003-05-13 Dell Usa, L.P. System and method for providing a computer system with a detachable component
AU1885800A (en) * 2000-01-06 2001-07-16 Kam-Fu Chan Running microsoft windows 95/98 on ramdisk
US6711798B2 (en) 2000-01-18 2004-03-30 Dell Products L.P. Method for manufacturing products according to customer orders
US6516242B1 (en) * 2000-01-18 2003-02-04 Dell Usa, L.P. Apparatus for consolidating manufacturing of computing devices
US6892104B2 (en) * 2000-01-18 2005-05-10 Dell Products L.P. System and method for manufacturing products according to customer orders
US6631606B2 (en) 2000-01-18 2003-10-14 Dell Products L.P. System and method for accommodating atypical customer requirements in a mass customization manufacturing facility
US6470446B1 (en) * 2000-01-20 2002-10-22 Dell Usa, L.P. Method for preparing computer hard disks during installation of a network operating system
US7000231B1 (en) * 2000-09-22 2006-02-14 Hewlett-Packard Development Company, L.P. Method of manufacturing operating system master template, method of manufacturing a computer entity and product resulting therefrom, and method of producing a production version of an operating system
TWI222020B (en) 2000-10-19 2004-10-11 Wistron Corp Method for installing and pre-setup of software
CN1333337C (zh) * 2000-10-30 2007-08-22 宏碁股份有限公司 安装与预先启动软件的方法
JP2002236590A (ja) * 2000-12-08 2002-08-23 Seiko Epson Corp ソフトウェアのインストール方法
US6748553B2 (en) * 2000-12-27 2004-06-08 Intel Corporation Method and apparatus for default factory image restoration of a system
US6807665B2 (en) * 2001-01-18 2004-10-19 Hewlett-Packard Development Company, L. P. Efficient data transfer during computing system manufacturing and installation
US6634506B2 (en) 2001-03-05 2003-10-21 Dell Products L.P. Reusable container management system and method
US6615092B2 (en) 2001-03-05 2003-09-02 Dell Products L.P. Method, system and facility for controlling resource allocation within a manufacturing environment
US6529797B2 (en) 2001-03-05 2003-03-04 Dell Products L.P. System and method for automatically releasing collections of goods for shipment
US6611727B2 (en) 2001-03-05 2003-08-26 Dell Products L.P. Method and system for simulating production within a manufacturing environment
US6560509B2 (en) 2001-03-05 2003-05-06 Dell Products L.P. System and method for automated management of a distribution facility
US6816746B2 (en) 2001-03-05 2004-11-09 Dell Products L.P. Method and system for monitoring resources within a manufacturing environment
US6505094B2 (en) 2001-03-05 2003-01-07 Dell Products L.P. System and method for shipping items from a distribution facility
US20020123918A1 (en) * 2001-03-05 2002-09-05 Dell Products L.P. System and method for manufacturing and shipping products according to customer orders
US7814532B2 (en) * 2001-05-02 2010-10-12 Lenovo (Singapore) Pte. Ltd. Data processing system and method for password protecting a boot device
US20030028812A1 (en) * 2001-07-31 2003-02-06 Stultz Paul Dennis Computer security during power-on self test
US20030055932A1 (en) * 2001-09-19 2003-03-20 Dell Products L.P. System and method for configuring a storage area network
JP2003308215A (ja) * 2002-02-14 2003-10-31 Canon Inc 情報処理装置、制御方法、制御プログラム
US20030214957A1 (en) * 2002-05-15 2003-11-20 Wahoske Matthew John Broadband set-top box front-end storage system
US6962306B2 (en) * 2002-07-15 2005-11-08 West Ronald R Units for storing flexible elongated objects
US6857011B2 (en) * 2002-10-31 2005-02-15 Paragon Development Systems, Inc. Method of remote imaging
CN1324462C (zh) * 2002-12-06 2007-07-04 联想(北京)有限公司 通过服务器给多台客户机自动安装应用软件的方法
US7266820B2 (en) * 2003-08-14 2007-09-04 Dell Products L.P. Trunked customized connectivity process for installing software onto an information handling system
CN1328662C (zh) * 2003-09-28 2007-07-25 中兴通讯股份有限公司 嵌入式计算机系统中的嵌入式文件系统的容错处理方法
JP4511468B2 (ja) * 2003-09-30 2010-07-28 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置における管理プログラムの実行管理
CN100343816C (zh) * 2004-09-24 2007-10-17 华为技术有限公司 恢复单板软件版本的方法
US7607002B2 (en) * 2005-01-10 2009-10-20 Dell Products L.P. System and method for information handling system boot device branding of boot information
CN100346302C (zh) * 2005-02-01 2007-10-31 苏州超锐微电子有限公司 一种通过磁盘主引导记录实现网络功能的方法
US7991850B2 (en) * 2005-07-28 2011-08-02 Advanced Micro Devices, Inc. Resilient system partition for personal internet communicator
US9573067B2 (en) * 2005-10-14 2017-02-21 Microsoft Technology Licensing, Llc Mass storage in gaming handhelds
CN101390050B (zh) 2005-12-22 2018-04-24 艾伦·J·薛比洛 通过相减性安装达成选择性分配软件资源的装置与方法
US7712094B2 (en) 2005-12-22 2010-05-04 Alan Joshua Shapiro Method and apparatus for replicating a panoplex onto a storage medium from a master
KR100746026B1 (ko) * 2006-01-04 2007-08-06 삼성전자주식회사 소프트웨어 설치 장치 및 방법
US20070206546A1 (en) * 2006-03-02 2007-09-06 Alberth William P Jr Method and apparatus for preventing denial of service attacks on cellular infrastructure access channels
CN101034366A (zh) * 2006-03-07 2007-09-12 鸿富锦精密工业(深圳)有限公司 计算机测试系统及方法
US20070234000A1 (en) * 2006-03-31 2007-10-04 Dell Products L.P. Method and system for dynamic management of a utility partition in a pre-operating system environment
US20080040127A1 (en) * 2006-08-14 2008-02-14 Carol Jean Williams Customer Customized Resource Media
CN101399696B (zh) 2007-09-24 2011-09-21 国际商业机器公司 通过网络为客户机安装软件的方法、系统及相应的客户机
US8819563B2 (en) * 2008-04-03 2014-08-26 Dell Products L.P. Systems and methods for accessing system utilities
TW201007448A (en) * 2008-08-08 2010-02-16 Genesys Logic Inc Processing unit, portable electrica device and auto-run method thereof
US7920935B2 (en) * 2008-08-19 2011-04-05 International Business Machines Corporation Activity based real-time production instruction adaptation
US8086900B2 (en) * 2008-12-22 2011-12-27 International Business Machines Corporation System, method and computer program product for testing a boot image
US8086834B2 (en) * 2009-04-16 2011-12-27 Dell Products L.P. System and method for populating a dedicated system service repository for an information handling system
US8868859B2 (en) * 2011-06-03 2014-10-21 Apple Inc. Methods and apparatus for multi-source restore
US9465696B2 (en) 2011-06-03 2016-10-11 Apple Inc. Methods and apparatus for multi-phase multi-source backup
US9411687B2 (en) 2011-06-03 2016-08-09 Apple Inc. Methods and apparatus for interface in multi-phase restore
US8640177B2 (en) * 2012-06-29 2014-01-28 International Business Machines Corporation Interactive DVR system
US9542423B2 (en) 2012-12-31 2017-01-10 Apple Inc. Backup user interface
US9934871B2 (en) * 2015-04-17 2018-04-03 Western Digital Technologies, Inc. Verification of storage media upon deployment
CN106155734B (zh) * 2015-04-27 2020-09-18 南京中兴软件有限责任公司 一种软件版本的下载方法及装置
US10191811B2 (en) * 2015-08-13 2019-01-29 Quanta Computer Inc. Dual boot computer system
FR3044124B1 (fr) * 2015-11-20 2018-09-21 Sagemcom Energy & Telecom Sas Procede de verification d'integrite d'un ensemble de donnees
US10289596B2 (en) 2016-06-07 2019-05-14 Macronix International Co., Ltd. Memory and method for operating a memory with interruptible command sequence
TWI631461B (zh) * 2017-06-27 2018-08-01 晨星半導體股份有限公司 行車記錄器之儲存裝置的控制方法與儲存裝置控制系統
US11435922B2 (en) * 2017-06-27 2022-09-06 Sigmastar Technology Ltd. Control method for storage device of driving recorder and storage device control system
US10862799B2 (en) * 2018-11-19 2020-12-08 Dell Products, L.P. Virtual burn rack monitor

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5214695A (en) * 1990-07-23 1993-05-25 International Business Machines Corporation Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system
EP0476195A1 (en) * 1990-09-19 1992-03-25 International Business Machines Corporation Initial program load for computer workstation
US5444861A (en) 1992-06-01 1995-08-22 United Technologies Corporation System for downloading software
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
JP3200661B2 (ja) * 1995-03-30 2001-08-20 富士通株式会社 クライアント/サーバシステム
TW429362B (en) * 1996-03-04 2001-04-11 Nippon Electric Co Partitioned hard disk drives and partitioning scheme for hard disk drives
GB2311389B (en) * 1996-03-18 2000-06-07 Ibm Software installation in data processing network
KR19980066818A (ko) * 1997-01-29 1998-10-15 김광호 단말 컴퓨터를 자동으로 복구하는 서버-클라이언트 시스템 구조
EP0934563A1 (en) * 1997-05-30 1999-08-11 Koninklijke Philips Electronics N.V. Failsafe method for upgrading set-top system software from a network server
GB2329266A (en) * 1997-09-10 1999-03-17 Ibm Automatic error recovery in data processing systems
US6029237A (en) * 1997-10-08 2000-02-22 Dell Usa, L.P. Method for simulating the presence of a diskette drive in a NetPC computer that contains only a hard disk drive
US5944820A (en) * 1997-10-15 1999-08-31 Dell U.S.A., L.P. Modifiable partition boot record for a computer memory device
US6032239A (en) * 1997-10-15 2000-02-29 Dell Usa, L.P. System and method for updating partition mappings to logical drives in a computer memory device
US6032223A (en) * 1997-10-15 2000-02-29 Dell Usa, L.P. System and method for determining a RAM disk logical drive designation
US6041395A (en) * 1997-12-03 2000-03-21 Dell Usa, L.P. System and method for changing partition mappings to logical drives in a computer memory
US6092189A (en) * 1998-04-30 2000-07-18 Compaq Computer Corporation Channel configuration program server architecture

Also Published As

Publication number Publication date
SG85655A1 (en) 2002-01-15
FR2792740B1 (fr) 2005-03-11
AU4105999A (en) 2000-07-27
IT1319794B1 (it) 2003-11-03
AU757143B2 (en) 2003-02-06
CN1191526C (zh) 2005-03-02
FR2792740A1 (fr) 2000-10-27
GB2349247A (en) 2000-10-25
ITTO20000034A1 (it) 2001-07-14
GB2349247B (en) 2001-03-07
GB9930758D0 (en) 2000-02-16
IE20000025A1 (en) 2000-10-18
KR100578940B1 (ko) 2006-05-12
MY117190A (en) 2004-05-31
DE10003108A1 (de) 2000-08-24
US6247126B1 (en) 2001-06-12
JP2000222178A (ja) 2000-08-11
DE10003108B4 (de) 2005-08-25
CN1262480A (zh) 2000-08-09
BR9906016A (pt) 2000-08-08
TW454147B (en) 2001-09-11

Similar Documents

Publication Publication Date Title
KR100578940B1 (ko) 컴퓨터시스템에 대한 복구 가능한 소프트웨어 설치방법 및 장치
US6804774B1 (en) Software image transition aid comprising building a disk image based on identified hardware
US6553490B1 (en) Computer system including local computer with capability to automatically update operating system or application program from network server
US5794052A (en) Method of software installation and setup
US5764593A (en) Method and system for the interception and control of the computer boot process
US7769990B1 (en) Using a monitoring process to update system configuration settings during restore operations
US5794032A (en) System for the identification and configuration of computer hardware peripherals
US6928579B2 (en) Crash recovery system
US6205558B1 (en) Recovery of file systems after modification failure
US8886995B1 (en) Fault tolerant state machine for configuring software in a digital computer
US7856630B2 (en) System, method and program to manage program updates
US20120079474A1 (en) Reimaging a multi-node storage system
JP2001522088A (ja) 取り外し可能大容量媒体を使用したコンピュータ回復用システム
US20040073783A1 (en) Computer system with operating system on a ram-disk
US6665778B1 (en) System and method for storage of device performance data
US20060143433A1 (en) Virtual partition for recording and restoring computer data files
EP1584024A2 (en) Protected, hidden emergency boot directory
JP2006260319A (ja) 計算機システム
JP2007052519A (ja) 情報処理装置および方法、並びにプログラム
EP1110146B1 (en) A method, computer, and article of manufacturing for fault tolerant booting
US6470446B1 (en) Method for preparing computer hard disks during installation of a network operating system
US9557983B1 (en) Flexible storage application deployment mechanism
KR100402639B1 (ko) 후속 부트 처리중에 탑재하기 위해 운용 시스템을 미리선택하기 위한 방법 및 시스템
Cisco Chapter 2 - Sun Solaris 8 Operating System Installation
KR102423056B1 (ko) 부팅 디스크 변경 방법 및 시스템

Legal Events

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

Payment date: 20130423

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140423

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150424

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160425

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190430

Year of fee payment: 14