KR20010080372A - 운영 체제에 의한 새로운 디바이스 드라이버 설치 방법 및장치 - Google Patents

운영 체제에 의한 새로운 디바이스 드라이버 설치 방법 및장치 Download PDF

Info

Publication number
KR20010080372A
KR20010080372A KR1020017005481A KR20017005481A KR20010080372A KR 20010080372 A KR20010080372 A KR 20010080372A KR 1020017005481 A KR1020017005481 A KR 1020017005481A KR 20017005481 A KR20017005481 A KR 20017005481A KR 20010080372 A KR20010080372 A KR 20010080372A
Authority
KR
South Korea
Prior art keywords
file
operating system
computer
device driver
pointer
Prior art date
Application number
KR1020017005481A
Other languages
English (en)
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 KR20010080372A publication Critical patent/KR20010080372A/ko

Links

Classifications

    • 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
    • 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/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Automobile Manufacture Line, Endless Track Vehicle, Trailer (AREA)

Abstract

컴퓨터 네트워크가 존재하는 개인용 컴퓨터(PC)에 새로운 디바이스 드라이버 정보를 입력하기위한 방법 및 장치가 제공되며, 이를 통해 상기 운영 체제(OS)는 상기 OS가 설치되는 동안 새로운 하드웨어 디바이스를 검출하고, 상기OS는 관련되는 디바이스 드라이버를 자동적으로 설치하도록 한다.

Description

