KR100655124B1 - 주문 제작 컴퓨터시스템을 위한 소프트웨어 설치 및 테스트를촉진하는 데이타베이스 - Google Patents

주문 제작 컴퓨터시스템을 위한 소프트웨어 설치 및 테스트를촉진하는 데이타베이스 Download PDF

Info

Publication number
KR100655124B1
KR100655124B1 KR1019980028798A KR19980028798A KR100655124B1 KR 100655124 B1 KR100655124 B1 KR 100655124B1 KR 1019980028798 A KR1019980028798 A KR 1019980028798A KR 19980028798 A KR19980028798 A KR 19980028798A KR 100655124 B1 KR100655124 B1 KR 100655124B1
Authority
KR
South Korea
Prior art keywords
family
software installation
computer system
component
relationship
Prior art date
Application number
KR1019980028798A
Other languages
English (en)
Other versions
KR19990023214A (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 KR19990023214A publication Critical patent/KR19990023214A/ko
Application granted granted Critical
Publication of KR100655124B1 publication Critical patent/KR100655124B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/64Retargetable
    • 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/2247Verification or detection of system hardware configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Abstract

본 발명에 따른 컴퓨터시스템에 소프트웨어를 설치하는 장치는 스텝표 및 구성요소표를 포함한다. 스텝표는 제작되는 모든 컴퓨터시스템의 서로 다른 구성요소간에 공유되는 한 세트의 소프트웨어 설치스텝을 포함한다. 구성요소표는 제작되는 컴퓨터 내에 포함될 수 있는 모든 구성요소에 대한 세트를 포함한다.
컴퓨터시스템은 한 세트의 컴퓨터시스템 패밀리에 대응하고, 장치는 또한 패밀리 관계표, 패밀리 관계표 및 패밀리 구성요소 관계표를 포함한다. 패밀리 관계표는 한 세트의 소프트웨어 설치스텝과 제조되는 컴퓨터시스템의 각 패밀리간의 관계를 식별한다. 패밀리 구성요소 관계표는 컴퓨터시스템의 패밀리와 구성요소의 세트 사이의 관계를 식별한다. 패밀리스텝 관계표는 구성요소와 대응하는 구성요소에 적합한 한 세트의 소프트웨어 설치스텝을 식별한다.

Description

주문 제작 컴퓨터시스템을 위한 소프트웨어 설치 및 테스트 시스템{Software installation and testing system for a built-to-order computer system}
본 발명은 주문제작컴퓨터 시스템의 소프트웨어 설치 및 테스트시스템에 관한 것으로서, 특히 컴퓨터시스템에 대한 소프트웨어 설치 및/또는 테스트 스텝을 시퀀스하는 방법에 관한 것이다.
일반적인 퍼스널컴퓨터 및 특히 IBM 호환성 퍼스널컴퓨터는 사회의 여러 부문에서 계산능력을 제공하는데 널리 사용되고 있다. 퍼스널컴퓨터시스템은 일반적으로 시스템 프로세서와 결합된 휘발성 및 비휘발성 메모리, 디스플레이 모니터, 키보드, 하나 이상의 디스켓드라이브, 고정 디스크기억장치 및 선택적인 프린터를 갖는 시스템유닛을 포함하는 데스크탑, 자립형, 또는 휴대용 마이크로컴퓨터로 정의될 수 있다.
이들 컴퓨터는 기업체나 개별적인 고객에게 납품되기 전에 소프트웨어를 설치하고 테스트를 수행하게 된다. 소프트웨어의 설치와 테스트의 목적은 기업체 및 개인에게 에러가 발생하지 않고 용이하게 실행할 수 있는 유용하고 신뢰성 있는 컴퓨터시스템을 효율적으로 생산하기 위해서이다. 일반적으로, 테스트를 수행하여 컴퓨터시스템의 하드웨어 및 소프트웨어에서 발생하는 에러를 분석한다. 컴퓨터시스템 하드웨어 테스트목록에는 프로세서, 메모리, 디스크기억장치, 오디오장치, 그래픽장치, 키보드, 마우스, 및 프린터 등의 하드웨어 구성요소를 진단하는 것이 포함될 수 있다. 소프트웨어 설치는 종종 컴퓨터시스템에 원하는 패키지의 소프트웨어를 로딩하고, 컴퓨터에 적절한 환경변수를 작성하고, 로딩된 소프트웨어에 대한 적당한 초기화 파일을 작성하는 것을 포함한다. 소프트웨어 테스트는 종종 원하는 버전의 소프트웨어가 컴퓨터시스템에 설치되고 적절한 드라이버가 컴퓨터시스템에 존재하도록 보장하는 것을 포함한다.
이들 컴퓨터시스템이 고객에게 전달되기 전에 제조단계에서 일정한 절차를 수행하여 컴퓨터시스템에 소프트웨어를 설치하고 컴퓨터시스템을 테스트하게 된다. 예를 들어, 소정 타입의 컴퓨터시스템을 위한 소정의 진단테스트를 포함하는 디스켓이 제조된다. 이 디스켓은 소프트웨어 설치 및 진단 프로세스를 지시하기 위한 종종 길고 복잡한 배치파일을 포함한다. 디스켓은 또한 구매할 컴퓨터시스템을 테스트하기 위한 모든 실행가능 파일을 포함한다.
제작된 각 컴퓨터시스템에는 이러한 디스켓의 각각의 카피가 제공된다. 이들 디스켓은 제조단계에서 공장 내에서 제조중인 컴퓨터시스템에 수반되고, 테스트는 배치파일 고유의 순서에 따라 각각의 컴퓨터 시스템 상에서 실행된다. 프로세스를 수행하는데 변경이 필요하면, 배치코드의 부분을 추가 또는 제거함으로써 배치파일을 변경할 수 있다. 각각의 컴퓨터시스템은 동일한 배치파일 진단절차를 공유하므로, 배치파일의 이러한 변경은 제조되는 이후의 각각의 컴퓨터시스템의 테스트 파라미터에 대응하는 변화를 발생시킨다.
이러한 종류의 진단방식은 납품 전의 컴퓨터시스템의 신뢰성을 증가시키는데 약간의 유용성을 갖지만, 개선의 여지가 남아 있다. 예를 들어, 테스트는 점점 더 복잡해지고, 진단 테스트의 배치파일 또는 실행가능파일은 종종 디스켓의 기억용량을 초과한다. 또한, 어떤 시스템 또는 패밀리용 테스트의 수정 없이, 다른 주문제작 컴퓨터시스템이나 컴퓨터시스템 패밀리에 대한 테스트 및 소프트웨어 설치절차를 행하는 것은 불가능하거나 어려워진다. 또한, 어떤 시스템 및 패밀리용 순서를 변경시키지 않고 다른 주문제작 컴퓨터시스템이나 패밀리를 위한 소프트웨어 설치 또는 테스트 순서를 변경하는 것은 어렵거나 불가능하다. 마지막으로, 최근의 배치파일 구조의 복잡성은 제조자가 테스트 및 소프트웨어 설치절차에서 신속하고 효율적으로 문제점을 해결하거나 유지보수하는 것을 어렵게 한다. 따라서 이들을 고객에게 전달하기 전에 컴퓨터시스템에 소프트웨어를 설치하고 테스트하기 위한 개선된 방법이 요구된다.
본 발명에 따른 컴퓨터시스템에 소프트웨어를 설치하는 장치는, 스텝표(step table) 및 구성요소표(component table)를 포함한다. 스텝표는 제작되는 모든 컴퓨터시스템의 서로 다른 구성요소 간에 공유되는 한 세트의 소프트웨어 설치스텝을 포함한다. 구성요소표는 제작되는 컴퓨터 내에 포함될 수 있는 모든 구성요소에 세트를 포함한다.
바람직한 실시예에서, 컴퓨터시스템은 한 컴퓨터시스템 패밀리 세트에 대응하고, 본 발명의 장치는 패밀리 관계표, 패밀리스텝 관계표 및 패밀리 구성요소 관계표를 더 포함한다. 패밀리 관계표는 한 세트의 소프트웨어 설치스텝과 제조되는 컴퓨터시스템의 각 패밀리간의 관계를 식별한다. 패밀리 구성요소 관계표는 컴퓨터시스템의 패밀리와 구성요소 세트 사이의 관계를 식별한다. 패밀리스텝 관계표는 구성요소와 대응하는 구성요소에 적합한 한 세트의 소프트웨어 설치스텝을 식별한다.
본 발명의 다른 바람직한 실시예에서, 하나의 스텝이 각각의 구성요소 기술어와 관련되고 각각의 시퀀스번호를 포함하는 복수의 스텝을 제공하는 장치가 제공된다. 구성요소 기술어는 컴퓨터시스템의 각각의 구성요소를 기술한다. 이 장치는 스텝표와 구성요소표를 포함한다. 스텝표는 설치될 모든 컴퓨터시스템의 서로 다른 구성요소 사이에서 공유되는 한세트의 소프트웨어 설치 스텝을 포함한다. 구성요소표는 제조되는 컴퓨터시스템 내에 포함될 수 있는 모든 구성요소의 세트를 포함한다.
그러므로, 전술한 장치는 주문제작 컴퓨터시스템의 문제점을 해결하고 주문에 따른 맞춤화(customization)를 가능케 하는 효과적인 소프트웨어설치 및 컴퓨터 테스트를 제공한다. 장치의 모듈화 설계는 새로운 컴퓨터시스템 및 패밀리에 대한 신속한 스텝의 생성 및 테스팅 시스템의 기본적인 유지관리를 가능케 하는 이점이 있다.
다음의 바람직한 실시예의 상세한 설명으로부터 본 발명의 목적, 특징, 이점이 더 명백해질 것이다. 다음은 본 발명을 수행하는 최상의 모드를 상세히 설명한다. 이 설명은 설명을 위한 것이며 이에 한정되는 것은 아니다. 도면에서, 동일 또는 유사한 구성요소는 동일 참조번호를 사용할 수 있다. 설명에서 모듈은 명령 또는 명령 세트로 정의된다.
도 1은 소프트웨어 설치 및 테스트 시스템(90)의 개략도이다. 동작에 있어서, 오더(주문)(92)는 주문제작 타겟 컴퓨터시스템(160)을 구입하기 위하여 발생된다. 타겟시스템(160)은 복수의 하드웨어 및 소프트웨어 구성요소를 포함하도록 제조된다. 예를 들면, 타겟시스템(160)은 소정 브랜드의 하드드라이브, 특정 타입의 모니터, 소정 브랜드의 프로세서 및 특정 버전의 운영체계를 포함할 수 있다. 타겟시스템(160)이 고객에게 전달되기 전에, 복수의 구성요소가 설치되고 테스트된다. 이러한 소프트웨어 설치 및 테스트는 구입 즉시 실행할 수 있는 신뢰성 있는 컴퓨터시스템을 보장하는 이점이 있다.
컴퓨터시스템의 서로 다른 패밀리와 서로 다른 개별 컴퓨터 구성요소는 다른 소프트웨어 설치 및 테스트 스텝을 필요로 하므로, 효과적인 소프트웨어설치 및 테스트 프로세스를 달성하기 위해 어떤 테스트를 타겟시스템(160)에서 실행할 필요가 있는가와 어떤 순서로 이들 테스트를 실행할 것인가를 결정할 필요가 있다. 스텝메이커(140)는 타겟시스템(160)에 실행될 소프트웨어 설치 및 테스트 스텝을 시퀀스하도록 구성된 컴퓨터시스템이다. 소프트웨어 설치 및/또는 테스트 스텝을 시퀀스 하기 위하여 스텝메이커(140), 구체적으로는 스텝메이커(140)에 존재하는 시퀀스 프로그램(204)이 먼저 기술어파일(96)로부터 복수의 구성요소 기술어를 판독한다. 기술어파일(96)은 원하는 구성요소를 갖는 원하는 컴퓨터시스템에 대응하는 오더(92)를 변환모듈(94)을 통해 컴퓨터 판독가능 포맷으로 변환시킴으로써 제공된다.
구성요소 기술어는 오더(92)에 의해 정의되는 타겟시스템(160)의 구성요소에 대한 컴퓨터판독가능 기술(description)이다. 바람직한 실시예에서, 구성요소 기술어는 타겟시스템(160)에 설치될 하드웨어 및/또는 소프트웨어 구성요소 리스트를 포함하는 컴퓨터 판독가능 파일인 시스템기술어 레코드라 칭하는 기술어파일 내에 포함된다. 복수의 구성요소 기술어를 판독한 후에, 시퀀스 프로그램(204)은 네트워크 접속(110)을 통해 데이터베이스(100)로부터 구성요소 기술어에 대응하는 복수의 소프트웨어 설치 및/또는 테스트 스텝을 검색한다. 네트워크접속(110)은 로컬 에어리어 네트워크, 인트라넷 또는 인터넷과 같은 잘 알려진 네트워크 접속일 수 있다. 데이터베이스(100)내에 포함된 정보는 화살표(130)에 의해 표시된 변경을 통해 갱신될 수 있다.
타겟시스템(160)에 적합한 소프트웨어 설치 및/또는 테스트 스텝을 검색하면서, 시퀀스 프로그램(204)은 각각의 스텝에 대응하는 시퀀스번호에 따라 소정의 순서로 스텝을 시퀀스한다. 타겟시스템(160)에 필요한 스텝을 시퀀스하면서, 시퀀스 프로그램(204)은 스텝디스크(150)에 일련의 출력파일을 기입한다. 도 1에 도시한 실시예에서, 출력파일은 타겟시스템(160)에 적절한 소프트웨어 설치 및/또는 테스트 스텝을 실행하는데 적합한 명령어라인을 포함하는 텍스트파일을 포함한다. 실행은 각각의 스텝에 대응하는 시퀀스번호에 대응하는 소정의 순서로 수행된다. 스텝디스크(150)는 스텝디스크(150)로부터 직접 또는 네트워크접속(180)을 통해 타겟시스템(160)에 접속된 파일서버(190)로부터 테스트가 실행되는 공장 작업장의 타겟시스템(160)을 따라 다닌다. 바람직하게는, 네트워크접속(180)은 타겟 컴퓨터시스템의 대응하는 네트워크 포트에 접속된 일반적인 네트워크 장치이다. 소프트웨어 설치 및 테스팅 스텝을 실행한 후에, 설치 및 테스트의 결과는 네트워크접속(180)을 통해 파일서버(190)에 로그된다.
도 2는 본 발명의 다른 실시예의 소프트웨어 설치 및 테스트 시스템(192)의 개략도이다. 고객은 주문제작 타겟 컴퓨터시스템(160)을 구입하기 위하여 오더(92)를 발생한다. 타겟 시스템(160)은 하드웨어 및/또는 소프트웨어에 대한 복수의 구성요소를 포함하도록 제조된다. 타겟시스템(160)이 고객에게 전달되기 전에, 복수의 구성요소가 설치되고 테스트된다. 이러한 설치 및 테스트는 고객이 입수 즉시 실행할 수 있는 신뢰성있는 컴퓨터시스템을 보장한다.
소프트웨어 설치 및 테스트를 시퀀스하기 위하여, 시퀀스프로그램(204)은 기술어 파일(96)로부터 복수의 구성요소기술어를 판독한다. 오더(92)는 변환모듈(94)을 통해 기술어 파일(96)로 변환된다. 구성요소 기술어는 타겟시스템(160)의 구성요소의 컴퓨터판독가능 기술이다. 바람직한 실시예에서, 구성요소 기술어는 시스템 기술어 레코드라 칭하는 기술어 파일에 포함되고, 컴퓨터판독가능 파일은 타겟컴퓨터시스템(160)에 설치될 하드웨어 및 소프트웨어에 관한 각각의 구성요소의 리스트를 포함한다. 시스템기술어 레코드는 파일서버(202)에 직접 저장될 수 있다. 시퀀스프로그램(204)은 데이터베이스(100)로부터 구성요소 기술어에 대응하는 복수의 소프트웨어 설치 및/또는 테스트 스텝을 검색한다. 타겟시스템(160)에 대한 적절한 소프트웨어 설치 및/또는 테스팅 스텝을 검색하면서, 시퀀스프로그램(204)은 각각의 스텝에 대응하는 시퀀스번호에 따라 소정의 순서로 스텝을 시퀀스한다. 타겟시스템(160)에 필요한 스텝을 시퀀스하면서, 시퀀스프로그램(204)은 네트워크접속(195,180)을 통해 소정의 순서로 타겟시스템(160)에 대한 소프트웨어 설치 및 테스팅 스텝을 실행한다.
네트워크접속(200)은 타겟시스템(160)의 대응 포트에 접속된 일반적인 네트워크장치이다. 네트워크(195)는 종래에 알려진 어떠한 통신접속이어도 된다. 소프트웨어 설치 및/또는 테스트 스텝을 실행한 후에, 설치 및 테스트의 결과는 네트워크접속(200)을 통해 파일서버(202)로 로그되거나 적절한 데이터베이스에 저장된다. 설명에서 알 수 있는 바와 같이, 도 1과 같은 별도의 스텝메이커 컴퓨터시스템(140)을 반드시 필요로 하지는 않는다. 또한, 스텝디스크(150)를 필요로 하지 않는다. 다만, 타겟시스템(160)을 부팅하기 위하여 구성된 부트디스크(220)가 공장의 현장에서 타겟시스템(160)에 존재하는 것이 필요하다.
소프트웨어 설치 및 테스트 시스템이 일반적으로 설명되었으므로, 도 1과 도 2의 시스템의 동작을 좀 더 상세히 설명한다.
도 3a는 컴퓨터시스템을 대한 오더가 컴퓨터판독가능 시스템기술어 레코드로 변환되는 바람직한 프로세스를 나타낸다. 구체적으로는, 항목(300)에서, 타겟컴퓨터시스템을 대한 오더를 수신한다. 이 오더는 여려 형태 중의 임의의 하나일 수도 있다. 예를 들면, 서로 다른 오더전달기구뿐만 아니라 서로 다른 오더형식도 가능하다. 예를 들어, 타겟컴퓨터시스템에 대한 오더는 전화, 메일 또는 컴퓨터네트워크(예를 들어, 인터넷을 통해)를 통해 전달될 수 있다. 오더의 형태 또는 입수수단에 관계없이 오더는 고객이 구입하고자 하는 컴퓨터시스템의 타입과 고객이 타겟 컴퓨터시스템에 포함시키고자 하는 특정한 구성요소의 명백한 리스트를 포함한다. 오더가 수신된 후에, 제어는 전송모듈(310)로 이동한다. 이 모듈에서는 타겟컴퓨터시스템 오더가 컴퓨터 네트워크를 통해 타겟컴퓨터시스템을 생산하는 제조 시스템(도시생략)에 전송된다. 또한 타겟컴퓨터시스템 오더는 소프트웨어설치 및 테스트시스템에 공급되어 모듈(320)에서 오더가 변환프로그램에 투입된다. 모듈(310)에서 사용되는 컴퓨터 네트워크는 종래에 잘 알려진 임의의 타입일 수 있다.
변환프로그램은 타겟컴퓨터시스템 오더를 제조프로세스에 유용한 레코드로 변환시킨다. 특히, 변환프로그램은 모듈(330)에서 컴퓨터 오더를 BAR파일이라 칭하는 레코드로 변환시킨다. 바람직하게, BAR파일은 제조될 특정 타겟컴퓨터시스템을 식별하는 고유 식별자를 포함한다. BAR파일은 또한 타겟컴퓨터시스템에 포함될 하드웨어 및 소프트웨어 등의 구성요소의 상세한 리스트를 포함할 수 있다. 또한, BAR파일은 각각의 구성요소에 대한 제조자의 특정 부품번호 또는 다른 유용한 식별자를 포함하는 것이 바람직하다. 마지막으로, BAR파일은 이름, 주소 및 전화번호 등의 고객특정 정보를 포함할 수 있다.
모듈(330)에서 BAR파일을 생성한 후에, 모듈(340)에서 시스템기술어 레코드가 생성된다. 바람직한 실시예에서, 시스템기술어 레코드는 타겟컴퓨터시스템에 포함될 하드웨어 및 소프트웨어를 기술하는 컴퓨터판독가능 파일이다. 바람직한 실시예에서, 시스템기술어 레코드는 하드웨어 태그, 소프트웨어 태그, 정보 태그, 및 코멘트를 포함하는 포맷으로 타겟시스템의 구성요소 리스트를 포함한다. 하드웨어 태그는 태그가 부가된 정보가 하드웨어 구성요소에 관련된 것임을 시퀀스프로그램(204)에 식별시킨다. 마찬가지로, 소프트웨어 태그는 태그가 부가된 정보가 소프트웨어 구성요소에 관련된 것임을 식별시킨다. 정보 태그는 일반적인 정보가 다음에 나타남을 나타낸다. 코멘트는 다양한 스테이트먼트가 시퀀스프로그램(204)에 의해 무시되는 시스템기술어 레코드에 포함되도록 한다. 시스템기술어 레코드는 사람이 판독가능하고 이해하기 용이한 텍스트 파일인 것이 바람직하다. 이러한 파일은 설치 및 테스트 프로세스 중의 문제점해결이나 유지관리가 용이하게 될 수 있도록 한다. 시스템기술어 레코드는 고유한 토큰 세트에 대응하는 임의의 고유한 식별자 리스트일 수 있다. 예를 들어, 시스템기술어 레코드는 부품번호 리스트일 수 있다.
도 3b는 예시적인 타겟 컴퓨터시스템 오더(350), 대응하는 BAR파일(360), 대응 시스템기술어 레코드(370)를 나타낸다. 타겟 컴퓨터시스템 오더(350)는 컴퓨터 패밀리의 이름, 여기서는 패밀리"X"를 포함한다. 또한, 타겟 컴퓨터시스템 오더(350)에는 펜티엄 프로세서, 하드드라이브, 및 모니터를 포함하는 세 개의 예시적인 하드웨어 구성요소를 포함한다. BAR파일(360)은 도 3a의 모듈(320)에서 설명된 바와 같이 변환프로그램을 통해 타겟컴퓨터시스템 오더(350)를 실행함으로써 생성된다. BAR파일(360)은 패밀리 X내의 특정한 타겟컴퓨터시스템에 대한 고유한 식별자를 포함한다. BAR파일(360)은 또한 타겟컴퓨터시스템 오더 내에 리스트된 각각의 구성요소에 대한 제조자 특정 부품번호를 포함한다. BAR파일(360)은 타겟컴퓨터시스템에 포함될 각각의 구성요소에 대한 텍스트기술(설명) 뿐만 아니라 각각의 구성요소의 필요한 수량을 나타내는 식별자를 포함한다. 시스템(90)은 BAR파일(360)을 사용하여 시스템기술어 레코드(370)를 생성한다.
설명한 바와 같이, 시스템기술어 레코드(370)는 또한 패밀리 X 내의 특정한 컴퓨터시스템에 대한 고유 식별자를 포함한다. 또한, 시스템기술어 레코드(370)는 프로세서, 하드드라이브 및 모니터가 모두 소프트웨어가 아니라 하드웨어 구성요소인 것을 가리키는 적절한 태그를 가리킨다. 시스템기술어 레코드(370)는 텍스트 기술문에 이들 구성요소를 기술한다. 또한 예시적인 시스템기술어 레코드(370)는 소정의 소프트웨어가 패밀리 X에 속하는 타겟컴퓨터시스템에 설치되거나 테스트되어야 한다는 것을 나타내는 소프트웨어 태그를 포함한다. 예를 들어, 소프트웨어 태그는 펜티엄 프로세서에 대한 적절한 소정의 운영체제가 패밀리 X에 속하는 타겟 컴퓨터시스템의 하드드라이브에 항상 설치되어야 한다는 것을 나타낸다.
도 4에서, 소프트웨어 설치 및 테스트 스텝을 시퀀스하는 일반적이고 바람직한 방법을 설명한다. 모듈(400)에서, 타겟컴퓨터시스템(160)에 대해 타겟컴퓨터시스템의 독특한 식별자가 발생된다. 도 1에 도시한 실시예에서, 스텝메이커 컴퓨터시스템(140)에 앉은 사용자는 고유한 식별자(예를들면, 추적코드로 기능하는 BAR 식별자)를 스텝메이커(140)의 시퀀스프로그램(204)에 제공한다. 다른 방법으로는, 도 2의 실시예에서, 타겟컴퓨터시스템 오더가 수신된 후에, 고유 식별자는 자동으로 시퀀스프로그램(204)에 판독된다.
모듈(410)에서, BAR식별자에 대응하는 시스템기술어 레코드의 위치를 찾는다. 도 1의 실시예에서, 네트워크접속(110) 또는 네트워크접속(195)이 시스템기술어 레코드의 위치를 찾는다. 도 2의 실시예에서, 네트워크접속(195)은 시스템기술어 레코드를 찾는다. 모듈(420)에서, 찾아낸 시스템기술어 레코드는 시퀀스프로그램(204)에 제공된다. 도 1의 실시예에서는, 시퀀스프로그램이 스텝 메이커 컴퓨터시스템(140)에 존재하고, 도 2의 실시예에서는, 시퀀스프로그램이 파일서버(202)에 존재한다. (도 1과 도 2의) 시퀀스프로그램(204)은 데이터베이스(100)와 연결되어 동작하여 타겟컴퓨터시스템(160)에 대한 소프트웨어 설치 및 테스트 스텝을 시퀀스한다. 특정 타겟컴퓨터시스템에 적합한 소프트웨어 설치 및 테스트 스텝이 시퀀스되면, 시퀀스프로그램(204)은 모듈(430)에 나타낸 바와 같이 출력파일을 생성한다.
도 1에 도시한 실시예에 있어서, 출력파일은 바람직하게는 스텝디스크(150)에 6개의 별도 파일로 기입된다. 이들 파일은 (1)Step 파일, (2)Setenv.bat 파일, (3)Qt.txt 파일, (4)Et.txt 파일, (5)Etlast.txt 파일, 및 (6)Ft.txt 파일을 포함한다. Step 파일은 주문(오더)될 타겟컴퓨터시스템에 대한 소프트웨어 설치 및 테스트 스텝을 실행하기 위한 적절한 명령어라인의 리스트를 포함하는 ASCII인 것이 바람직하다. 바람직한 실시예에서, Step 파일은 또한 루프될 수 있는 명령을 포함한다. 특히, Step 파일은 일정한 시간동안 또는 일정한 횟수로 명령을 반복할 수 있다. 이러한 포맷은 소프트웨어 설치 또는 테스트 스텝이 계산된 소정의 방법으로 반복되도록 하는 이점이 있다. Setenv.bat 파일은 바람직하게는 타겟컴퓨터시스템에 환경변수를 설정한다. 동작모드에서는, Step 파일 및 Setenv.bat 파일만 설치 및 테스트에 사용한다. Step 파일 및 Setenv.bat 파일은 타겟컴퓨터시스템에 대한 설치 및 테스트 스텝을 실행하기 위한 적절한 명령라인을 포함하는 ASCII 텍스트 스크립트 파일이다. 바람직하게는 Qt.txt, Et.txt, Etlast.txt, 및 Ft.txt 파일은 타겟컴퓨터시스템 제조에 있어서 Quick Test(Qt), Extended Test1(Et), Extended Test2(Etlast), 및 Final Test(Ft) 페이즈에서 타겟 컴퓨터시스템에 대한 소프트웨어 설치 및 테스트 스텝을 실행하기 위한 적절한 명령라인의 리스트를 포함하는 모든 ASCII 텍스트 파일이다.
한편, 도 2의 실시예에서는, 출력파일은 도 1에 도시한 바와 같이 스텝 디스크에 기입되지 않는다. 대신에, 출력파일은 파일서버(202) 또는 파일서버(190)에 상주하고, 이들은 타겟 컴퓨터시스템(160)에 대해 소프트웨어 설치 및/또는 테스트 스텝을 실행하는데 사용된다.
도 5는 도 1과 도 2에 도시한 시퀀스프로그램의 동작의 상세도이다. 모듈(500)에서, 타겟컴퓨터시스템(160)에 대응하는 시스템기술어 레코드는 시퀀스프로그램(204)에 제공된다. 모듈(510)에서, 구성요소 기술어는 시스템기술어 레코드로부터 판독된다. 각각의 구성요소 기술어는 타겟컴퓨터시스템의 각각의 구성요소, 즉, 하드웨어 또는 소프트웨어를 기술한다.
도 3b를 참조하면, 모듈(370)에서 펜티엄 프로세서를 포함하는 시스템기술어 레코드의 라인은 예시적인 구성요소 기술어이다. 모듈(520)에서, 시퀀스프로그램(204)은 타겟컴퓨터시스템(160)의 복수의 구성요소에 대응하는 복수의 도출된 오브젝트를 예시한다. 바람직한 실시예에서, 이들 도출된 오브젝트는 타겟 컴퓨터시스템(160)을 실행하는데 필요한 소프트웨어 설치 및 테스트 스텝에 관한 정보(데이터베이스(100)로부터 얻음)를 저장하는데 사용된다. 모듈(550)에서, 타겟 컴퓨터시스템(160)의 각각의 구성요소에 관련된 소프트웨어 설치 및 테스트 스텝은 데이터베이스(100)로부터 검색되어 도출된 적절한 오브젝트에 저장된다. 도 1의 실시예에서, 스텝은 네트워크(110)를 통해 검색되고, 도 2의 실시예에서, 스텝은 파일서버(202)로부터 직접 검색될 수 있다. 바람직한 실시예에서, 데이터베이스(100)로부터 스텝을 검색하는 방법을 설명하기 위하여 그 데이터베이스의 바람직한 구성을 설명할 필요가 있다.
도 6은 데이터베이스(100)의 설계를 나타낸다. 데이터베이스(100)는 소정의 순서로 소프트웨어 설치 및/또는 테스트 스텝의 시퀀스를 컴퓨터시스템의 패밀리와 관련시킨다. 또한, 데이터베이스(100)는 컴퓨터시스템의 패밀리와 컴퓨터시스템의 구성요소를 관련시키도록 구성된다. 또한, 데이터베이스(100)는 컴퓨터시스템의 구성요소와 소프트웨어 설치 및/또는 테스트 스텝을 관련시킨다.
데이테베이스(100)는 관계 데이터베이스인 것이 바람직하다. 데이터베이스(100)는 몇 개의 표를 포함하고, 표는 각각 전술한 관련을 형성하는데 적합한 속성(attribute)를 포함한다.
데이터베이스(100)는 Step 표(102), SysFamily 표(104), Sys_Step_Seq 표(106), Component 표(108), Sys_Comp 표(112), 및 Comp_Step 표(114)를 포함한다. 바람직한 실시예에서, 각각의 표는 속성의 리스트를 포함하고, 밑줄 친 속성은 1차 키로서 제공된다.
Step 표(102)는 모든 컴퓨터패밀리의 상이한 구성요소 간에 공유되는 한 세트의 소프트웨어 설치 및 테스트 스텝을 포함한다. 바람직한 구성에 있어서, Step 표(102)는 StepID, Phase, Name, Cmd, ClassID, AfterCode, 및 MaxInstance를 포함하는 속성을 갖는다. StepID 는 각각의 소프트웨어 설치 및 테스트 스텝을 위한 고유 식별번호이다. Phase는 스텝이 실행되는 제조단계를 지정한다. 예를 들어, Phase는 (1)Quick Test, (2)Extended Test1, (3)Extended Test2, 및 (4)Final Test 로 구성된 컴퓨터시스템 제조의 4개 페이즈에 대응하도록 선택된 정수이다. Name은 스텝을 기술하는 이름을 할당한 스트링이다. Cmd는 타겟시스템(160)(도 1과 도 2에 도시)에 소프트웨어 설치 또는 테스트 스텝을 수행하기 위한 실행가능 명령어라인을 할당하는 스트링이다. AfterCode는 소프트웨어 설치 또는 테스트 스텝이 실행된 후에 정지 또는 재부팅이 필요한지를 결정하는 식별자이다. MaxInstance는 스텝이 실행될 수 있는 최대 횟수를 가리키는 식별자이다. 마지막으로, ClassID는 소프트웨어 설치 또는 테스트 스텝과 관련된 소정 타입의 구성요소를 식별한다.
SysFamily 표(104)는 속성 SysID에 특정된 식별정수로 컴퓨터시스템의 각각의 패밀리를 식별한다. 또한, SysFamily 표에는 패밀리의 이름을 식별하는 스트링이 포함된다. Sys_Step_Seq 표(106)는 Step 표(102)와 SysFamily 표(104)사이의 관계를 포함하는 관계표이다. Sys_Step_Seq 표(106)는 (SysFamily 표(104)로부터의) 컴퓨터시스템의 특정 패밀리에 대한 속성 SysID에 특정된 패밀리 식별정수, 그 패밀리에 적합한 특정 셋트의 스텝을 식별하는 (Step 표(102)로부터의) 속성 StepID 에 특정된 스텝식별정수, 및 시퀀스번호를 포함한다. 바람직하게는 시퀀스번호는 특정 패밀리와 관련된 스텝이 실행될 소정의 순서를 나타내는 속성 SeqNum 내에 포함된다. 테스트 엔지니어는 특정 타겟시스템을 위해 가장 적합하게 선택된 순서로 제조의 각 페이즈 내에서 고유한 시퀀스번호를 할당한다. 시퀀스번호를 할당하는 다른 방법이 사용될 수 있다.
Component 표(108)는 제조될 컴퓨터시스템 내에 포함될 수 있는 모든 구성요소를 포함한다. 이 표의 속성은 바람직하게는 각각의 구성요소에 식별자를 할당하는 CompID, 각각의 구성요소에 스트링 이름을 할당하는 NameDesc, 및 구성요소의 타입(예를 들어, 하드드라이브, CD-ROM드라이브)을 나타내는 ClassId이다.
Sys_Comp 표(112)는 그 패밀리에 포함될 수 있는 한 세트의 구성요소와 컴퓨터시스템의 패밀리 사이의 관계를 포함하는 관계표이다. Sys_Comp 표(112)의 속성은 (SysFamily 표(104)로부터의) 속성 SysID 에 특정된 컴퓨터 패밀리 식별정수와(Component 표(108)로부터의) 속성 CompID 에 특정된 구성요소 식별정수를 포함한다.
Comp_Step 표(114)는 그 구성요소에 적절한 한 세트의 소프트웨어 설치 및 테스트스텝과 구성요소간의 관계를 포함하는 관계표이다. Comp_Step 표(114)의 속성은 (Component 표(108)로부터의) 속성 CompID에 특정된 구성요소 식별정수와 (Step 표(102)로부터의) 속성 StepID에 특정된 스텝 식별정수를 포함한다.
도 3b에 도시한 일예의 타겟 컴퓨터시스템을 사용하여 전술한 데이터베이스 설계가 소프트웨어 설치 및 테스트 스텝을 검색하는데 사용되는 방법을 설명한다. 패밀리 X를 식별하는 시스템 기술어 레코드의 컴퓨터패밀리 식별자는 SysFamily 표(104) 내의 패밀리 X를 대응하는 SysID과 관련된다. Component 표(108)는 타겟 컴퓨터시스템 오더에 리스트된 타겟 컴퓨터시스템의 구성요소가 적법한지를 체크하는데 사용된다. 즉, 시퀀스 프로그램과 데이터베이스는 도 3b에 도시한 시스템 기술어 레코드에 포함된 프로세서, 하드드라이브, 모니터 및 소프트웨어가 Component 표(108)의 CompID에 의해 특정된 대응하는 정수와 대응하는 엔트리(entry)를 갖는지를 판단한다. 구성요소가 적법하지 않으면 (즉, 시스템 기술어 레코드의 구성요소가 Component 표(108)에 포함되어 있지 않으면), 에러플래그가 발생한다. Sys_Comp 표(112)는 Component 표(108) 및 SysFamily 표(104)로부터의 맵핑을 포함하는 관계표이다. Sys_Comp 표(112)는 패밀리 X에 속하는 타겟 컴퓨터시스템에 포함될 수 있는 합법적인 구성요소를 모두 포함한다. 그러므로, Sys_Comp 표(112)는 타겟 시스템의 모든 구성요소가 합법적인지를 체크하는데 사용될 수 있다. 즉, 시퀀스프로그램 및 데이터베이스는 도 3b의 시스템기술어 레코드에 포함된 프로세서, 하드드라이브, 모니터, 및 소프트웨어가 Sys_Comp 표(112)의 대응하는 관계를 갖는지를 판단한다. 구성요소가 적법하지 않으면 (즉, 시스템기술어 레코드 내의 구성요소가 패밀리 X에 속하는 타겟 시스템에 포함되지 않으면), 에러 플래그가 발생한다.
Sys_Step_Seq 표(106)에는 Step 표(102)와 SysFamily 표(104)로부터의 맵핑이 존재한다. Sys_Step_Seq 표(106)는 패밀리 X에 속하는 타겟컴퓨터시스템에 합법적으로 실행할 수 있는 소프트웨어 설치 및 테스트 스텝을 모두 포함한다. 또한, 이 Sys_Step_Seq 표(106)에서 시퀀스 및 페이즈번호가 각각의 소프트웨어 설치 및 테스트 스텝과 관련된다. 이들 시퀀스 및 페이즈번호는 스텝이 컴퓨터시스템의 특정 패밀리에 대하여 실행되어야 할 올바른 순서를 나타낸다. 그러므로 Sys_Step_Seq 표(106)는 스텝이 실행되어야 하는 소정의 순서를 나타내는 시퀀스 및 페이즈번호 뿐만 아니라 패밀리 X 타겟컴퓨터시스템에서 실행될 스텝의 리스트를 포함한다.
Comp_Step 표(114)는 Component 표(108)와 Step 표(102)로부터의 맵핑을 포함하는 관계표이다. Comp_Step 표(114)는 타겟 컴퓨터시스템의 프로세서, 하드드라이브, 모니터 및 소프트웨어에 대해 실행될 소프트웨어 설치 및 테스트 스텝을 포함한다.
타겟 시스템에 포함될 각각의 구성요소와 관련된 소프트웨어 설치 및 테스트 스텝의 검색은 Sys_Comp 표(112)와 Comp_Step 표(114)의 결합동작을 수행하여 타겟 컴퓨터시스템160)의 구성요소에 실행될 스텝을 리스트하는 중간 세트를 얻는다.
결합동작은 도 3b에 도시한 시스템 기술어 레코드에 리스트된 프로세서, 하드드라이브, 모니터 및 소프트웨어 상에 실행될 스텝 리스트를 발생시킨다. Sys_Comp 표(112)와 Comp_Step 표(114)의 결합의 결과는 다시 패밀리 X에 대한 모든 스텝을 포함하는 Sys_Step_Seq 표(106)와 결합된다. 이러한 결합동작의 결과는 시퀀스번호와 페이즈번호 형태의 시퀀스정보를 포함하고, 시퀀스번호는 특정한 페이즈 내에서 유일하다. 그러므로, Sys_Comp 표(112) 및 Comp_Step 표(114), 및 Sys_Step_Seq 표(106)의 3개 표의 결합은 시퀀스 및 페이즈번호 형태의 시퀀스정보 뿐만 아니라 적절한 소프트웨어 설치 및 테스트 스텝을 만들어서 타겟 컴퓨터시스템160)에 소프트웨어 설치 및/또는 테스트한다.
제 1 결합동작의 결과(Sys_Comp 표(112)와 Comp_Step 표(114)의 합병)가 공집합이면, 에러상태가 발생한다. 왜냐하면 공집합은 타겟시스템에 포함될 구성요소가 시스템기술어 레코드 상에 리스트된 패밀리에 속하지 않는 것을 나타내기 때문이다. 그 일예를 설명한다. 시스템기술어 레코드는 타겟컴퓨터시스템이 패밀리 Y에 속하는 것을 올바르게 표시한다. 그러나, 시스템기술어 레코드가 패밀리 X의 타겟 시스템에만 속하는 하드드라이브(Z)가 패밀리 Y의 타겟시스템에 포함되는 것으로 잘못 표시하는 것으로 가정한다. 이 경우 Comp_Step 표(114)는 하드드라이브와 관련된 스텝을 포함한다. Sys_Comp 표(112)는 패밀리 Y와 관련된 구성요소를 포함한다. 그러므로, Comp_Step 표(114)와 Sys_Comp 표(112)의 결합은 공집합을 발생한다. 왜냐하면 하드드라이브 Z는 패밀리 Y와 관련된 구성요소가 이니기 때문에(대신, 패밀리 X와만 관련된다). 전술한 예로부터 명백한 바와 같이, 데이터베이스의 바람직한 설계는 소정 패밀리의 타겟 시스템이 그 패밀리에 대한 적절한 구성요소만을 포함하도록 보장하는 이점이 있다.
도 5를 참조하면, 타겟시스템에 포함될 구성요소와 관련된 스텝이 검색된 후, 모듈(560)에서, 시퀀스프로그램(204)은 시스템기술어 레코드를 판독하고 타겟시스템 상에 포함될 구성요소에 대응하는 환경파일을 형성함으로써 타겟컴퓨터시스템에 대한 환경변수를 작성한다. 예를 들어, 도 3b에 도시한 시스템기술어 레코드가 판독되고, 시스템기술어 레코드의 프로세서 하드웨어구성요소에 대응하여 "set cpu=pentium"과 같은 환경변수가 작성될 수 있다.
도 5의 모듈(570)에서, 전술한 3개의 표 결합에 의해 검색된 복수의 소프트웨어 설치 및 테스트 스텝은 소정의 순서로 시퀀스된다. 이 시퀀스는 각각의 시퀀스번호 및 페이즈번호에 따라 스텝 시퀀스를 제공하게 된다. 시퀀스 그 자체는 종래에 잘 알려진 많은 소트알고리즘 중의 하나를 사용하여 수행된다.
모듈(580)에서, 시퀀스프로그램(204)는 파일을 출력한다. 전술한 바와 같이, 출력파일은 도 1에 도시한 실시예의 6개의 별도 파일로 스텝디스크(150)(도 1 참조)에 기입되는 것이 바람직하다. 이들 파일은 (1)Step 파일, (2)Setenv.bat 파일, (3)Qt.txt 파일, (4)Et.txt 파일,(5)Etlast.txt, 및 (6)Ft.txt 파일을 포함한다. Step 파일은 ASCII 텍스트파일인 것이 바람직하다. 바람직한 실시예에서, Step 파일은 또한 루프될 수 있는 명령을 포함한다. 특히, Step 파일은 일정한 횟수 또는 일정한 시간동안 명령을 반복할 수 있다. Setenv.bat 파일은 타겟컴퓨터시스템에 환경변수를 설정한다. Step 파일은 타겟컴퓨터시스템의 제조에 관한 Quick Test(Qt), Extended Test1(Et), Extended Test2(Elast), 및 Final Test(Ft) 페이즈동안 각각 실행될 스텝을 포함한다. 한편, 도 2의 실시예에서는, 출력파일이 도 1에 도시한 바와 같이 스텝디스크에 기입되지 않는다. 대신에 파일서버(202)또는 파일서버(190)에 출력파일이 상주(존재)하고, 출력파일은 타겟 컴퓨터시스템(160)에 소프트웨어 설치 및 테스트 스텝을 실행을 지시하도록 사용될 수 있다.
도 1과 2를 다시 참조하면, 화살표(130)는 데이터베이스(100)를 변경시킬 수 있다는 것을 표시한다. 예를 들어, 컴퓨터시스템의 새로운 패밀리가 발생되면, 그에 따라 데이터베이스(100)를 변경할 수 있다. 구체적으로는, 새로운 패밀리에는 SysFamily 표(104)의 SysID에 새로운 패밀리 식별자를 할당하고, 새로운 패밀리를 위한 이름이 SysFamily 표(104)의 Name 속성에 할당된다. 또다른 소프트웨어 설치 스텝 및 테스트 스텝의 리스트가 Sys_Step_Seq 표(106)에 추가되고, 이들 스텝은 소정의 순서로 새로운 컴퓨터시스템 패밀리에 실행되어야 하는 스텝을 나타낸다. 컴퓨터시스템의 새로운 패밀리가 기존의 패밀리와 몇 개의 유사성을 공유하면, Sys_Step_Seq 표(106)의 기존의 패밀리에 대한 엔트리는 새로운 패밀리에 대한 엔트리를 생성하기 위하여 변경될 수 있다. 임의의 새로운 스텝이 컴퓨터시스템의 새로운 패밀리를 위하여 생성될 필요가 있으면, 이들 스텝은 Step 표(102)에 추가된다. 마찬가지로, 새로운 구성요소가 컴퓨터시스템의 새로운 패밀리에 수반되면, 이들 구성요소는 Component 표(108)에 추가된다. Comp_Step 표(114)는 소프트웨어 설치 및 테스트를 위한 적절한 스텝과 컴퓨터시스템의 새로운 패밀리의 각각의 구성요소를 관련시키도록 갱신된다. 새로운 패밀리가 데이터베이스에 이미 존재하는 구성요소만을 사용하면, 이 표는 변경될 필요가 없다. Sys_Comp 표(112)는 새로운 패밀리에 포함되도록 허용된 구성요소의 리스트가 데이터베이스에 존재하도록 갱신된다. 특히, 새로운 컴퓨터시스템의 SysID와 각각의 허용된 구성요소의 CompID를 관련시킬 필요가 있다. 또한, 이것은 컴퓨터시스템의 이전 패밀리의 기존의 엔트리를 복사하고 변경함으로써 수행될 수 있다.
본 발명의 실시예에 따른 데이터베이스의 구성에 상당한 잇점이 있다. 특히, 데이터베이스의 모듈설계는 컴퓨터시스템의 새로운 패밀리를 위한 소프트웨어 설치 및 테스트 스텝의 셋업을 용이하게 하는 이점이 있다. 또한, 컴퓨터시스템의 특정 패밀리 또는 특정 구성요소에 대한 소프트웨어 설치 및 테스트 스텝은 다른 소프트웨어 설치 및 테스트 스텝과 독립적으로 변경될 수 있다.
도 7은 본 발명에 따른 소프트웨어 설치 및 테스트 프로세스의 모듈변경을 위해 시스템 기술어 레코드 및 스텝 시퀀스가 어떻게 패치되는지를 나타낸다. 모듈(600)에서, 시스템 기술어 레코드가 생성된다. 모듈(610)에서, 시스템 기술어 레코드가 시스템 기술어 레코드 패치를 사용하여 변경된다. 바람직한 실시예에서, 이 패치는 모듈이며, 패치가 특정한 타겟 컴퓨터시스템, 컴퓨터시스템의 특정한 패밀리, 또는 특정 구성요소에 대해 생성되도록 한다. 예를 들어, 제조자가 어느 날 어떤 브랜드의 하드드라이브를 특정한 패밀리의 컴퓨터시스템의 것으로 대체하기를 원하면, 대체될 하드드라이브를 포함하는 모든 시스템 기술어 레코드를 변경하고 모듈(610)을 대체하는 패치가 형성될 수 있다. 모듈(620)에서, 스텝 시퀀스는 전술한 바와 같이 결정된다. 모듈(630)에서, 스텝시퀀스가 스텝시퀀스 패치를 사용하여 변경된다. 바람직한 실시예에서, 이 패치는 모듈이며, 특정한 타겟 컴퓨터시스템, 컴퓨터시스템의 특정한 패밀리, 또는 특정한 구성요소에 대하여 패치가 생성된다. 예를 들어, 제조자가 어느 날 소정의 구성요소에 대하여 하나의 테스트 스텝을 다른 것보다 먼저 실행하기를 원하면, 오더(순서)가 변경될 스텝을 포함하는 모든 스텝 시퀀스를 변경하여 이에 따라 모듈(640)의 실행오더를 변경하게 될 패치가 형성된다.
타겟시스템(160)에 대한 스텝시퀀스의 실행에 대하여 설명한다. 타겟 컴퓨터시스템에 대응하는 스텝 시퀀스를 판독하고, 해석하고, 실행하는 프로그램을 사용하여 소프트웨어 설치 및 테스트 스텝을 타겟컴퓨터시스템(160)에서 실행한다. 바람직한 실시예에서, 이 프로그램은 Runstep이라 칭하며, 이는 도 1의 실시예에서는 스텝 디스크(150)에 위치하고 도 2의 실시예에서는 파일서버(202)에 위치한다.
도 8은 임의의 소프트웨어 설치 및 테스트 스텝이 실행되기 전에 스텝에 포함된 스텝 시퀀스의 일부분을 나타낸다. 전술한 바와 같이, 스텝 시퀀스는 소프트웨어의 설치 및/또는 주문제작 타겟 컴퓨터시스템의 테스트를 위한 명령을 포함한다. 또한, 스텝 파일내의 스텝 시퀀스는 일정한 횟수 또는 시간동안 명령을 반복할 수 있다. 또한 스텝 파일은 Runstep 프로그램에 의해 무시되는 주석(remark)를 포함할 수 있다. 스텝 파일에서, 마크(800)는 스텝 시퀀스의 필드를 분리하기 위해 사용된다. 항목(810)은 타겟컴퓨터시스템(160)을 테스트하기 위한 명령이다. 명령은 예를 들어, 소형 컴퓨터시스템 인터페이스(SCSI)장치를 테스트하기 위한 명령과 메모리를 테스트하기 위한 명령을 포함한다. 도면에서 알 수 있는 바와 같이, 각각의 명령은 특정 테스트 환경에 적합한 '-o' 와 같은 스위치를 포함할 수 있다. 항목(820)은 Runstep 프로그램에 의해 무시되는 주석이다. 항목(810c)은 시간에 의해 루프되는 명령이다. 바람직한 구성에 있어서, 'begin_time_loop' 명령은 루프의 시작점을 지정한다. 'end_time_loop' 명령은 루프의 종료점을 지정한다. 'begin_time_loop' 명령은 시간길이를 지정하는 필드와 결합되어 루프를 통해 반복한다. 여기서, 예를 들면, 명령(810c)은 1시간 30분 동안 실행된다. 항목(810d)은 반복횟수에 따라 루프되는 명령이다. 바람직한 실시예에서, 'begin_iterate_loop' 명령은 반복 루프가 수행될 Runstep 프로그램을 지시한다. 'end_iterate_loop' 명령은 루프명령의 종료를 알린다. 여기서, 명령(810d)은 3번 실행된다.
Runstep 프로그램이 스텝 시퀀스를 실행함에 따라, Runstep 프로그램은 스텝 파일로 타임스탬프(시각표시)정보를 배치하여, 소프트웨어 설치 및 테스트 프로세스의 문제점해결 및 트랙킹을 용이하게 한다.
도 9는 스텝이 실행된 후의 도 8의 스텝 시퀀스의 일부분을 나타낸다. 도시된 바와 같이, Runstep 프로그램은 타임스탬프 정보를 스텝 시퀀스에 삽입한다. 항목(830)은 메모리 테스트가 시작되는 시기를 나타내고, 항목(832)은 테스트 종료 시기를 나타낸다. 항목(834)은 테스트의 마지막 반복이 시작되는 시기를 나타낸다. 항목(836, 838)은 각각 scsiHD 테스트가 시작하고 종료하는 시기를 나타낸다. 항목(840)은 반복 루프가 3번 수행된 것을 확인한다. 마지막으로, 항목(842, 844)은 각각 scsiCD 테스트의 마지막 반복이 시작하고 종료하는 시기를 나타낸다. 실행된 명령에 인접하게 타임스탬프 정보를 삽입하는 것은 소프트웨어 설치 및 테스트 프로세스의 문제점해결 및 트랙킹을 효과적으로 수행하도록 한다.
도 10은 Runstep 프로그램의 바람직하고 일반적인 흐름도를 나타낸다. Runstep 프로그램(860)은 Runstep 배치파일(870)과 함께 루프로 실행된다. Runstep 프로그램(860)은 스텝 시퀀스 내의 스텝을 판독하고 해석하며 스텝 시퀀스로부터 실행될 명령을 배치파일(870)에 기입한다. 그러면, 배치파일(870)이 실행되어 타겟 컴퓨터시스템(160)에 대한 스텝을 실행한다. 스텝이 완료하면, 제어는, 배치파일로부터 스텝 시퀀스의 다음 라인을 판독하고 해석하는 Runstep 프로그램(860)으로 복귀된다.
도 11은 Runstep 프로그램의 상세한 흐름을 나타낸다. 모듈(900)에 나타낸 바와 같이, Runstep 프로그램은 먼저 Re_Run.bat이라 불리우는 파일이 존재하는지를 체크한다. Re_Run.bat 파일은 스텝 시퀀스로부터 임의의 명령이 실행되기 전에 형성되고 명령의 성공적인 완료 후에 제거된다. Re_Run.bat의 존재는 마지막 명령 실행이 성공적으로 완료되지 않았다는 것을 모듈(900)의 Runstep 프로그램에 표시한다. 그러므로 Re_Run.bat은 실행개시의 표시로서 기능한다. Re_Run.bat가 존재하면, 오퍼레이터에게 모듈(904)에서 소프트웨어 설치 및 테스트 프로세스가 계속되어야 하는지 아닌지 또는 오퍼레이터가 문제점해결을 수행하기를 원하는지를 묻는다. 오퍼레이터가 계속할 것을 선택하면, 제어는 Runstep.bat 파일이 재실행되는 모듈(928)로 진행한다. (다른 어떠한 옵션이 명백히 선택되지 않으면 이 상태는 디폴트 옵션이다). 문제점해결 옵션이 선택되면, 종래에 잘 알려진 방법으로 문제점해결이 수행된다.
Re_Run.bat가 존재하지 않으면, Runstep 프로그램은 마지막 명령이 올바르게완료되었음을 판단하고, 제어는 모듈(910)로 진행된다. 여기서 바람직하게는 스텝파일 내에 포함된 스텝 시퀀스의 라인이 판독된다. 모듈(912)에서 Runstep 프로그램은 라인을 판독하고 시작 또는 종료 타임스탬프가 있는지를 결정한다. 시작 또는 종료 타임스탬프가 있으면, Runstep 프로그램은 모듈(914)에서 Runstep 프로그램이 판독되는 라인에 대해 시작 타임스탬프만이 존재하는지를 결정한다. 시작 타임스탬프만이 존재하면, 모듈(916)에서 Runstep 프로그램은 소프트웨어 설치 또는 테스트 스텝이 완료한 것으로 가정하고, 모듈(918)에 종료타임스탬프를 기입한다. 종료타임스탬프를 기입한 후에, 제어가 모듈(900)로 복귀된다.
Runstep 프로그램이 판독하고 있는 라인에 대해 시작 타임스탬프 이상의 다른 것이 있으면, Runstep 프로그램은 모듈(906)에서 시작 및 종료 타임스탬프가 둘 다 있는지를 판단한다. 시작 및 종료타임스탬프가 둘 다 있는 것으로 판단되면, Runstep 프로그램은 모듈(908)에서 스텝이 완료된 것으로 가정하고, 제어는 모듈(900)으로 복귀된다. Runstep 프로그램이 모듈(912)에서 시작 또는 종료 타임스탬프를 만나지 않으면, Runstep 프로그램은 모듈(920)에서 시작타임스탬프를 기입하고 Runstep 프로그램이 판독하는 스텝 시퀀스 라인에 스텝을 실행시킬 준비를 한다.
모듈(922)에서, Runstep 프로그램은 실행될 명령이 로컬 드라이브 상에 저장되는지를 판단한다(스텝파일은 시스템 내의 어떠한 드라이브가 로컬 드라이브인지를 제어한다). 로컬 드라이브는 예를 들어, 스텝디스크, 타겟 시스템의 하드드라이브, 타겟 시스템의 RAM드라이브, 또는 네트워크드라이브일 수 있다. 명령이 로컬 드라이브 상에 위치하지 않으면, Runstep 프로그램은 실행될 테스트가 네트워크상의 파일서버에 포함된 것으로 가정한다. Runstep 프로그램은 모듈(932)에서 Runstep 프로그램이 네트워크에 접속되었는지를 판단한다. 그렇지 않으면, 모듈(936)에서 Runstep 프로그램은 Runstep.bat로 명령을 삽입하여 네트워크를 로그한다. 그러므로, Runstep.bat이 네트워크 접속(180)을 통해 타겟 컴퓨터시스템(160)에 스텝을 실행하기 전에 네트워크 접속이 형성된다.
모듈(936)의 이후에, 제어는 모듈(926)로 진행한다. Runstep 프로그램이 이미 네트워크에 로그되어 있으면, Runstep 프로그램이 모듈(934) 동안, Runstep.bat로부터 네트워크를 로그하기 위한 명령을 제거한다. 이는 네트워크접속이 이미 존재하면, 추가의 로그 스텝은 불필요하기 때문이다. 그러면 제어는 모듈(926)로 진행한다. 실행될 스텝이 스텝디스크(150)에 있으면, Runstep 프로그램은 네트워크를 로그할 필요가 없다. 그러므로, 모듈(924)에서, Runstep 프로그램은 Runstep.bat로부터 네트워크를 로그하기 위한 명령을 제거한다. 그러면 제어는 모듈(926)로 진행한다. 모듈(926)에서, Runstep 프로그램은 실행될 적당한 명령을 Runstep.bat 및 Re_Run.bat로 삽입한다. 이렇게 삽입된 명령은 바람직하게는 스텝 파일에 포함된 스텝 시퀀스로부터 취해진다. 모듈(928)에서, 스텝은 Runstep.bat를 실행함으로써 실행되고, 성공적으로 실행되면, Re_Run.bat은 삭제된다. 스텝이 성공적으로 실행되지 않으면, Re_Run.bat 파일은 삭제되지 않고 제어는 실패상태(929)로 이전된다. 그러면 제어는 모듈(900)으로 복귀되어 또 다른 라인이 스텝 시퀀스로부터 판독될 수 있다. 이러한 프로세스는 모든 소프트웨어 설치 및 테스트 스텝이 완료할 때까지 계속된다.
이상, 본 발명의 특정한 실시예에 대하여 설명하였지만, 본 기술에 숙련된 자는 본 발명의 범위를 벗어나지 않는 한도 내에서 다양한 변형과 변경이 가능하다. 그러므로, 첨부된 청구범위는 본 발명의 사상 및 범위내에서의 모든 변형와 변경을 포함한다.
스텝 시퀀스가 실행되면, 타겟 시스템은 테스트되고 소프트웨어가 설치된다. 도 1의 실시예에 있어서, 테스트의 선택번호는 스텝 디스크(150)로부터 직접 실행될 수 있지만, 대부분의 테스트는 파일서버(190)로부터 네트워크접속(180)을 통해 실행된다. 파일서버(190)로부터 테스트를 실행하면 스텝 디스크(150)등의 플로피 디스크의 기억 용량으로 인한 제한이 없는 이점이 있다.
도 2의 실시예에 있어서, 스텝은 파일서버(190)으로부터 네트워크접속(180)을 통해 실행된다. 플로피디스크, 여기서는 부팅디스크(220)는 타겟컴퓨터시스템(160)을 부팅하는데만 필요하다. 이러한 시스템은 소프트웨어 설치 및 테스트 프로세스를 단순화시키는 이점이 있다.
도 1 과 2를 다시 참조하면, 화살표(210)는 소프트웨어 설치 및 테스트로부터의 결과가 파일서버(190) 또는 파일서버(202)로 로그되는 것을 나타낸다. 그 결과는 바람직하게는 모든 스텝이 성공적으로 완료되었는지 및 어떠한 타입의 실패가 발생하였는지를 포함한다. 그 결과를 로그하는 것에는 스텝 시퀀스의 실행 이후에 스텝 파일의 변경 버전을 저장하거나 기입하는 것을 포함하고, 전술한 바와 같이, 스텝 파일은 Runstep 프로그램에 의해 타임스탬프된다. 그러한 시스템은 컴퓨터시스템을 제조하는 동안 문제점해결 능력을 개선시키는 이점이 있다.
도 1은 본 발명의 소프트웨어 설치 및 테스트방법을 나타내는 개략도.
도 2는 다른 실시예에 따른 소프트웨어 설치 및 테스트방법의 개략도.
도 3a는 본 발명에 따라 컴퓨터 오더를 시스템기술어 레코드로 변환시키는 흐름도.
도 3b는 일실시예의 컴퓨터 오더, 베이스어셈블리레코드(BAR)파일, 및 시스템 기술어 레코드의 일부를 나타낸 도면.
도 4는 스텝시퀀스를 생성하고 제공하는 흐름도.
도 5는 스텝시퀀스를 생성하는 좀 더 상세한 흐름도.
도 6은 데이터베이스의 구조를 나타내는 도면.
도 7은 시스템기술어 레코드 및 스텝시퀀스를 변경하는 흐름도.
도 8은 실행전의 예시적인 스텝 파일을 나타내는 도면.
도 9는 실행후의 예시적인 스텝 파일을 나타내는 도면.
도 10은 스텝시퀀스를 실행하기 위한 프로그램 동작의 흐름도.
도 11은 스텝시퀀스를 실행하기 위한 도 10의 프로그램 동작의 상세 흐름도.
〈도면의 주요부분에 대한 부호의 설명〉
92: 오더 100: 데이터베이스
140: 스텝 메이커 150: 스텝 디스크
160: 타겟 시스템 190: 파일 서버