운영 체제에 의한 새로운 디바이스 드라이버 설치 방법 및 장치{METHOD AND APPARATUS FOR NEW DEVICE DRIVER INSTALLATION BY AN OPERATING SYSTEM}
관련 출원들의 상호 참조
본 출원은 1998년 12월 22일 "운영 체제 개인화를 위한 방법 및 장치(Method and Apparatus for Operating System Personalization)"의 명칭으로 출원된 미국 특허 제09/219,253호와 관련된다.
개인용 컴퓨터(PC)의 설치, 및 좀 더 특정하게는 기존의 PC에 새로운 부분(feature)을 설치하는 것은 가능한한 쉬운 것이 바람직하다. 그러나, 컴퓨터의 구조 및, 가령 표시부, 마우스, 사운드 카드, 부착 카메라, 저장 디바이스들 등과 같은 디바이스들은 컴퓨터를 가동시킬 운영 체제(Operating System, 이하 OS라 명명함)에 의해 철저하게 숙지되어야 한다. OS는 컴퓨터에 부착된 모든 하드웨어 디바이스들에 접속되어 이들을 적절하게 운영하도록 프로그램되어야 한다. 하드웨어 디바이스와 OS 사이의 통신은 디바이스 드라이버, 전형적으로는 디바이스와 통신하도록 (또는 디바이스를 구동시키도록) 특별히 제조된 소프트웨어 또는 펌웨어에 의해 제공되며, 상기 디바이스 드라이버는 OS에 연결 또는 후크된다. 이러한 디바이스 드라이버는 전형적으로 관련 디바이스 제조업자에 의해 공급된다. 새로운 디바이스가 PC에 부착될 때에는, OS가 새로운 디바이스와 통신할 수 있도록 디바이스 드라이버가 "설치"되어야 한다. 기존 시스템들에 새로운 디바이스들 및 그들의 디바이스 드라이버들을 설치하는 것은 상당한 실수를 일으키기 쉬우며 시간 소모적이다. 따라서, 디바이스 드라이버의 자동화 과정의 필요성이 강력하게 대두되었다.
예를 들어, PC 상에 OS를 설치하는 동안, OS 소프트웨어는 단지, OS가 형성되었을 때 사용가능한 공지된 하드웨어 디바이스들 만을 다룬다. 이는 종종, 새로운 디바이스 드라이버를 구성하기 위해서는 사용자가 몇 개의 수동 단계를 수행해야 하고 운영 체제가 설치된 후에만 작동하는 새로운 하드웨어 상에 운영 체제를 설치해야 하는 문제를 일으킨다. 마이프로소프트 PC 시스템 사용자가, 윈도우즈 95TM, 윈도우즈 98TM및 윈도우즈 NT 4.0에 대한 마이크로소프트 문서를 읽고 이러한 작업을 어떻게 수행하는 지를 이해한다는 것은 상당히 어렵다.
하기와 같이, 디바이스 드라이버들에 접근한 많은 미국 특허들이 있다:
미국 특허 제5,319,751호 - 컴퓨터 시스템 내에서의 디바이스 드라이버 구성;
미국 특허 제5,555,401호 - 자기 구성 디바이스 시스템;
미국 특허 제5,723,282호 - 요구 프로그램에 가상 드라이브 호출 정보를 공급하는 전세계적으로 유일한 확인자를 갖는 가상 디바이스 레지스트리; 및
미국 특허 제5,752,032호 - 컨트롤러 하드웨어 부차-소자 확인자를 이용하는 적응형 디바이스 드라이버.
그러나, 이들 특허들 중 어떠한 것도, 기존의 OS가 새로운 디바이스와 통신하기 위해 자체적으로 구성될 수 있도록, 사용자에게 기존의 컴퓨터 네트워크 내의 PC에 새로운 디바이스 드라이버 정보를 입력하기 위한 유용한 도구를 제공하는 것에 관한 중요한 쟁점을 제기하지 않았다.
점점 더 많은 회사들이 그들의 중요한 사업 응용들을 지원할 수 있는 광대한 기업체 컴퓨터 시스템들을 개발함에 따라, 이러한 회사들은 이러한 광대한 회사 시스템들을 관리하기 위한 비용 효율적인 방법들을 찾게 되었다. 컴퓨터 시스템의 총 소유권 비용(TCO)의 약 4/5가 컴퓨터의 관리 및 유지에 있다는 것을 인식한 회사들은 좀 더 잘 제어된 관리의 실행 및 TCO를 줄이기 위한 도구에 의존하게 되었다. 마이크로소프트는 시스템 갱신 및 응용 설치, 중앙 관리, 시스템 록다운, 및 TCO를 줄이기 위한 기능으로서 쉬운 클라이언트 교체를 목표로 함으로써 시스템 관리 비용 감소 압력에 대응해왔다. 이러한 해결책은 그의 시스템 관리 서버(SMS)TM이며, 이는 자동화된 소프트웨어 분배 및 업그레이드, 각 장치의 하드웨어 및 소프트웨어목록, 원격 제어 및 원격 진단을 제공한다. SMS는 윈도우즈 95TM, 윈도우즈 98TM및 윈도우즈 NT 4.0에서 지원된다.
인텔의 TCO 주도권(initiative)을 위한 포괄적인 용어는 "관리를 위한 연결(Wired for Management)"("WfM")이다. WfM의 기준선은 개인용 컴퓨터(PC) 설계자들 및 시스템 관리 응용 매각인들에 대한 관리 능력의 최소 설정을 제공한다. 이는 원격 웨이크업, 클라이언트들에 대한 프리부트 실행 환경(PXE), 하드웨어 센서들, 및 BIOS-기반 성능들과 같은 하드웨어/펌웨어 기반 성능들에 집중된다. (초기에는 인텔의 LANDesk 구성 매니저TM(LCM) 시스템으로 불려진) 플래티넘 기술의 자동구성TM시스템은 최종-사용자 조직화를 위한 시스템이며, 주로 네트워크화된 PC들에 소프트웨어를 자동으로 설치하도록 설계된다. PXE 서버는 또한 운영 시스템, 및 응용들 뿐 아니라 다른 저레벨 소프트웨어를 설치할 수 있게 한다. 오늘날의 가장 큰 기업체들은 그들의 PC 네트워크들 및 그들의 TCO를 제어하는 데에 플래티엄의 자동구성 시스템 및 마이크로소프트의 SMS 시스템들을 이용한다. 윈도우즈 운영 시스템들 및 자동구성 시스템(LANDesk 구성 매니저)은 본원의 참조로서 인용되는 하기의 문서들에서 기술된다:
"마이크로소프트윈도우즈95 리소스 킷" 1995년 마이크로소프트 출판;
"마이크로소프트윈도우즈98 리소스 킷" 1998년 마이크로소프트 출판, ISBN 1-57231-644-6;
"마이크로소프트윈도우즈NT 워크스테이션" 운영 시스템, 전개 가이드" 1997년 마이크로소프트사;
"인텔 LANDesk구성 매니저, 관리자 가이드" 1997년 인텔사;
윈도우즈 NT를 설치하는 동안 윈도우즈 NT 드라이버들을 설치하기 위한 "윈도우즈 NT 셋업 자동화 가이드".
이러한 시스템들에서는, 새로운 디바이스 및 그의 드라이버에 대한 지식없이 운영 체제를 로딩함으로 인한 시스템 시동 어려움을 최소화할 수 있도록, 사용자가 새로운 디바이스들 및 그들의 드라이버들에 대한 정보를 쉽게 제공받을 필요가 있게 되었다.
본 발명은, 이제 플래티넘 기술(본 발명의 양수인)의 소유이며 1997년 11월 7일 LCM 시스템의 1.5 버전의 일부로서 처음으로 공개적으로 이용(ship)되었던 (이전에는 인텔 LANDesk 구성 매니저TM로 불려진) 플래티넘 자동구성 시스템에 대한 부속물로서 그의 바람직한 실시예의 측면에서 설명된다.
본 발명은 컴퓨터 시스템 분야에 관한 것으로서, 특히 디바이스 드라이버들의 설치를 위한 인터페이스를 지원하는 컴퓨터 시스템에 관한 것이다. 본 발명은 다양한 마이크로소프트 윈도우즈TM운영 체제 프로그램들을 이용하는 기존의 컴퓨터 시스템들에 새로운 디바이스 드라이버 정보를 입력하기 위한 장치 및 방법을 제공한다.
도 1은 일반적인 컴퓨터의 대표적인 구성을 나타낸 도면이다.
도 2는 일반적인 운영 체제의 구조를 나타낸 도면이다.
도 3은 본 발명의 일반적인 상호관계를 나타낸 도면이다.
도 4는 디바이스 드라이버 데이터를 입력하기 위한 예시적인 GUI 윈도우를나타낸 도면이다.
도 5는 디바이스 드라이버 및 다른 파일 데이터의 입력을 지원하기 위한 예시적인 GUI 윈도우를 나타낸 도면이다.
도 6은 본 발명에 따른 방법의 일반적인 동작을 나타낸 흐름도이다.
본 발명은 기존의 운영 체제가 디바이스 드라이버와 통신할 수 있도록 새롭게 설치된 디바이스에 대한 디바이스 드라이버 코드 제공 방법을 포함한다. 본 발명에 따른 방법은 컴퓨터 내의 파일에 디바이스 드라이버 코드를 입력하는 단계와, 여기서 상기 파일은 유일한 파일 식별자(ID)를 가지며;
컴퓨터 상의 추가-디바이스 도구로 하여금 디바이스 드라이버 코드를 포함하는 파일의 유일한 파일 식별자를 나타내는 추가-디바이스 도구 데이터, 및 포인터를 운영 체제에 의해 이용되는 응답 파일(answer file) 및 운영 체제에 의해 이용되는 OS 설치 파일들에 입력시키도록 하는 단계와;
디바이스 드라이버를 포함하는 파일로부터 얻어진 정보 및 코드를 포함하기 위하여, 추가-디바이스 도구의 일부를 실행시켜 운영 체제에 의해 이용되는 응답 파일 및 운영 체제에 의해 이용되는 OS 설치 파일들을 변형함으로써, 운영 체제가 디바이스 드라이버 코드를 이용하는 새로운 디바이스와의 통신을 위해 그 자체를 구성하는 데에 상기 변경된 응답 파일 및 OS 설치 파일들을 이용할 수 있게 되는 단계를 포함한다.
주장되는 방법은 또한, 상기 추가-디바이스 도구가 작동될 때 특별한 그래픽 인터페이스(GUI) 윈도우가 디스플레이되도록 함으로써, 이러한 GUI 윈도우의 이용을 통하여 디바이스 드라이버 데이터 입력을 용이하게 하는 단계를 포함한다.
본 발명은 또한,
기존의 운영 체제가 디바이스 드라이버 코드와 통신할 수 있도록 자체적으로 구성될 수 있도록 배열된 컴퓨터 및 다양한 주변 장치들과,
시스템 메모리 내에 저장된 추가-디바이스 도구와;
사용자가 디바이스 드라이버 코드 및 관련 정보를 포함하는 파일에 대한 유일한 파일 식별자를 쉽게 입력할 수 있도록 구성되고, 포인터를 운영 체제에 의해 이용되는 응답 파일 및 OS 설치 파일들에 입력할 수 있도록 구성된 상기 추가-디바이스 도구를 실행시키는 코드 메커니즘과; 그리고
디바이스 드라이버에 대한 코드 및 데이터를 갖는 운영 체제에 의해 이용되는 응답 파일 및 OS 설치 파일들을 변경함으로써, 운영 체제가 이후 새로운 디바이스 드라이버와의 통신을 위해 자체적으로 구성될 수 있게 하는 코드 메커니즘을 포함하는 장치를 개시하는데, 상기 장치는 유일한 파일 식별자를 갖는 파일 내에 저장된 디바이스 드라이버 코드 및 관련 정보를 포함한다. 또한, 디바이스 드라이버 및 OS 파일 정보로의 입력을 용이하게 하는 데에 이용되는 그래픽 사용자 인터페이스 윈도우(GUI)를 포함하는 장치가 주장된다. 본 발명은 또한, 컴퓨터 판독가능 매체 상에 내장된 동일한 용량을 제공하기 위한 컴퓨터 프로그램 제품을 포함한다.
당업자에게 있어서, 본 발명의 다른 실시예들은 하기의 상세한 설명으로부터 명백해질 것이며, 본원에서는 단지 본 발명을 실행하기 위한 최상의 모드를 실시예로 들어 설명한다. 예시적인 목적으로 그 일부가 설명될 수도 있는 다른 실시예들이 또한 가능하며, 몇몇 세부적인 사항들은 본 발명의 원리 및 범위를 벗어나지 않으면서 다양하고 명백한 관점에서 변형될 수 있다.
본 발명의 장치 및 방법의 특징들은 하기의 상세한 설명으로부터 명백해질 것이다.
본 발명을 수행하기 위한 최상의 모드
OS를 설치하는 동안 OS가 새로운 하드웨어 디바이스를 인식할 수 있고, OS가 관련된 디바이스 드라이버를 자동으로 설치할 수 있게 하기 위하여, 기존의 컴퓨터 네트워크 내에서 새로운 디바이스 드라이버 정보를 개인용 컴퓨터(PC)에 입력하기 위한 방법 및 장치가 개시된다. 설명의 목적으로 하기의 설명에서는, 특별한 데이터 및 구성이 개시되어 본 발명의 이해를 도울 것이다. 그러나, 당업자라면 본 발명이 이와같은 특정한 세부사항 없이 실행될 수도 있다는 것을 알 수 있을 것이다. 다른 경우들에서는, 불필요하게 본 발명을 애매하게 하지 않도록, 널리 공지된 시스템들 및 프로토콜들이 도표 또는 블록도의 형태로 제시되어 설명된다.
용어
디바이스: 가령 프린터, 직렬 포트, 디스크 드라이브, 마우스, 디스플레이, 사운드 카드, 카메라 등과 같은 컴퓨터 구성요소에 대한 일반적인 용어. 디바이스는 종종 디바이스 드라이버로 불려지는 소프트웨어를 자체적으로 제어해야할 필요가 있다.
디바이스 드라이버: 하드웨어의 특정한 부분("디바이스")과 컴퓨터 운영 체제(OS)를 통신할 수 있게 하는 프로그램. 디바이스가 컴퓨터에 부착될 수 있음에도 불구하고, 전형적으로 OS는 사용자가 적절한 드라이버를 설치하고 구성할 때 까지 디바이스를 인식하지 못한다.
INF 파일: 드라이버 정보를 위한 매각자의 특별한 INF 파일
윈도우즈 INF 파일: 이는 윈도우즈 95/98/NT 셋업에, 가령 디바이스에 대한 유효 논리 구성의 리스트, 디바이스에 대한 드라이버 파일들의 이름들 등과 같이, 디바이스를 셋업하는 데에 필요한 정보를 제공하는 파일이다.
INF 파일 포맷: 윈도우즈 INF 파일 포맷들은 윈도우즈 95/98 리소스 킷 문서 내의 부록 C에서 상세히 설명된다.
OS 경로: 일반적으로 윈도우즈 95/98 리소스 킷 문서에서 상세하게 설명되는, 운영 체제 파일들이 위치되는 디렉토리.
응답 파일: 전형적으로 설치하는 동안 일어날 수 있는(설치 프롬프트들) 질문들에 대하여 미리-정의된 응답들을 포함하는 텍스트 파일. 예를 들어, 사용자는 이름, 일련 번호, 바람직한 언어 등을 입력할 것을 프롬프트 상에서 지정된다. 텍스트 파일 내에 이러한 질문들에 대한 응답을 미리 타이핑함으로써, 관리자는 사용자들이 의도하지 않는 모드(unattended mode)에서 PC 상에 소프트웨어를 설치하는 것을 도울 수 있게 된다. 모든 소프트웨어가 응답 파일 성능을 가지고 있는 것은 아니며, 응답 파일들은 다른 이름들로 불려질 수도 있다. 응답 파일의 포맷은 전형적으로 비교적 단순하며, 세 개의 부분들: 즉 (유사한 키워드들의 그룹들을 지정하는) 섹션들, (전형적으로 응용 프로그램이 설치될 때 일어나는 프롬프트들에 해당하는) 키워드들, 및 (입력을 위한 요청에 응답하는) 값들로 구성된다.
하드웨어 트리: 윈도우즈 시스템들에서, 현 시스템 구성의 임의 접근 메모리 내의 기록은 레지스트리의 하드웨어 분기 내에서의 모든 디바이스들에 대한 구성 정보를 기초로 한다.
레지스트리(Registry): 윈도우즈 95/98/NT 시스템들에서, 레지스트리는 컴퓨터의 구성에 대한 정보의 데이터베이스 저장소이다.
셋업: 윈도우즈 95/98/NT 시스템들에서, 셋업은 특정한 운영 체제 설치시, 긔고 특정한 하드웨어에 대한 설치를 주문 제조시 사용자/관리자를 안내하도록, 그리고 사용자가 미리-프로그램된 구성들, 안전 디폴트들, 및 자동화된 다양한 하드웨어 검출 과정들을 이용하도록 설계된 프로그램이다.
운영 환경
본 발명이 이용되는 환경은, 인터넷을 통하여 다른 클라이언트들 및 다른 네트워크들에 연결될 수도 있는, 일반적으로 허브에 의한 국부 영영 네트워크들, 루터들, 게이트웨이들, 터널-서버들, 응용프로그램 서버들 등을 포함하는 일반적인 분배 계산 신(scene)을 포함하며, 여기서 프로그램들 및 데이터는 실행을 위한 다양한 네트워크 요소들 및 네트워크의 나머지 요소들에 의한 접속에 의해 유용하게 된다. 클라이언트 장치들은 전형적으로 개인용 컴퓨터들(PCs)이다.
바람직한 실시예에서, LANs는, 운용 환경들이 일반적으로 마이크로소프트 시스템들 관리 서버(SMS) 또는 플래티넘 자동구성 시스템에 의해 제어되는 클라이언트 및 서버 가동 마이크로소프트 운용 시스템들(95/98/NT)로 구성된다.
바람직한 실시예의 컴퓨터 시스템은 일반적으로 도1에 도시된 요소들을 포함하며, 여기서 예시적인 범용 컴퓨터(200)는 머더보드(203)를 포함하는 캐비넷(201)을 포함하며, 상기 마더보드(203)는 그 위에 입/출력("I/O") 섹션(205), 하나 또는 그 이상의 중앙 처리 장치들("CPU")(207) 및 관련된 플래시 메모리 카드(211)을 가질 수도 있는 메모리 섹션(209)을 포함한다. I/O 섹션(205)은 키보드(226),다른 유사한 범용 계산 유닛들(225, 215), 디스크 저장 유닛(223) 및 CD-ROM 드라이브 유닛(217)에 연결된다. 변형적으로, 어떠한 시스템들에서 CD-ROM 유닛은 플로피 디스크 드라이브 유닛으로 대체될 수도 있다. CD-ROM 드라이브 유닛(217)은, 전형적으로 프로그램들(221) 및 다른 데이터를 포함하는 CD-ROM 매체(219)를 판독할 수 있다.
이러한 프로그램된 컴퓨터들의 논리 회로들 또는 다른 요소들은 다음에 좀더 설명될 바와 같이 컴퓨터 프로그램들에 의해서 지시되는 구체적으로 명시된 동작들을 순차적으로 실시할 것이다.
도 2는 운영체제, 디바이스 드라이버들 그리고 컴퓨터 하드웨어/디바이스들 간의 관계를 보이는 일반적인 도표이다. 도 2에서, 응용 프로그램들(251)은 운영체제(253)와 인터페이스하여 다양한 디바이스 드라이버들(255)과 순차적으로 통신하고, 이는 다양한 관련 하드웨어 디바이스들(257)을 제어하며, 이는 특정 컴퓨터 구조적 설정을 구성한다. 새로운 디바이스가 추가될 때 마다 상기 하드웨어 설정(257)은 일반적으로 상기 새로운 디바이스의 해당 디바이스 드라이버는 반드시 상기 디바이스 드라이버 영역(255)에 추가되어야 하고, 상기 운영 체제가 상기새로운 하드웨어와 통신할 수 있도록 상기 운영체제와 연결되어야한다.
윈도우즈 기반 시스템에서, 시스템 설치(install) 중 상기 윈도우즈 셋업 프로그램은 상기 컴퓨터에 이미 설정된 하드웨어 디바이스들과 요소들을 검출하고 이 정보를 드라이버들을 설치하고 레지스트리 구성들을 설정하는데 사용한다. 만일 사용자가 상기 OS에 의해서 지원되는 디바이스로서 셋업 프로그램의 "Readme" 파일과 "Setup.txt" 에서 나타나지 않는 하드웨어 요소를 수동으로 설치한다면, 상기 사용자는 상기 디바이스 드라이버(들)를 상기 시스템 하드웨어 트리와 레지스트리에 추가해야만 한다. 본 발명은 필수 구성원들을 만드는데 있어서 가능한 한 노력 없이 할 수 있도록 한 자동화된 보조를 제공한다.
발명
본 발명은 현재 운영 체제에 구성되지않은 디바이스를 새롭게 설치하기위해서 디바이스 드라이버를 자동으로 추가하는 장치 및 방법이다. 바람직한 실시예에서, 본 발명의 전체적인 순서는 도 3에 묘사된다. 도 3에서, 새롭게 설치되는 디바이스에 관한 데이터와 코드를 가지는 공급자 INF 파일(305)은 그래픽 사용자 인터페이스(GUI)(307) 수단을 통해서 추가-디바이스(add-device) 도구에서 식별된다. OS 응답(answer) 파일(301)과 상기 OS 원본 경로(303)에 대한 포인터(pointer)들 역시 상기 GUI(307)를 통해 식별된다. 상기 추가-디바이스 도구는 이러한 입력들을 받아 상기 새로운 디바이스에 연관된 데이터와 코드를 상기 응답 파일(309)과 OS 설치 파일들(311)에 추가하여 변경 시키고, 이 파일들을 상기 OS의 이후 사용을 위해 출력한다.
그래픽 사용자 인터페이스:
바람직한 실시예에서, 상기 추가-디바이스 도구는 분리된 유틸리티로서 제공된다. 도 4에서, 예시적인 그래픽 사용자 인터페이스(GUI)가 도시된다. 상기 GUI는 상기 추가-디바이스 도구가 호출되면 상기 사용자에게 표시된다. 상기 도시된 GUI는 "윈도우즈 95 드라이버 추가 유틸리티-베타판 전용"(401)이라는 제목을 보이지만, 바람직한 실시예에서 윈도우즈 95/98/NT에 대한 GUI는 상기 401의 제목이 95/98/NT로 나타난다는 것 만을 제외하면 도 4에서 보인 것과 동일하다. 바람직한 실시예에서, 상기 GUI는 "인텔 랜데스크 설정 메니저(Intel LANDesk Configration Manager)"(402)라는 이름을 가지는 플래티넘 자동설정 시스템(Platinum AutoConfigure System)과 관련되어 사용된다. 상기 GUI를 이용하여, 사용자는 공급자 INF 파일 이름(406)을 "공급자 INF 파일 이름(404)"이라 표제된 상자에, 윈도우즈 원본 경로(410)를 상자(408)에, 응답 파일(414)은 사용될 상자(412)에, 그리고 로그파일(선택)의 이름(418) 을 상자(416)에 입력한다. 상기 로그(log) 파일(418)은 일반적인 문서 파일이고, 이는 상기 프로그램의 사건 로그를 포함한다. 상태 바(422)는 상기 로그 상세 정도(420)의 사용자 설정에 따라 상기 드라이버 정보를 추가하는 동작을 사용자에게 보여준다. 상기 사용자는 상기 도구가 상기 드라이버들을 OS 설치 파일들에 추가하는데 실패한 경우 상기 드라이버가 추가되지 않은 이유에 대한 문제 해결을 위해서 상기 로그 파일을 나중에 이용할 수 있다. 사용자 선택은 상기 파일의 버전(version) 부분(이는 나중에 설명된다)을 식별하는 것으로 상기 INF 파일에 대해서 확인된다. OS 경로의 사용자 선택은 상기 디렉토리의 존재와 그 디렉토리가 기록 가능한지 아닌지에 대해서 확인된다. 상기 시스템은 모든 드라이버 정보를 상기 INF 파일에서 얻고, 상기 응답 파일과 상기 상기 원본 경로의 custom.Inf 파일을 갱신한다. 만일 상기 Custom.Inf 파일이 존재하지 않으면, 상기 도구는 이를 생성하고 이를 요구되는 영역들에 추가한다. 만일 상기 사용자가 상기 데이터 기입을 마치면, 그는 "확인" 버튼(434)을 클릭한 후 닫기 버튼(436)을 클릭한다. 만일 상기 과정 중 임의의 지점에서 사용자가 어떻게 입력해야할지 확신할 수 없으면, 그는 "도움말" 버튼(438)을 클릭하고, 그에 따라서 다른 "도움말" GUI가 각 요구되는 기입에 사용될 수 있거나 만드시 사용되어야만 하는 것에 대한 일반적인 설명을 나타내면서 표시된다.
상기 사용자는 파일 이름, 그리고 경로(406, 410, 414 그리고 418로 나타내어짐)를 중 하나를 입력할 수 있고, 혹은 요구되는 파일들과 디렉토리들을 선택하기 위해서 검색 버튼(426, 428, 430 또는 432)을 이용할 수 있다. 만일 상기 사용자가 상기 검색 버튼들 중 하나를 선택하면, 도 5에서 도시된 바와 같은 화면을 얻을 것이다. 도 5의 GUI는 "공급자 .INF 파일 선택"(501)의 제목을 가진 것으로, 이 GUI는 사용자가 도 4의 상기 "공급자 .INF 파일 이름" 상자(도 4의 406) 반대편의 검색 버튼(426)을 클릭하면 표시된다. 다른 검색 버튼들(도 4의 428, 430 또는 432)에 대해서도 유사한 GUI가 표시되며, 상기 제목 바(501)은 적절한 제목으로 표시된다. 상기 GUI를 이용하여, 상기 사용자는 상기 디바이스 드라이버 파일들과 디렉토리들을 포함하는 디스크 드라이브(511)와 상기 디렉토리에 포함되는 특정 파일들(505)의 집단을 가리키는 디렉토리(513)를 검색할 수 있으며, 그 다음, 상기 상자(505)에 표시되는 것들 중에서 특정 INF 파일 이름을 선택할 수 있다. 선택된 하나는 상기 "파일 이름" 상자(503)에 표시되고, 만일 이것이 사용자에 의해서 선택된 것이라면 사용자는 "확인" 버튼(507)을 누르면 상기 선택된 파일 이름은 도 4에 도시된 상기 GUI 의 적절한 상자로 전달 된다. 만일 사용자가 선택된 파일 이름에 만족하지 못하면 그는 "취소" 버튼(509)을 누르고 상기 검색 동작을 다시 시작한다.
윈도우즈 OS에 드라이버를 추가하는 것은 이것이 윈도우즈* 95/98 또는 윈도우즈 NT 중 어떠한 것에 추가되는 것인지에 관해 대단히 종속적이다. 상기 지적한 바와 같이, 드라이버를 추가하기위한 입력들은 상기 INF 파일, 응답 파일, OS 원본 경로이고, 출력은 변경된 응답 파일, 변경된 OS 설치 파일들이다. 바람직한 실시예에서, 상기 처리는 도 6에 묘사된다. 도 6에 따르면, 상기 파일 이름들과 경로 이름들은 상기 추가-디바이스 GUI를 통해 입력되고 상기 "확인" 버튼이 클릭되면(도 4의 434) 상기 추가-디바이스 도구는 상기 윈도우즈 셋업 파일들(601)에 상기 드라이버 데이터를 추가하는 과정을 시작한다. 상기 지정된 드라이버 INF 파일이 읽히고(603), 상기 드라이버가 윈도우즈 95/98용 인지 NT용인지 결정한다(605). 만일 이것이 둘다 아니라면(609), 오류 메세지가 표시되고(613) 상기 과정은 종료된다(614). 바람직한 실시예에서, 이것이 윈도우즈 95 INF 파일인지 결정하기위해서 "버전(version)" 영역의 "서명(signature)" 키(key)를 검사한다.(INF 파일 포멧은 여기서 전체적으로 참조로서 관계하는 윈도우즈 95 리소스 킷의 부록C 에 도시된다는 것을 유의한다). 그 값은 다음 값들 중 하나여야 한다;
"$CHICAGO$",
"$Windows95$"
"$Windows 95$"
예제:
[Version]
LayoutFile=layout.inf
signature="$CHICAGO$"
Class=Net
provider=%V_MS%
만일 상기 "signature(서명)" 값이 상기 중 하나와 일치하면, 이는 윈도우즈 95/98 형태 INF 파일로 결정되고(607), 과정은 상기 파일들을 INF가 주어진 디렉토리에서 OS 원본 파일들이 존재하는 디렉토리로 복사한다(615). 상기 파일 복사 과정은 다음과 같다:
상기 INF 파일의 모든 파일복사(CopyFiles) 영역들에 대해서 그 값들을 획득한다. 이러한 값들은 실제 파일들이 하부에 명시되는 영역들 또는 실제 파일들 자체 중 하나이다. 이러한 값들은 ','로 분리되고 그로인해 이들이 실제 파일들 또는 실제 파일들을 찾을 수 있도록 지정하는 영역인지를 찾기 전에 개별적인 문자열들로 분리된다. 만일 상기 값의 처음 문자가 '@'으로 시작되면, 이는 실제 파일이고, 아니면 이는 실제 파일들이 하부에 명시된 영역이다.
상기 파일 이름들에 대한 파일 선택들을 읽는다. 이러한 영역들은 <목적지-파일이름>[,[<원본-디렉토리>\]<원본-파일이름>][,임시-파일이름][,플래그(flag)]와 같이 포멧된다. 주의: 만일 상기 <원본-파일이름> 파라케터가 없다면, 상기 <원본-파일이름>는 상기 <목적지-파일이름>과 같다. 상기 원본은 상기 INF 파일이 읽히는 원본 디렉토리에 있다. 우리는 파일들과 디렉토리들을 상기 INF 위치로부터 읽어서 이들을 상기 OS 설치 파일 위치에 복사한다.
예제
;NDIS3 설치
[E100B.ndis3]
CopyFiles=E100B.ndis3.CoptFiles
[E100B.ndis.CopyFiles]
e100b.sys, nt\e100b.sy_;nt는 서브디렉토리
;NDIS2 설치
[E100B.ndis3]
CopyFiles=E100B.ndis2.CoptFiles
[E100B.ndis2.CopyFiles]
e100b.dos, ndis\e100b.dos
상기 "CopyFiles" 키들은 "E100B.ndis3.CopyFiles"와 "E100B.ndis2.CopyFiles"이다. 이러한 값들은 "@"로부터 시작하지 않으므로 이들은 상기 파일 영역들의 이름들이다. "E100B.ndis3.CopyFiles"와 "E100B.ndis2.CopyFiles" 영역들을 읽어들이고, 우리는 "e100b.sys,nt\e100b.sy_"와 "e100b.dos, ndis\e100b.dos"를 획득한다. 이러한 값들로부터 우리는 상기 파일들이 e100b.sy_와 e100b.dos라고 결정하고, 그들의 관련 디렉토리들은 각각 nt와 ndis이다. 우리는 상기 파일들은 A:\E100B\NT\E100B.SY_와 A:\E100B\NDIS\e100b.dos로부터 \\LCM_1234\OS\WIN95\NT\E100B.SY_와 \\LCM_1234\OS\WIN95\NDIS\E100B.DOS에 복사한다.
(여기서 a:\E100B는 INF 디렉토리이고 \\LCM_1234\OS\WIN95는 OS 원본이다).
마지막으로 상기 INF 파일은 OS 원본 디렉토리에 복사된다.
그 다음, 상기 응답 파일이 갱신된다(617). 이는 다음과 같이 실시된다:
우리는 상기 응답 파일을 INF 정보로 갱신하고, 그에따라 윈도우즈* 95/98 셋업은 필요한 드라이버 파일들을 복사할 것이다. 우리는 응답 파일들의 다음 구성원들을 갱신한다:
[Install]
이 영역은 윈도우즈* 95 설치의 일부로서 부가적인 파일들을 복사하기위한 파라메터들을 설정한다. 우리는 "Inf.Copy" 값을 상기 "Install" 영역 하부 "CopyFiles" 키에 첨부한다(상기 "Inf.Copy" 영역은 그 하부에 복사되는 파일들이 나열된다).
[Install]
CopyFiles=Inf.Copy
[Inf.Copy]
실질적인 INF 파일 이름을 키로서 이 영역 하부에 기록하고, 그로인해 윈도우즈* 95/98 셋업은 이 파일을 OS 원본 디렉토리에 복사한다.
[Inf.Copy]
nete100b.inf=
여기서 nete100b.inf는 상기 INF 파일 이름이다.
[DestinationDirs]
이 영역은 상기 [Inf.Copy] 영역들에 대한 목적지 디렉토리들을 정의한다.
[DestinationDirs]
Inf.Copy=17
여기서 17은 상기 INF 디렉토리이다. 그 값들은 마이크로소프트 출판사의 "마이크로소프트 윈도우즈 95 리소스 킷"에 따른다.
마지막으로 상기 CUSTOM.INF 파일이 갱신된다(619). 이는 다음과 같이 실시된다:
[Version]
signature="$CHICAGO$"; 윈도우즈 95에 대해서
[Custom_Precopy]
CopyFiles=PrecopyFiles
[PrecopyFiles]
e100b.sy_=
e100b.dos=
e100bodi.com=
nete100b.inf=
주의: 상기 값들은 예제이다. 실제 파일들은 실제 드라이버에 따른다.
파일 복사 영역들은 CopyFile 항목으로 묘사된다.
[DestinationDirs]
PrecopyFiles=2
2는 임시 셋업 디렉토리이다.
[SourceDisksNames]
1=Disk_1_Desc,,0
주어진 디바이스 드라이버의 설치에 사용되는 디스크들을 식별하고 이름 짓는다.
여기서 1은 한 원본 디스크를 식별하고 이를 서수 1에 할당하며 "Disk_1_Desc"는 설명이다.
[SourceDisksFiles]
filename=disk-number
설정 중 사용되는 소스 파일들을 이름짓고, 파일들이 포함된 원본 디스크들을 식별한다. disk-number로 정의되는 상기 원본 디스크의 서수는 [SourceDiskNames] 영역에 정의되어야만 한다.
[SourceDisksFiles]
e100b.sy_=1,ntm11
e100b.dos=1,ndis,11
e100bodi.com=1,dos,11
nete100b.inf=1,,11
이 곳에서, 상기 윈도우즈 95/98 드라이버 추가에 대한 처리가 완료되고 이 처리는 종료된다(614).
다시 도 6에서, 만일 상기 INF 파일의 상기 드라이버가 윈도우즈 95/98에 대한 것이 아니고 윈도우즈 NT에 관한 것이라면(611), 상기 드라이버 종류가 결정된다(611). 만일 이것이 윈도우즈 NT에 관한 것이라면, 상기 값은 다음 값들 중 하나여야만 한다;
"$WINDOWSNT$",
"$WindowsNT$"
"$Windows NT$"
예제:
[Version]
LayoutFile=layout.inf
signature="$WINDOWSNT$"
Class=Net
provider=%V_MS%
만일 상기 "signature(서명)" 값이 상기 중 하나와 일치하면, 이는 윈도우즈 nt 형태 INF 파일로 결정되고, 상기 추가-디바이스 도구는 다음 종류의 드라이버중 하나로 결정하려 한다.
- 표시장치(disaply).
- 네트워크.
- SCSI.
- 마우스.
만일 상기 INF 파일이 윈도우즈 NT 4.0 포멧이면, 종류는 상기 INF 파일 [Version] 영역의 "Class" 키를 읽는 것으로 결정되고, 만일 상기 INF 파일이 윈도우즈 NT 3.51 포멧이면, 상기 종류는 [Identification] 영역의 "OptionType" 키로부터 얻어진다. 상기 INF 파일은 읽혀지고, 상기 드라이버에 관한 정보는 다음과 같이 추출된다:
만일 상기 종류가 "표시장치"라면 - 우리는 어뎁터 모델을 획득한다.
만일 상기 종류가 "네트워크"라면 - 우리는 어뎁터 모델을 획득한다.
만일 상기 종류가 "SCSI"라면 - 우리는 SCSI모델과 드라이버 파일들을 획득한다.
만일 상기 종류가 "마우스"라면 - 우리는 마우스 모델과 드라이버 파일들을 획득한다.
그 다음, 처리는 상기 드라이버에 의해 지원되는 모든 가용한 어뎁터 모델들을 표시한다. 상기 사용자는 상기 표시된 목록으로부터 드라이버를 고른다. 그 다음, 드라이버 파일들의 목록은 상기 특정 모델에 대해서 생성된다(623).
그 다음, 상기 도구는 상기 응답 파일과 txtsetup.oem 파일들을 다음과 같이갱신한다(625):
만일 이것이 표시장치라면 - 상기 응답 파일만 변경한다.
추가디바이스(AddDevice)는 [Display] 영역에 다음 정보를 기록한다.
[Display]
InfFile="FileName.inf"
InfOption="Driver Dtring"
InstallDriver=1
BitsPerPel=16
XResolution=640
YResolution=480
VRefresh=60
AutoConfirm=1
만일 이것이 네크워크 종류라면 - 우리는 상기 응답 파일만을 변경한다.
상기 추가-디바이스 도구는 다음의 정보를 [네트워크] 영역에 기록한다.
E100BPC1=NetCardSection, \$OEM$\ADAPTERKEY
NetCardSection은 네트워크 인터페이스 카드(NIC) 구성 파라메터들을 가지는 영역이다. 만일 이것이 비었다면, 윈도우즈 셋업은 이들을 검출한다. \$OEM$\ADAPTERKEY는 드라이버 파일들을 가지는 디렉토리이다. 이는 상기 원본 경로 디렉토리와 연관된다. ADAPTERKEY는 사용자가 지원 어뎁터들의 목록으로부터 어뎁터 모델을 선택하는 경우 결정된다.
만일 이것이 SCSI 종류라면 - 우리는 응답 파일과 txtsetup.oem 파일들을 변경한다. 상기 추가-디바이스 도구는 다음의 정보를 [MassStorageDrivers] 영역에 기록한다.
"Driver String" = "OEM"
이 역시 모든 필요한 드라이버 파일들을 [OemBootFiles] 영역에 기록한다.
상기 추가-디바이스 도구는 상기 드라이버 파일들의 목록을 지원하면서, \$OEM$\TEXTMODE 디렉토리의 Txtsetup.oem 파일도 변경한다.
만일 이것이 마우스 종류라면 - 우리는 응답 파일과 txtsetup.oem 파일들을 변경한다. 상기 추가-디바이스 도구는 다음의 정보를 [PointingDeviceDriver] 영역에 기록한다.
"Driver String" = "OEM". 이는 상기 드라이버 파일들의 목록을 지원하면서, \$OEM$\TEXTMODE 디렉토리의 Txtsetup.oem 파일도 변경한다.
마지막으로, 상기 추가-디바이스 도구는 상기 드라이버 파일들을 다음과 같이 OS 설치 파일들 위치(627)에 드라이버 파일들을 복사한다.
단계 1 - 상기 원본(INF 파일이 있는 디렉토리)으로부터 파일들을 OS 원본이 있는 디렉토리로 복사한다.
특별 디렉토리 $OEM$는 OS 설치 파일들 디렉토리 하부에 생성되어야만 한다. SCSI 및 마우스 드라이버들에 대해서, 상기 파일들은 $OEM$\TEXTMODE 디렉토리로 복사된다. 어떠한 파일들이 복사되는 지 결정하는 과정은 이하 설명된다. 윈도우즈 NT는 $OEM$ 하부 TEXTMODE 디렉토리에서 텍스트 모드가 셋업되는 동안 설치될 모든OEM 파일들이 필요하다.
모든 표시 드라이버들에 대해서, 상기 파일들 모두는 $OEM$\Display 디렉토리에 복사된다.
네트워크 드라이버들 모두에 대해서, 상기 파일들은 드라이버 키의 이름을 가진 $OEM$의 하부 디렉토리로 복사된다. 상기 드라이버 키는 상기 INF 파일의 [Option] 영역의 키 이름이다. 예를 들어서, 만일 상기 INF 파일의 드라이버 키의 이름이 E100BPCI라면, 모든 파일들은 $OEM$\E100BPCI 디렉토리로 복사된다.
단계 2 - 상기 INF 파일의 모든 CopyFiles 영역에 대해서, 그 값들을 획득한다. 이러한 값들은 상기 실제 파일들이 명기된 하무 영역들 혹은 실제 파일들 자체의 하부 영역들 중 하나이다. 이러한 값들은 ','로 분리되고, 그로인해 이들이 실제 파일들인지 또는 실제 파일들을 검색하기위한 영역들 인지를 검출하기 전에 개별적인 문자열들로 분리된다.
만일 상기 값의 처음 문자가 '@'으로 시작되면, 이는 실제 파일이고, 아니면 이는 실제 파일들이 하부에 명시된 영역이다.
상기 파일 이름들에 대한 파일 선택들을 읽는다. 이러한 영역들은 <목적지-파일이름>[,[<원본-디렉토리>\]<원본-파일이름>][,임시-파일이름][,플래그(flag)]와 같이 포멧된다. 주의: 만일 상기 <원본-파일이름> 파라케터가 없다면, 상기 <원본-파일이름>는 상기 <목적지-파일이름>과 같다. 상기 원본은 상기 INF 파일이 읽히는 원본 디렉토리에 있다. 우리는 파일들과 디렉토리들을 상기 INF 위치로부터 읽어서 이들을 상기 OS 설치 파일 위치에 복사한다.
예제
;NDIS3 설치
[E100B.ndis3]
CopyFiles=E100B.ndis3.CoptFiles
[E100B.ndis.CopyFiles]
e100b.sys, nt\e100b.sy_;nt는 서브디렉토리
;NDIS2 설치
[E100B.ndis3]
CopyFiles=E100B.ndis2.CoptFiles
[E100B.ndis2.CopyFiles]
e100b.dos, ndis\e100b.dos
이러한 점에서, 상기 새로운 드라이버를 설치하기위해 NT에 필요한 파일들은 변경되고 상기 추가-디바이스 도구는 종료된다(614).
상기 드라이버 정보가 삽입되면 응답 파일로부터 상기 드라이버 정보를 제거할 수 없다는 것을 유의한다. 상기 파일이 변경되고, 만일 사용자가 상기 드라이버 정보를 상기 응답 파일에서 제거하려 한다면, 새로운 응답 파일은 서비스 마법사(service wizard) OS 페이지로부터 선택되어야만 하고, 혹은 상기 데이터는 상기 존재하는 파일에서 수동으로 제거되어야만 한다.
바람직한 실시예로 본 발명을 설명하였으며, 다양한 종류의 범용 컴퓨터 하드웨어에서 동일한 결과를 얻기 위해 상기 설명된 구조가 대용될 수 있다는 것은당 업자들에게 명백하다. 상기 바람직한 실시예의 변경들 및 변화들은 첨부되는 청구항으로 나타내어진 본 발명의 사상과 범위 내에서 가능하다는 것이 당 업자들에게 명백하다.