Claims (17)

  1. 제조되는 모든 컴퓨터시스템의 서로 다른 구성요소 간에 공유되는 한 세트의 소프트웨어 설치 및 테스트 스텝을 포함하며, 주문제작 컴퓨터 시스템에 대응 소프트웨어의 설치 및 테스트를 촉진하도록 소정의 소프트웨어 설치 및 테스트 스텝이 주문제작 컴퓨터 시스템의 제조과정에서 시스템 데이터베이스에 의해 실행되며, 이스텝표는 대응하는 스텝이 실행된 이후에 정지나 리부팅이 요구되는지를 식별하는 애프터코드 속성을 포함하는 스텝표; 및
    상기 스텝표에 연결되며, 제조되는 컴퓨터시스템 내에 포함될 수 있는 모든 구송요소의 세트를 포함하며, 시스템 데이터베이스에 의해 실행되는 소정의 소프트웨어 설치 및 테스트 스텝은 주문제작 컴퓨터 시스템에 포함되는 대응하는 구성요소에 따라서 결정되는 것을 특징으로 하는 주문제작 컴퓨터 시스템의 제조시에 시스템 데이터베이스에 의해 사용되는 데이터베이스를 포함하는 소프트웨어 설치 및 테스트 시스템.
  2. 제 1 항에 있어서, 상기 스텝표는 스텝식별속성을 포함하고, 이 스텝식별속성은 각각의 소프트웨어설치 또는 테스트 스텝에 대해 고유한 식별자인 것을 특징으로 하는 데이터베이스를 포함하는 소프트웨어 설치 및 테스트 시스템.
  3. 제 1 항에 있어서, 상기 스텝표는 페이즈 속성을 포함하고, 이 페이즈 속성은 제조의 어느 페이즈에서 스텝이 실행되는지를 지정하는 것을 특징으로 하는 데이터베이스를 포함하는 소프트웨어 설치 및 테스트 시스템.
  4. 제 1 항에 있어서, 상기 스텝표는 소프트웨어 설치스텝을 수행하기 위한 실행가능 명령어라인에 부합(conforming)되는 명령속성을 포함하는 것을 특징으로 하는 데이터베이스를 포함하는 소프트웨어 설치 및 테스트 시스템.
  5. 제 1 항에 있어서, 스텝표는 대응하는 스텝이 수행될 최대 회수를 나타내는 맥시멈인스턴스속성을 포함하는 것을 특징으로 하는 데이터베이스를 포함하는 소프트웨어 설치 및 테스트 시스템.
  6. 제 1 항에 있어서, 스텝표는 소프트웨어설치 및 테스트스텝과 관련된 구성요소를 식별하는 클래스 식별속성을 포함하는 것을 특징으로 하는 데이터베이스를 포함하는 소프트웨어 설치 및 테스트 시스템.
  7. 제 1 항에 있어서, 구성요소표는 구성요소표 내의 각각의 구성요소를 식별하는 구성요소 식별속성을 포함하는 것을 특징으로 하는 데이터베이스를 포함하는 소프트웨어 설치 및 테스트 시스템.
  8. 제 1 항에 있어서, 구성요소표는 구성요소의 클래스를 식별하는 클래스식별 속성을 포함하는 것을 특징으로 하는 데이터베이스를 포함하는 소프트웨어 설치 및 테스트 시스템.
  9. 제 1 항에 있어서, 상기 컴퓨터시스템은 하나의 컴퓨터시스템 패밀리에 대응하고,
    상기 스텝표에 연결되고, 한 세트의 소프트웨어 설치스텝과 제조되는 컴퓨터시스템의 각 패밀리 사이의 관계를 식별하는 패밀리관계표;
    상기 스텝표에 연결되고, 컴퓨터시스템의 패밀리와 구성요소 세트 사이의 관계를 식별하는 패밀리 구성요소 관계표; 및
    상기 스텝표에 연결되고, 구성요소와 대응 구성요소에 적합한 한 세트의 소프트웨어설치스텝간의 관계를 식별하는 패밀리 스텝 관계표를 더 포함하는 것을 특징으로 하는 데이터베이스를 포함하는 소프트웨어 설치 및 테스트 시스템.
  10. 제 9 항에 있어서, 패밀리관계표는 컴퓨터시스템의 특정한 패밀리를 식별하는 패밀리식별속성을 포함하는 것을 특징으로 하는 데이터베이스를 포함하는 소프트웨어 설치 및 테스트 시스템.
  11. 제 9 항에 있어서, 패밀리 관계표는 특정한 패밀리에 적합한 특정한 스텝을 식별하는 스텝식별속성을 포함하는 것을 특징으로 하는 데이터베이스를 포함하는 소프트웨어 설치 및 테스트 시스템.
  12. 제 9 항에 있어서, 패밀리관계표는 각각의 패밀리에 대응하는 시퀀스번호를 포함하고, 이 시퀀스번호는 패밀리에 관련된 스텝이 실행될 소정의 순서를 나타내는 것을 특징으로 하는 데이터베이스를 포함하는 소프트웨어 설치 및 테스트 시스템.
  13. 제 9 항에 있어서, 패밀리 구성요소 관계표는 컴퓨터 패밀리를 식별하는 속성과 구성요소를 식별하는 속성 사이의 관계를 정의하는 것을 특징으로 하는 데이터베이스를 포함하는 소프트웨어 설치 및 테스트 시스템.
  14. 제 9 항에 있어서, 패밀리 구성요소 관계표는 구성요소 식별속성과 스텝 식별속성 사이의 관계를 정의하는 것을 특징으로 하는 데이터베이스를 포함하는 소프트웨어 설치 및 테스트 시스템.
  15. 제 9 항에 있어서, 상기 스텝표에 연결되고, 컴퓨터시스템의 패밀리를 이름으로 식별하는 패밀리표를 더 포함하는 것을 특징으로 하는 데이터베이스를 포함하는 소프트웨어 설치 및 테스트 시스템.
  16. 제조되는 모든 컴퓨터시스템의 서로 다른 구성요소간에 공유되는 한 세트의 소프트웨어 설치 및 테스트 스텝을 포함하며, 주문제작 컴퓨터 시스템에 대응되는 소프트웨어의 설치 및 테스트를 촉진하도록 소정의 소프트웨어 설치 및 테스트 스텝이 주문제작 컴퓨터 시스템의 제조과정에서 시스템 데이터베이스에 의해 실행되며, 대응하는 스텝이 실행되는 최대횟수를 나태내는 맥시멈 인스턴스 속성을 포함하는 스텝표와,
    상기 스텝표에 연결되며, 제조되는 컴퓨터시스템 내에 포함될 수 있는 구성요소의 세트를 포함하며, 시스템 데이터베이스에 의해 실행되는 소정의 소프트웨어 설치 및 테스트 스텝이 주문제작 컴퓨터 시스템에 포함되는 대응하는 구성요소에 의해 결정되는 구성요소표
    로 구성되는 주문제작 컴퓨터 시스템의 제조시에 시스템 장치에 의해 사용되는 데이터베이스를 포함하는 소프트웨어 설치 및 테스트 시스템.
  17. 제 16 항에 있어서, 상기 컴퓨터시스템은 하나의 컴퓨터시스템 패밀리에 대응하고,
    상기 스텝표에 연결되고, 한 세트의 소프트웨어 설치스텝과 제조되는 한 컴퓨터시스템 패밀리 사이의 관계를 식별하는 패밀리관계표;
    상기 스텝표에 연결되고, 컴퓨터시스템 패밀리와 구성요소 세트 사이의 관계를 식별하는 패밀리 구성요소 관계표; 및
    상기 스텝표에 연결되고, 컴퓨터 시스템 패밀리와 대응 구성요소에 적합한 한 세트의 소프트웨어 설치스텝간의 관계를 식별하는 패밀리 스텝 관계표를 더 포함하는 것을 특징으로 하는 데이터베이스를 포함하는 소프트웨어 설치 및 테스트 시스템.
KR1019980028798A 1997-08-29 1998-07-16 주문 제작 컴퓨터시스템을 위한 소프트웨어 설치 및 테스트를촉진하는 데이타베이스 KR100655124B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8/921,438 1997-08-29
US08/921,438 1997-08-29
US08/921,438 US5963743A (en) 1997-08-29 1997-08-29 Database for facilitating software installation and testing for a build-to-order computer system

Publications (2)

Publication Number Publication Date
KR19990023214A KR19990023214A (ko) 1999-03-25
KR100655124B1 true KR100655124B1 (ko) 2007-07-09

Family

ID=25445431

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980028798A KR100655124B1 (ko) 1997-08-29 1998-07-16 주문 제작 컴퓨터시스템을 위한 소프트웨어 설치 및 테스트를촉진하는 데이타베이스

Country Status (14)

Country Link
US (1) US5963743A (ko)
JP (2) JP4216372B2 (ko)
KR (1) KR100655124B1 (ko)
CN (2) CN1525325B (ko)
AU (1) AU742509B2 (ko)
BR (1) BR9802223A (ko)
DE (1) DE19836381C2 (ko)
FR (1) FR2767946B1 (ko)
GB (1) GB2329050B (ko)
HK (1) HK1071610A1 (ko)
IT (1) IT1303245B1 (ko)
MY (1) MY114953A (ko)
SG (1) SG68066A1 (ko)
TW (1) TW455815B (ko)