Claims (16)

  1. 현존하는 운영 체제가 디바이스 드라이버 코드와 통신하도록 하기 위해 상기 디바이스 드라이버 코드를 제공하는 방법에 있어서, 상기 방법은:
    a. 메모리, 표시부, 저장 매체, 씨디-롬(CD-ROM) 드라이브 및/또는 플로피 디스크 드라이브, 입력/출력 시스템, 및 추가-디바이스 도구를 구비한 컴퓨터 시스템을 사용하는 단계와;
    b. 하나 이상의 파일에 저장된 상기 디바이스 드라이버 코드 및 관련 정보를 상기 컴퓨터에 입력시키고, 그리고 상기 운영 체제에 대한 원본 경로로의 포인터와, 상기 운영을 위한 응답 파일(answer file)로의 포인터를 기입하는 단계 및;
    c. 상기 운영 체제를 위해 상기 응답 파일을 변경하고, 상기 디바이스 드라이버 코드에 근거한 상기 운영 체제에 대한 OS 설치 파일을 변경하도록 상기 추가-디바이스 도구 내의 코드 메커니즘을 실행하는 단계를 포함하고, 그럼으로써 상기 운영 체제가 상기 디바이스 드라이버와 통신하도록 계속적으로 구성하는 것을 특징으로 디바이스 드라이버 코드를 제공하는 방법.
  2. 제 1 항에 있어서, 상기 방법은 상기 컴퓨터 상에서 상기 추가-디바이스 도구를 호출하는 단계를 포함함으로써, 그래픽 사용자 인터페이스(GUI) 창이 표시되고, 또한 상기 디바이스 드라이버 코드와 정보를 포함하는 파일의 유일 파일 식별을 상기 GUI 창에 입력하는 단계와, 상기 운영 체제에 대한 원본 경로로의 상기 포인터와, 상기 운영 체제에 대한 응답 파일로의 포인터를 기입하는 단계를 추가적으로 포함하는 것을 특징으로 하는 디바이스 드라이버 코드를 제공하는 방법.
  3. 제 1 항에 있어서, 상기 컴퓨터는 기업 컴퓨터 네트워크 상에서의 많은 컴퓨터들 중의 하나인 것을 특징으로 하는 디바이스 드라이버 코드를 제공하는 방법.
  4. 제 3 항에 있어서, 상기 추가-디바이스 도구는 OS를 설치하는 어느 프로그램 또는 프로그램들의 시스템 제어하에서 실행하는 것을 특징으로 하는 디바이스 드라이버 코드를 제공하는 방법.
  5. 제 4 항에 있어서, OS를 설치하는 상기 프로그램 또는 프로그램들의 시스템은 플래티넘 자동환경 시스템(Platinum AutoConfigure System)인 것을 특징으로 하는 디바이스 드라이버 코드를 제공하는 방법.
  6. 제 4 항에 있어서, OS를 설치하는 상기 프로그램 또는 프로그램들의 시스템은 마이크로소프트 시스템즈 운영 체제(Microsoft Systems Management System: SMS)인 것을 특징으로 하는 디바이스 드라이버 코드를 제공하는 방법.
  7. 메모리, 표시부, 저장 매체, 씨디-롬(CD-ROM) 드라이브 및/또는 플로피 디스크 드라이브, 입력/출력 시스템, 및 추가-디바이스 도구를 구비한 컴퓨터를 사용하는 장치에 있어서, 상기 장치는 현존하는 운영 체제가 디바이스 드라이버 코드와 통신하도록 되고, 상기 장치는:
    a. 상기 메모리 내의 파일에 저장된 디바이스 드라이버와 관련 정보를 포함하고, 상기 파일은 유일 파일 식별을 포함하고;
    b. 상기 메모리 내에 저장된 추가-디바이스 도구와;
    c. 상기 디바이스 드라이버 코드와 정보를 포함하는 상기 파일의 상기 유일 파일 식별을 식별하고, 상기 운영 체제에 대한 원본 경로로의 포인터와, 상기 운영 체제에 대한 답변 경로로의 포인터를 기입하는 상기 추가-디바이스 도구 및;
    d. 상기 운영 체제에 대한 상기 응답 파일을 변경하고, 상기 디바이스 드라이버 코드와 정보에 근거한 상기 운영 체제에 대한 상기 OS 설치 파일을 변경하는 제 1 코드 메커니즘을 구비함으로써, 상기 운영 체제가 상기 디바이스 드라이버와 통신하도록 계속적으로 구성하는 것을 특징으로 하는 컴퓨터를 사용하는 장치.
  8. 제 7 항에 있어서, 상기 장치는 상기 컴퓨터 상에서 상기 추가-디바이스 도구를 호출함으로써 상기 추가-디바이스 도구가 호출된 때, 그래픽 사용자 인터페이스(GUI)가 표시되도록 하고, 또한 상기 디바이스 드라이버 코드와 정보를 포함하는 상기 파일의 유일 파일 식별표시가, 상기 운영 체제에 대한 소스 경로로의 포인터와, 상기 운영 체제에 대한 답별 파일로의 포인터를 식별하기 위해 상기 GUI 창을 사용하는 상기 추가-디바이스 도구로 기입되는 것을 특징으로 하는 컴퓨터를 사용하는 장치.
  9. 제 7 항에 있어서, 상기 컴퓨터는 기업 컴퓨터 네트워크 상에서의 많은 컴퓨터들 중의 하나인 것을 특징으로 하는 컴퓨터를 사용하는 장치.
  10. 제 8 항에 있어서, 상기 추가-디바이스 도구는 OS를 설치하는 어느 프로그램 또는 프로그램들의 시스템의 제어하에서 실행하는 것을 특징으로 하는 컴퓨터를 사용하는 장치.
  11. 제 10 항에 있어서, OS를 설치하는 상기 프로그램 또는 프로그램들의 시스템은 플래티넘 자동환경 시스템인 것을 특징으로 하는 컴퓨터를 사용하는 방법.
  12. 제 10 항에 있어서, OS를 설치하는 상기 프로그램 또는 프로그램들의 시스템은 마이크로소프트 시스템즈 운영 체제(SMS)인 것을 특징으로 하는 컴퓨터를 사용하는 방법.
  13. 메모리 내의 파일에 저장된 디바이스 드라이버 코드와 관련 정보와 통신하도록 하는 현존하는 운영 체제에서의 사용을 위해 컴퓨터 판독 매체에 저장된 컴퓨터 코드 메커니즘을 포함하는 컴퓨터 프로그램 생산품에 있어서, 상기 파일은 유일 파일 식별을 구비하고, 상기 컴퓨터 코드 메커니즘은:
    a. 사용자로 하여금 상기 디바이스 드라이버 코드와 정보를 포함하는 파일의상기 유일 파일 식별과, 상기 운영 체제를 위한 원본 경로로의 포인터 및, 상기 운영 체제를 위한 응답 파일로의 포인터를 기입하도록 하는 그래픽 사용자 인터페이스(GUI)를 표시하는 제 1 컴퓨터 코드 메커니즘과;
    b. 상기 디바이스 드라이버 코드와 정보를 포함하는 상기 파일의 유일 파일 식별과, 상기 운영 체제를 위한 원본 경로로의 포인터 및, 상기 운영 체제를 위한 응답 파일로의 포인터가 상기 GUI 창에 기입됨을 식별하는 제 2 컴퓨터 코드 메커니즘 및;
    c. 상기 운영 체제를 위한 상기 응답 파일을 변경하고, 상기 디바이스 드라이버 코드와 정보에 근거한 상기 운영 체제를 위한 설치 파일을 변경하는 제 3 컴퓨터 코드 메커니즘을 구비함으로써; 상기 운영 체제가 상기 변경된 응답 파일과 원본 파일을 사용하여 상기 디바이스 드라이버와 통신하도록 계속적으로 구성하는 것을 특징으로 하는 컴퓨터 프로그램 생산품.
  14. 현존하는 운영 체제으로 하여금 디바이스 드라이버 코드와 통신하도록 하게 하기 위해 상기 디바이스 드라이버 코드를 제공하는 방법에 있어서, 상기 방법은:
    a. 메모리, 표시부, 저장 매체, 씨디-롬(CD-ROM) 드라이브 및/또는 플로피 디스크 드라이브, 입력/출력 시스템, 및 추가-디바이스 도구을 구비한 컴퓨터를 제공하는 단계와;
    b. 디바이스 드라이버와 정보를 포함하는 파일의 유일 파일 식별을 상기 컴퓨터에 기입하고, 상기 운영 체제를 위한 원본 경로로의 포인터와, 상기 운영 체제를 위한 응답 파일로의 포인터를 기입하는 단계 및;
    c. 상기 운영 체제를 위한 상기 응답 파일을 변경하고, 상기 디바이스 드라이버 코드와 정보에 근거한 상기 운영 체제를 위한 원본 파일을 변경하도록 상기 컴퓨터 내의 코드 메커니즘을 실행하는 단계를 포함함으로써; 상기 운영 체제가 상기 디바이스 드라이버와 통신하도록 계속적으로 구성하는 것을 특징으로 하는 디바이스 드라이버 코드를 제공하는 방법.
  15. 제 1 항에 있어서, 상기 운영 체제는 마이크로 윈도우즈 운영 체제인 것을 특징으로 하는 디바이스 드라이버 코드를 제공하는 방법.
  16. 제 7 항에 있어서, 상기 운영 체제는 마이크로 윈도우즈 운영 체제인 것을 특징으로 하는 컴퓨터를 사용하는 장치.
KR1020017005481A 1998-10-30 1999-10-28 운영 체제에 의한 새로운 디바이스 드라이버 설치 방법 및장치 KR20010080372A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/183,336 US6567860B1 (en) 1998-10-30 1998-10-30 Method and apparatus for new device driver installation by an operating system
US09/183,336 1998-10-30
PCT/US1999/025448 WO2000026805A1 (en) 1998-10-30 1999-10-28 Method and apparatus for new device driver installation by an operating system

Publications (1)

Publication Number Publication Date
KR20010080372A true KR20010080372A (ko) 2001-08-22

Family

ID=22672401

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017005481A KR20010080372A (ko) 1998-10-30 1999-10-28 운영 체제에 의한 새로운 디바이스 드라이버 설치 방법 및장치

Country Status (14)

Country Link
US (1) US6567860B1 (ko)
EP (1) EP1133738B1 (ko)
JP (1) JP2002529816A (ko)
KR (1) KR20010080372A (ko)
CN (1) CN1257465C (ko)
AT (1) ATE433161T1 (ko)
AU (1) AU765542B2 (ko)
BR (1) BR9914942A (ko)
CA (1) CA2348442A1 (ko)
DE (1) DE69940955D1 (ko)
HK (1) HK1042348A1 (ko)
IL (2) IL142851A0 (ko)
WO (1) WO2000026805A1 (ko)
ZA (1) ZA200103676B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100757229B1 (ko) * 2005-12-05 2007-09-10 한국전자통신연구원 리눅스 시스템상에서 usb 디바이스 드라이버 개발을지원하는 운영체제 자원 진단 장치 및 방법

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100385021B1 (ko) * 1999-11-23 2003-05-22 삼성전자주식회사 운영체계 프로그램의 재설치시 운영체계 프로그램의 제품 인증 코드를 자동으로 입력하는 컴퓨터 시스템 및 그 방법
US6751794B1 (en) 2000-05-25 2004-06-15 Everdream Corporation Intelligent patch checker
US7496739B1 (en) * 2000-06-30 2009-02-24 Microsoft Corporation System and related methods for automatically configuring a computing system
KR100381416B1 (ko) * 2000-07-27 2003-04-23 삼성전자주식회사 컴퓨터 시스템 및 그 컴퓨터 시스템의 프로덕트 키 저장방법
US20020069353A1 (en) * 2000-12-01 2002-06-06 Smith R. Doug Automated device driver installation
JP2002197051A (ja) * 2000-12-11 2002-07-12 Internatl Business Mach Corp <Ibm> 通信先を決定するための通信アダプタの選択方法、通信アダプタの設定方法、コンピュータ装置、携帯情報機器、および記憶媒体
JP4453203B2 (ja) * 2001-01-09 2010-04-21 セイコーエプソン株式会社 デバイス環境設定システム、デバイス環境設定処理方法及び情報記録媒体
US20020099864A1 (en) * 2001-01-24 2002-07-25 Henkemeyer David C. Do-nothing temporary driver
JPWO2002079968A1 (ja) 2001-03-30 2004-07-22 セイコーエプソン株式会社 不具合対策のためのネットワーク技術
JP3666405B2 (ja) * 2001-03-30 2005-06-29 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置、インストールプログラム、インストールプログラムを記録したコンピュータ読取可能な記録媒体およびインストール方法
KR100671153B1 (ko) * 2001-04-25 2007-01-17 엘지전자 주식회사 디바이스 드라이버 설치방법
US20020188938A1 (en) * 2001-06-11 2002-12-12 Dong Mimi Chu System and method for providing application software for a peripheral device
US6968551B2 (en) * 2001-06-11 2005-11-22 John Hediger System and user interface for generation and processing of software application installation instructions
US7150025B2 (en) * 2001-08-31 2006-12-12 Hewlett-Packard Development Company, L.P. System and method for providing hardware driver installation
KR20030059359A (ko) * 2001-12-29 2003-07-10 삼성전자주식회사 서버 접속을 통한 하드웨어 구동프로그램 자동 설치 방법
CA2369228A1 (en) * 2002-01-24 2003-07-24 Alcatel Canada Inc. System and method for managing configurable elements of devices in a network element and a network
US20030195951A1 (en) * 2002-04-12 2003-10-16 Wittel Walter I. Method and system to dynamically detect, download and install drivers from an online service
US6745255B2 (en) * 2002-05-09 2004-06-01 W-Link Systems Inc. Small memory device with drivers on device
US20030220988A1 (en) * 2002-05-22 2003-11-27 Hymel James A. Method and electronic device for establishing an interface to control an accessory device
EP1398694B1 (en) * 2002-07-26 2013-09-11 Canon Kabushiki Kaisha Information processing method
US7698550B2 (en) * 2002-11-27 2010-04-13 Microsoft Corporation Native wi-fi architecture for 802.11 networks
US7100038B2 (en) * 2003-03-13 2006-08-29 Sun Microsystems, Inc. System and method for device parameter persistence
US20050132352A1 (en) * 2003-12-11 2005-06-16 Konica Minolta Business Technologies, Inc. Installation of hardware devices
US7694295B2 (en) * 2003-12-16 2010-04-06 Hewlett-Packard Development Company, L.P. Displaying a vendor provided information screen in response to a log-in experience
US7293272B1 (en) 2004-02-26 2007-11-06 Veritas Operating Corporation Device driver processing for automated system restores
US7660847B2 (en) * 2004-03-14 2010-02-09 International Business Machines Corporation Unattended installation of drivers for devices that are not automatically found and installed during operating system installation
US20050283778A1 (en) * 2004-06-17 2005-12-22 International Business Machines Corporation System and method for identifying installation modes for device drivers
US8290970B2 (en) * 2004-06-29 2012-10-16 Hewlett-Packard Development Company, L.P. System and method for offering one or more drivers to run on the computer
US7424719B2 (en) * 2004-08-02 2008-09-09 Hewlett-Packard Development Company, L.P. Application with multiple embedded drivers
US7506343B2 (en) * 2004-08-19 2009-03-17 International Business Machines Corporation System and method for passing information from one device driver to another
US8065674B2 (en) * 2004-09-01 2011-11-22 Microsoft Corporation Privileged used control of device installation and/or availability
US8095925B2 (en) * 2004-09-15 2012-01-10 Kyocera Mita Corporation Seamless network installation of device drivers
US20060168576A1 (en) * 2005-01-27 2006-07-27 Dell Products L.P. Method of updating a computer system to a qualified state prior to installation of an operating system
KR100694124B1 (ko) * 2005-06-08 2007-03-12 삼성전자주식회사 화상형성장치의 드라이버 갱신 방법 및 장치
CN100454249C (zh) * 2005-09-15 2009-01-21 英业达股份有限公司 附加有驱动程序的操作系统安装方法及结构
US20070169116A1 (en) * 2006-01-18 2007-07-19 Dell Products L.P. Method and system for automated installation of system specific drivers
KR100703804B1 (ko) * 2006-01-20 2007-04-09 삼성전자주식회사 플러그 앤 인스톨 시스템 및 방법
US20070223523A1 (en) * 2006-03-27 2007-09-27 Motorola, Inc. Method and apparatus for customization of network services and applications
US20080005611A1 (en) * 2006-05-31 2008-01-03 Microsoft Corporation Providing A Restore Operating System With New Or Updated Software Components
CN101086700A (zh) * 2006-06-09 2007-12-12 鸿富锦精密工业(深圳)有限公司 有线/无线网络产品网页代码加载系统及方法
US8245284B2 (en) * 2006-10-05 2012-08-14 Microsoft Corporation Extensible network discovery
KR101196431B1 (ko) * 2007-03-27 2012-11-01 삼성전자주식회사 외부 저장장치 및 상기 외부 저장장치의 자동 실행방법
US20080244567A1 (en) * 2007-03-30 2008-10-02 Konica Minolta Systems Laboratory, Inc. Portable printer driver
JP2008287505A (ja) * 2007-05-17 2008-11-27 Toshiba Corp 情報処理装置およびレガシーエミュレーション処理停止制御方法
US8321538B2 (en) * 2007-09-24 2012-11-27 Hewlett-Packard Development Company, L.P. Autonomous network device configuration method
US8756700B2 (en) 2008-01-16 2014-06-17 Verizon Patent And Licensing Inc. Custom data image building
US8291406B2 (en) * 2008-01-16 2012-10-16 Verizon Patent And Licensing Inc. Data imaging system and methods
US8201163B2 (en) * 2008-07-16 2012-06-12 Dell Products, Lp Input/output transaction management during platform initiation
US8458449B2 (en) 2011-01-27 2013-06-04 Hewlett-Packard Development Company, L.P. Component drivers for a component of a device
JP6557594B2 (ja) * 2015-12-24 2019-08-07 キヤノン株式会社 インストールを制御するプログラム、情報処理装置およびデバイスドライバーのインストール方法
US11223537B1 (en) 2016-08-17 2022-01-11 Veritas Technologies Llc Executing custom scripts from the host during disaster recovery
CN109298890A (zh) * 2017-07-25 2019-02-01 西安中兴新软件有限责任公司 一种配置ndis设备的方法及装置
CN111221686B (zh) * 2018-11-27 2023-08-25 维谛技术有限公司 一种使linux设备支持串口命令行的方法
CN109542372B (zh) * 2018-12-05 2023-04-07 珠海奔图电子有限公司 图标显示控制方法、图标显示控制装置及电子设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4974151A (en) * 1985-02-21 1990-11-27 International Business Machines Corporation Configuration capability for devices in an open system having the capability of adding or changing devices by user commands
US5723282A (en) 1991-07-08 1998-03-03 The American National Red Cross Method of preparing organs for vitrification
US5319751A (en) 1991-12-27 1994-06-07 Intel Corporation Device driver configuration in a computer system
US5715463A (en) * 1992-03-31 1998-02-03 International Business Machines Corporation Installation utility for device drivers and utility programs
EP0584909A1 (en) 1992-08-26 1994-03-02 Sun Microsystems, Inc. Self configuring device system
US5664195A (en) * 1993-04-07 1997-09-02 Sequoia Systems, Inc. Method and apparatus for dynamic installation of a driver on a computer system
US5748980A (en) * 1994-05-27 1998-05-05 Microsoft Corporation System for configuring a computer system
US5548759A (en) * 1994-07-05 1996-08-20 Microsoft Corporation System for storing executable code within a resource data section of an executable file
US5668992A (en) * 1994-08-01 1997-09-16 International Business Machines Corporation Self-configuring computer system
US5752032A (en) 1995-11-21 1998-05-12 Diamond Multimedia Systems, Inc. Adaptive device driver using controller hardware sub-element identifier
US5870610A (en) * 1996-06-28 1999-02-09 Siemens Business Communication Systems, Inc. Autoconfigurable method and system having automated downloading
US5826090A (en) * 1997-03-17 1998-10-20 International Business Machines Corporation Loadable hardware support

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100757229B1 (ko) * 2005-12-05 2007-09-10 한국전자통신연구원 리눅스 시스템상에서 usb 디바이스 드라이버 개발을지원하는 운영체제 자원 진단 장치 및 방법