Families Citing this family (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247128B1 (en) * 1997-07-22 2001-06-12 Compaq Computer Corporation Computer manufacturing with smart configuration methods
US6301707B1 (en) * 1997-09-30 2001-10-09 Pitney Bowes Inc. Installing software based on a profile
US6910047B1 (en) 1997-10-01 2005-06-21 Pitney Bowes Inc. Method and system for changing rating data via internet or modem in a carrier management system
US6873978B1 (en) 1997-10-01 2005-03-29 Pitney Bowes Inc. Event interface for a carrier manager system
US6182275B1 (en) * 1998-01-26 2001-01-30 Dell Usa, L.P. Generation of a compatible order for a computer system
US6279156B1 (en) * 1999-01-26 2001-08-21 Dell Usa, L.P. Method of installing software on and/or testing a computer system
US6327706B1 (en) * 1998-04-08 2001-12-04 Dell Usa, L.P. Method of installing software on and/or testing a computer system
US6615406B1 (en) 1998-04-08 2003-09-02 Dell Usa, L.P. Apparatus for use in the manufacture of a computer system
US6092189A (en) * 1998-04-30 2000-07-18 Compaq Computer Corporation Channel configuration program server architecture
US6775829B1 (en) 1998-06-04 2004-08-10 Gateway, Inc. Method for configuring software for a build to order system
US6795814B1 (en) * 1998-06-04 2004-09-21 Gateway, Inc. System and method for CMOS integration
US6922831B1 (en) * 1998-06-04 2005-07-26 Gateway Inc. Method and system for providing software utilizing a restore medium and a network
US6735757B1 (en) 1998-06-04 2004-05-11 Gateway, Inc. Apparatus and method for checking component compatibility in a build to order computer system
US6859924B1 (en) 1998-06-04 2005-02-22 Gateway, Inc. System restore apparatus and method employing virtual restore disk
US6690984B1 (en) 1998-06-04 2004-02-10 Gateway, Inc. System and method for assembly integration
US6370686B1 (en) * 1998-09-21 2002-04-09 Microsoft Corporation Method for categorizing and installing selected software components
US6804663B1 (en) * 1998-09-21 2004-10-12 Microsoft Corporation Methods for optimizing the installation of a software product onto a target computer system
US6219836B1 (en) * 1998-10-14 2001-04-17 International Game Technology Program management method and apparatus for gaming device components
US6226792B1 (en) * 1998-10-14 2001-05-01 Unisys Corporation Object management system supporting the use of application domain knowledge mapped to technology domain knowledge
US6282594B1 (en) * 1998-10-15 2001-08-28 Dell Usa, L.P. Pallet, system and method for use in testing and/or installing software onto a personal computer system unit
US6377253B1 (en) * 1998-11-30 2002-04-23 Micron Technology, Inc. System tour generator
US6317877B1 (en) 1998-11-30 2001-11-13 Micron Technology, Inc. System tour generator
US6347371B1 (en) * 1999-01-25 2002-02-12 Dell Usa, L.P. System and method for initiating operation of a computer system
US6370641B1 (en) * 1999-01-26 2002-04-09 Dell Usa, L.P. Method and apparatus for determining the drive letter assignment of a CD-ROM drive during initial system setup of a computer system
US6928644B1 (en) 1999-04-13 2005-08-09 Gateway Inc. Method for configuring software for a build to order system
US6421671B1 (en) 1999-04-30 2002-07-16 Dell Products L.P. Method and system for automated distribution of software
DE19922767A1 (de) * 1999-05-18 2000-12-07 Dell Usa Lp Verfahren zum Installieren von Software und/oder zum Testen eines Computersystems
DE19922768A1 (de) * 1999-05-18 2000-12-07 Dell Usa Lp Verfahren zum Installieren von Software und/oder zum Testen eines Computersystems
DE19922766A1 (de) * 1999-05-18 2000-12-07 Dell Usa Lp Vorrichtung zur Verwendung bei der Herstellung eines Computersystems
US8046270B2 (en) 2000-05-19 2011-10-25 Eastman Kodak Company System and method for providing image products and/or services
US6937997B1 (en) 1999-06-02 2005-08-30 Eastman Kodak Company Configuring and purchasing imaging devices
US7111317B1 (en) * 2000-03-24 2006-09-19 Eastman Kodak Company Method for providing image goods and/or services to a customer
US6836617B1 (en) 2000-03-24 2004-12-28 Eastman Kodak Company Purchasing configured photographic film products
US7587337B1 (en) 2000-03-24 2009-09-08 Eastman Kodak Company Leasing configured camera system
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
US6606716B1 (en) 1999-10-06 2003-08-12 Dell Usa, L.P. Method and system for automated technical support for computers
US6535915B1 (en) * 1999-09-24 2003-03-18 Dell Usa, L.P. Automatic reduction of data noise in installation packages for a computer system
US6574615B1 (en) 1999-10-06 2003-06-03 Dell Usa, L.P. System and method for monitoring support activity
US6317316B1 (en) 1999-10-06 2001-11-13 Dell Usa, L.P. Method and system for integrated personal computer components
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
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
US6556431B1 (en) 1999-10-06 2003-04-29 Dell Usa, L.P. System and method for converting alternating current into direct current
US6564220B1 (en) 1999-10-06 2003-05-13 Dell Usa, L.P. System and method for monitoring support activity
US6539372B1 (en) * 1999-11-17 2003-03-25 International Business Machines Corporation Method for providing automated user assistance customized output in the planning, configuration, and management of information systems
US6513045B1 (en) * 1999-11-17 2003-01-28 International Business Machines Corporation Method and an apparatus for providing cross product automated user assistance in the planning, configuration, and management of information systems
US6957425B1 (en) * 1999-11-30 2005-10-18 Dell Usa, L.P. Automatic translation of text files during assembly of a computer system
US6581169B1 (en) * 1999-12-08 2003-06-17 Inventec Corporation Method and device for automatic computer testing on a plurality of computers through a local area network
GB2357169B (en) * 1999-12-10 2002-06-05 Inventec Corp Automatic monitoring system on software installation for computers on the product line
US7424444B1 (en) 1999-12-20 2008-09-09 Dell Usa, L.P. Apparatus and method for configuring computers
US6854009B1 (en) * 1999-12-22 2005-02-08 Tacit Networks, Inc. Networked computer system
US6892104B2 (en) * 2000-01-18 2005-05-10 Dell Products L.P. System and method for manufacturing products according to customer orders
US6711798B2 (en) 2000-01-18 2004-03-30 Dell Products L.P. 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
IL140142A0 (en) * 2000-02-23 2002-02-10 Ibm Method and system for identifying a failing device during boot
US6772192B1 (en) * 2000-02-29 2004-08-03 Hewlett-Packard Development Company, L.P. Software download and distribution via image building and multicast
US20050213146A1 (en) * 2000-03-24 2005-09-29 Parulski Kenneth A Configuring image storage products to provide selected imaging services
US7155713B1 (en) * 2000-04-27 2006-12-26 Microsoft Corporation Componentized operating system
US6691253B1 (en) 2000-05-10 2004-02-10 Dell Usa L.P. System and method for sequencing and performing very high speed software downloads concurrent with system testing in an automated production environment
US6681391B1 (en) * 2000-06-21 2004-01-20 Microsoft Corporation Method and system for installing software on a computer system
US20020092004A1 (en) * 2000-07-26 2002-07-11 Lee John Michael Methods and systems for automatically generating software applications
US6785805B1 (en) 2000-08-08 2004-08-31 Vi Technology, Inc. Network-based configuration method for systems integration in test, measurement, and automation environments
US7264050B2 (en) * 2000-09-22 2007-09-04 Weatherford/Lamb, Inc. Method and apparatus for controlling wellbore equipment
US6938243B1 (en) * 2000-09-22 2005-08-30 Dell Products L.P. Diagnostic architecture for use with an interface between an operating system and platform firmware
US6907597B1 (en) * 2000-10-13 2005-06-14 Ati International Srl Method and apparatus for constructing an executable program in memory
US6955170B1 (en) 2000-10-27 2005-10-18 3M Innovative Properties Company Automated respirator fit testing method and system
US6487522B1 (en) 2000-11-01 2002-11-26 Dell Products, L.P. System and method for selectively executing a computer program based on the presence of associated hardware
US7206828B1 (en) * 2000-11-10 2007-04-17 Microsoft Corporation Location-based scenarios to facilitate selection of system configuration
JP4774145B2 (ja) * 2000-11-24 2011-09-14 富士通株式会社 構造化文書圧縮装置および構造化文書復元装置並びに構造化文書処理システム
US20020154114A1 (en) * 2000-11-30 2002-10-24 Christensen Thomas Kragh Method and system for customising build-to-order products
US6694206B2 (en) 2001-01-25 2004-02-17 Dell Products L.P. Method and system for manufacturing and servicing a computing product with the assistance of a wireless communication subsystem attached to a peripheral port
US6567714B2 (en) * 2001-01-26 2003-05-20 Dell Products L.P. Method and system for manufacturing a computer system with the assistance of a wireless information network
US7085824B2 (en) 2001-02-23 2006-08-01 Power Measurement Ltd. Systems for in the field configuration of intelligent electronic devices
US6853978B2 (en) 2001-02-23 2005-02-08 Power Measurement Ltd. System and method for manufacturing and configuring intelligent electronic devices to order
US6611727B2 (en) 2001-03-05 2003-08-26 Dell Products L.P. Method and system for simulating production 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
US6634506B2 (en) 2001-03-05 2003-10-21 Dell Products L.P. Reusable container management system and method
US6816746B2 (en) 2001-03-05 2004-11-09 Dell Products L.P. Method and system for monitoring resources 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
US6560509B2 (en) 2001-03-05 2003-05-06 Dell Products L.P. System and method for automated management of a distribution facility
US6615092B2 (en) 2001-03-05 2003-09-02 Dell Products L.P. Method, system and facility for controlling resource allocation within a manufacturing environment
EP1265133A1 (de) * 2001-06-07 2002-12-11 Siemens Aktiengesellschaft Verfahren zum Laden von Software auf mehrere Prozessoren
US20020188938A1 (en) * 2001-06-11 2002-12-12 Dong Mimi Chu System and method for providing application software for a peripheral device
US20030014137A1 (en) * 2001-07-16 2003-01-16 Stephanus Saputro Method and system for selecting a set of filter coefficients in a build-to-order computer system
JP4134536B2 (ja) * 2001-07-27 2008-08-20 株式会社日立製作所 情報機器の取引方法
GB2383854B (en) * 2001-09-06 2005-06-22 Sun Microsystems Inc Method for checking a computer system configuration
US20030055932A1 (en) * 2001-09-19 2003-03-20 Dell Products L.P. System and method for configuring a storage area network
US6962306B2 (en) * 2002-07-15 2005-11-08 West Ronald R Units for storing flexible elongated objects
US20040162857A1 (en) * 2003-02-14 2004-08-19 Butts David A. System for managing and dynamically recreating factory environments
US20040210676A1 (en) * 2003-04-19 2004-10-21 Noto Gary Patrick System for Calculating minimum images to service customer orders
US7266820B2 (en) * 2003-08-14 2007-09-04 Dell Products L.P. Trunked customized connectivity process for installing software onto an information handling system
US20050050320A1 (en) * 2003-09-02 2005-03-03 Microsoft Corporation Branding framework
US7562346B2 (en) * 2003-09-02 2009-07-14 Microsoft Corporation Software componentization for building a software product
US7360212B2 (en) * 2003-10-09 2008-04-15 Dell Products L.P. Build automation and verification for modular servers
US20050097548A1 (en) * 2003-10-31 2005-05-05 Dillenburg Brian J. Systems and methods for developing and distributing software components
US20050177828A1 (en) * 2004-02-05 2005-08-11 Graham Christoph J. Restore media build automation
TW200535602A (en) * 2004-04-16 2005-11-01 Hon Hai Prec Ind Co Ltd A system and method for testing motherboards automatically
JP4572093B2 (ja) * 2004-07-06 2010-10-27 日本電気株式会社 システム構築ガイドシステム
US20060123415A1 (en) * 2004-12-03 2006-06-08 Dandekar Shree A System for distributing middleware applications on information handling system
US7271996B2 (en) 2004-12-03 2007-09-18 Electro Industries/Gauge Tech Current inputs interface for an electrical device
US8020141B2 (en) * 2004-12-06 2011-09-13 Microsoft Corporation Operating-system process construction
US7882317B2 (en) * 2004-12-06 2011-02-01 Microsoft Corporation Process isolation using protection domains
US7600232B2 (en) 2004-12-07 2009-10-06 Microsoft Corporation Inter-process communications employing bi-directional message conduits
US7451435B2 (en) * 2004-12-07 2008-11-11 Microsoft Corporation Self-describing artifacts and application abstractions
CN100349119C (zh) * 2004-12-30 2007-11-14 杭州华三通信技术有限公司 软件安装与集成的方法
US8849968B2 (en) 2005-06-20 2014-09-30 Microsoft Corporation Secure and stable hosting of third-party extensions to web services
US8065204B2 (en) * 2005-09-29 2011-11-22 Sony Corporation System and method for software integration and factory deployment
US20070094495A1 (en) * 2005-10-26 2007-04-26 Microsoft Corporation Statically Verifiable Inter-Process-Communicative Isolated Processes
US8074231B2 (en) * 2005-10-26 2011-12-06 Microsoft Corporation Configuration of isolated extensions and device drivers
US20070266371A1 (en) * 2005-12-30 2007-11-15 Ramakrishnan Suraj Multiple correction requests occurring from a single request
US8032898B2 (en) 2006-06-30 2011-10-04 Microsoft Corporation Kernel interface with categorized kernel objects
US20080040127A1 (en) * 2006-08-14 2008-02-14 Carol Jean Williams Customer Customized Resource Media
WO2008035339A2 (en) * 2006-09-21 2008-03-27 Vringo, Inc. Personalized installation files
JP2008139916A (ja) * 2006-11-30 2008-06-19 Canon Inc 情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラム
US8789063B2 (en) * 2007-03-30 2014-07-22 Microsoft Corporation Master and subordinate operating system kernels for heterogeneous multiprocessor systems
US20080244507A1 (en) * 2007-03-30 2008-10-02 Microsoft Corporation Homogeneous Programming For Heterogeneous Multiprocessor Systems
US7558642B2 (en) * 2007-04-27 2009-07-07 International Business Machines Corporation Method, apparatus, and product for optimizing manufacturing tests by integrating part and test objects in the same order configuration application
CN101453416A (zh) * 2007-11-30 2009-06-10 国际商业机器公司 用于远程程序安装的包预取的服务节点、网络及其方法
JP5293344B2 (ja) * 2009-03-30 2013-09-18 株式会社リコー 画像処理装置、ソフトウェア配信システム、インストール処理方法およびプログラム
CN104516739B (zh) * 2015-01-05 2018-01-19 税友软件集团股份有限公司 第三方软件集成的方法及系统
US11204749B2 (en) * 2016-09-20 2021-12-21 Apple Inc. State machines for installation management
CN107341003B (zh) * 2017-06-15 2020-08-07 百富计算机技术(深圳)有限公司 定制系统实现方法、计算机设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR900005304A (ko) * 1988-09-09 1990-04-14 윌슨 디. 파아고 컴퓨터 시스템 및 회로기판 구성용 장치 및 방법
US5361358A (en) * 1992-08-07 1994-11-01 International Business Machines Corporation System and method for installing program code for operation from multiple bootable operating systems
US5555416A (en) * 1992-09-20 1996-09-10 Sun Microsystems, Inc. Automated software installation and operating environment configuration for a computer system based on classification rules
JPH0944375A (ja) * 1995-07-26 1997-02-14 Hitachi Ltd テストプログラムの自動テスト項目選択方式
KR19980015683A (ko) * 1996-08-23 1998-05-25 김광호 하드 디스크를 이용한 컴퓨터 시스템의 검사 방법

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4590557A (en) * 1983-09-12 1986-05-20 Pitney Bowes Inc. Method and apparatus for controlling software configurations in data processing systems
US4803683A (en) * 1985-08-30 1989-02-07 Hitachi, Ltd. Method and apparatus for testing a distributed computer system
US4916637A (en) * 1987-11-18 1990-04-10 International Business Machines Corporation Customized instruction generator
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
EP0541875A1 (en) * 1991-11-15 1993-05-19 International Business Machines Corporation Method for facilitating the configuration of programs
JP2716906B2 (ja) * 1992-03-27 1998-02-18 株式会社東芝 不揮発性半導体記憶装置
US5432941A (en) * 1992-10-13 1995-07-11 Microsoft Corporation Method and system for dynamically configuring a software system using configuration groups
JPH06332674A (ja) * 1993-05-24 1994-12-02 Hitachi Ltd プログラムの自動インストールシステム
JPH076026A (ja) * 1993-05-28 1995-01-10 Xerox Corp 構成管理及び構成要素の互換性保証方法、ならびに常駐ソフトウェアと移行ソフトウェアの非互換性の排除方法
JPH0764771A (ja) * 1993-08-26 1995-03-10 Seiko Epson Corp プログラム登録装置および登録方法
CN1046361C (zh) * 1993-11-25 1999-11-10 日东工器株式会社 计算机系统
JP3386232B2 (ja) * 1994-07-15 2003-03-17 富士通株式会社 テスト計算機システム
US5668992A (en) * 1994-08-01 1997-09-16 International Business Machines Corporation Self-configuring computer system
JPH0887460A (ja) * 1994-09-19 1996-04-02 Seiko Epson Corp インストールシステム
US5794052A (en) * 1995-02-27 1998-08-11 Ast Research, Inc. Method of software installation and setup
US5745568A (en) * 1995-09-15 1998-04-28 Dell Usa, L.P. Method of securing CD-ROM data for retrieval by one machine
GB2309104B (en) * 1996-01-11 2000-06-07 Ibm Preloading software onto a computer system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR900005304A (ko) * 1988-09-09 1990-04-14 윌슨 디. 파아고 컴퓨터 시스템 및 회로기판 구성용 장치 및 방법
US5361358A (en) * 1992-08-07 1994-11-01 International Business Machines Corporation System and method for installing program code for operation from multiple bootable operating systems
US5555416A (en) * 1992-09-20 1996-09-10 Sun Microsystems, Inc. Automated software installation and operating environment configuration for a computer system based on classification rules
JPH0944375A (ja) * 1995-07-26 1997-02-14 Hitachi Ltd テストプログラムの自動テスト項目選択方式
KR19980015683A (ko) * 1996-08-23 1998-05-25 김광호 하드 디스크를 이용한 컴퓨터 시스템의 검사 방법

Also Published As

Publication number Publication date
FR2767946B1 (fr) 2005-10-28
TW455815B (en) 2001-09-21
IT1303245B1 (it) 2000-11-02
DE19836381C2 (de) 2003-04-24
CN1211006A (zh) 1999-03-17
FR2767946A1 (fr) 1999-03-05
CN1525325B (zh) 2010-04-28
JP4681025B2 (ja) 2011-05-11
GB2329050A8 (en) 1999-04-16
HK1071610A1 (en) 2005-07-22
ITTO980721A0 (it) 1998-08-21
GB2329050B (en) 2003-02-19
JPH11161476A (ja) 1999-06-18
GB9816126D0 (en) 1998-09-23
US5963743A (en) 1999-10-05
AU742509B2 (en) 2002-01-03
CN1525325A (zh) 2004-09-01
KR19990023214A (ko) 1999-03-25
BR9802223A (pt) 1999-10-13
DE19836381A1 (de) 1999-03-18
JP4216372B2 (ja) 2009-01-28
SG68066A1 (en) 1999-10-19
CN1148655C (zh) 2004-05-05
AU8088698A (en) 1999-03-11
GB2329050A (en) 1999-03-10
JP2008243224A (ja) 2008-10-09
ITTO980721A1 (it) 2000-02-21
IE980485A1 (en) 1999-03-10
MY114953A (en) 2003-02-28

Similar Documents

Publication Publication Date Title
KR100655124B1 (ko) 주문 제작 컴퓨터시스템을 위한 소프트웨어 설치 및 테스트를촉진하는 데이타베이스
KR100513551B1 (ko) 주문 제작 컴퓨터시스템을 위한 소프트웨어 설치 및 테스트방법및 시스템
KR100394195B1 (ko) 주문제작컴퓨터시스템을위한소프트웨어설치및테스트방법및시스템
US6279156B1 (en) Method of installing software on and/or testing a computer system
US7421490B2 (en) Uniquely identifying a crashed application and its environment
US6327706B1 (en) Method of installing software on and/or testing a computer system
JP2002508561A (ja) 自動コンフィギュレーション発生
US6615406B1 (en) Apparatus for use in the manufacture of a computer system
US6279155B1 (en) Method of installing software on and/or testing a computer system
AU3583999A (en) A method of installing software on and/or testing a computer system
KR20010002573A (ko) 컴퓨터 시스템으로의 소프트웨어 설치 및/또는 테스팅 방법
GB2353374A (en) Control of installation of software on and/or the testing of a computer system
IE83291B1 (en) Software installation and testing for a build-to-order computer system
IE990261A1 (en) A method of installing software on and/or testing a computer system which includes checks for compatibility
KR20010002572A (ko) 컴퓨터 시스템에 소프트웨어의 설치 및/또는 테스트방법
AU3584099A (en) Apparatus for use in the manufacture of a computer system
IE83293B1 (en) Apparatus for installing and/or testing software
IE83292B1 (en) Software installation and testing for a build-to-order computer system
GB2353375A (en) A method of installing software on and/or testing a computer system which includes checks for compatibility
IE19980485A1 (en) Apparatus for installing and/or testing software
IE990263A1 (en) A Method of Installing Software on and/or Testing a Computer System
IE990262A1 (en) A Method of Installing Software on and/or Testing a Computer System
KR20010002571A (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: 20121123

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131122

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141121

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151123

Year of fee payment: 10

EXPY Expiration of term