Also Published As

Publication number Publication date
CN1326569A (zh) 2001-12-12
ATE433161T1 (de) 2009-06-15
ZA200103676B (en) 2002-05-07
AU1457600A (en) 2000-05-22
EP1133738A1 (en) 2001-09-19
JP2002529816A (ja) 2002-09-10
CN1257465C (zh) 2006-05-24
DE69940955D1 (de) 2009-07-16
HK1042348A1 (zh) 2002-08-09
IL142851A0 (en) 2002-03-10
CA2348442A1 (en) 2000-05-11
EP1133738B1 (en) 2009-06-03
IL142851A (en) 2006-08-01
BR9914942A (pt) 2002-01-15
US6567860B1 (en) 2003-05-20
AU765542B2 (en) 2003-09-18
EP1133738A4 (en) 2004-05-19
WO2000026805A1 (en) 2000-05-11

Similar Documents

Publication Publication Date Title
EP1133738B1 (en) Method and apparatus for new device driver installation by an operating system
US6301710B1 (en) System and method for creating a substitute registry when automatically installing an update program
US6550061B1 (en) System and method for modifying configuration files in a secured operating system
US6026438A (en) Dynamic workstation configuration processor
US6408434B1 (en) System and method for using a substitute directory to automatically install an update program
US8533304B2 (en) Remotely deploying and automatically customizing workstation images
US8261253B2 (en) Method for restoring software applications on desktop computers
US9032394B1 (en) Deploying drivers for an operating system on a computing device
JPH11213038A (ja) コンピュータシステムの互換性のある注文の生成
KR20000028603A (ko) 액티브 데스크탑용 공장설치 데스크탑 구성품
KR20000070089A (ko) 소프트웨어 갱신 매니저
US7480793B1 (en) Dynamically configuring the environment of a recovery OS from an installed OS
US6269377B1 (en) System and method for managing locations of software components via a source list
US20070055973A1 (en) Text based markup language resource interface
Anderson et al. Large Scale Linux Configuration with {LCFG}
Fox Red Hat Enterprise Linux Administration Unleashed
JP2000311129A (ja) 周辺装置管理システム
Rhodes et al. Automating Windows Deployment with Lite Touch
Guide MATLAB® & Simulink®
Thakker et al. Preparing the Identity Management Database
Dulaney Linux Starter Kit
Duran et al. Operating Systems Administration
Panek Microsoft Windows 7 Administration Instant Reference
Sobell A Practical Guide to Fedora and Red Hat Enterprise Linux
Allison et al. Oracle Database Oracle Clusterware and Oracle Real Application Clusters Installation Guide, 10g Release 2 (10.2) for AIX B14201-03

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application