KR100959560B1 - 저장매체를 통한 드라이버 설치시스템 및 설치방법 - Google Patents

저장매체를 통한 드라이버 설치시스템 및 설치방법 Download PDF

Info

Publication number
KR100959560B1
KR100959560B1 KR1020080013094A KR20080013094A KR100959560B1 KR 100959560 B1 KR100959560 B1 KR 100959560B1 KR 1020080013094 A KR1020080013094 A KR 1020080013094A KR 20080013094 A KR20080013094 A KR 20080013094A KR 100959560 B1 KR100959560 B1 KR 100959560B1
Authority
KR
South Korea
Prior art keywords
driver
hardware
information
file
optimized
Prior art date
Application number
KR1020080013094A
Other languages
English (en)
Other versions
KR20090087691A (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 (주)비엑스엠
Priority to KR1020080013094A priority Critical patent/KR100959560B1/ko
Publication of KR20090087691A publication Critical patent/KR20090087691A/ko
Application granted granted Critical
Publication of KR100959560B1 publication Critical patent/KR100959560B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 하드웨어 장치에 최적화된 드라이버를 제공하기 위하여 정형화된 방식으로 드라이버 정보를 관리하고 이 정보를 바탕으로 하드웨어 장치에 맞는 드라이버를 검색, 설치 및 업그레이드 되도록 하는 저장매체를 통한 드라이버 설치시스템 및 설치방법에 관한 것으로, 하드웨어 장치가 연결되는 사용자 단말기 및 상기 사용자 단말기에 연결된 상기 하드웨어 장치가 동작하도록 드라이버 파일을 제공하는 저장매체로 구성된다.
본 발명에 따르면, 시스템 성능이 최대로 발휘되도록 특정 버전의 최적화된 드라이버를 검색하고 설치하기 위하여 드라이버 정보를 정형화해서 관리하고, 한 개의 하드웨어 아이디 또는 복수의 하드웨어 아이디 조합에 의하여 최적화 드라이버를 우선적으로 검색되도록 하여 시스템에 특정 버전의 드라이버가 설치되도록 하는 저장매체를 통한 드라이버 설치시스템 및 설치방법을 제공할 수 있다.
저장매체, 드라이버, 최적화, 하드웨어 아이디

Description

저장매체를 통한 드라이버 설치시스템 및 설치방법{System for Installing Driver and Method thereof}
본 발명은 저장매체를 통한 드라이버 설치시스템 및 설치방법에 관한 것으로, 상세하게는 하드웨어 장치에 최적화된 드라이버를 제공하기 위하여 정형화된 방식으로 드라이버 정보를 관리하고 이 정보를 바탕으로 하드웨어 장치에 맞는 드라이버를 검색, 설치 및 업그레이드 되도록 하는 저장매체를 통한 드라이버 설치시스템 및 설치방법에 관한 것이다.
디바이스 드라이버(Device Driver; 이하 '드라이버'라 칭함)는 특정 주변기기를 사용하기 위하여 운영체제나 응용프로그램에서 사용하는 기기 구동기를 말하는 것으로 해당 주변기기를 작동시키기 위한 소프트웨어이다. 이러한, 드라이버는 각 주변기기를 제작하여 공급하는 제작사에서 제작되어 주변기기와 함께 제공되는 것이 일반적이다.
컴퓨터(PC, 노트북 등)가 발전함에 따라 컴퓨터에 연결되어 사용되는 키보드, 디스크 드라이브, 프린터, 카메라, 그래픽카드, 사운드카드 등의 주변기기의 타입 및 종류가 상당히 복잡해지고 다양화되고 있다. 그리고, 컴퓨터에 연결된 주 변기기를 구동하기 위한 드라이버는 컴퓨터를 제어하는 운영체제별로 분류되기 때문에 자신의 컴퓨터에 맞는 드라이버를 컴퓨터와 함께 필수적으로 준비하여야 한다.
그래서, 컴퓨터에 새로운 주변기기가 부가될 때 컴퓨터의 메모리에 보충적인 드라이버가 존재하도록 하여 컴퓨터가 실행 중 주변기기가 컴퓨터 및 오퍼레이팅 시스템과 함께 동작하는 것을 가능하도록 하여야 한다.
따라서, 컴퓨터에 드라이버를 설치하여야 하는데, 주변기기의 타입 및 종류가 복잡해지고 다양해짐에 따라, 그에 대한 드라이버 설치 방법 또한 복잡해져 있다.
그리고, 하드웨어에 지식이 없는 일반 사용자는 현재 시스템에 맞는 드라이버를 설치하기 힘들뿐만 아니라 시스템 판매업체에서 권장하는 최적의 드라이버를 찾아 설치하는 것이 어렵다는 문제점이 있다.
상술한 문제점을 해결하기 위한 본 발명의 목적은, 시스템 성능이 최대로 발휘되도록 특정 버전의 최적화된 드라이버를 검색하고 설치하기 위하여 드라이버 정보를 정형화해서 관리하고, 한 개의 하드웨어 아이디 또는 복수의 하드웨어 아이디 조합에 의하여 최적화 드라이버를 우선적으로 검색되도록 하여 시스템에 특정 버전의 드라이버가 설치되도록 하는 저장매체를 통한 드라이버 설치시스템 및 설치방법을 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명의 저장매체를 통한 드라이버 설치시스템은 하드웨어 장치가 연결되는 사용자 단말기 및 상기 사용자 단말기에 연결된 상기 하드웨어 장치가 동작하도록 드라이버 파일을 제공하는 저장매체를 포함하고, 상기 저장매체는, 상기 사용자 단말기에 설치될 상기 하드웨어 장치의 드라이버 파일, 드라이버 파일 패키지 정보와 최적화 드라이버 정보가 저장된 드라이버 정보파일, 드라이버 설치 외에 제공되는 정보인 기타 컨텐츠 및 상기 하드웨어 장치의 하드웨어 아이디를 추출하고, 상기 최적화 드라이버 정보 중의 포함 하드웨어 아이디가 모두 상기 추출된 하드웨어 아이디에 포함되는 드라이버를 상기 최적화 드라이버 정보에서 하드웨어 타입별로 검색하여 선택하되, 하나의 하드웨어 타입에서 복수의 드라이버가 검색되면 가장 최근에 추가된 드라이버를 선택하고, 선택된 드라이버의 포함 하드웨어 아이디를 상기 추출된 하드웨어 아이디 중에서 제거하는 최적화 드라이버 검색 과정을 수행하고, 상기 드라이버 파일 패키지 정보 중의 지원 하드웨어 아이디가 상기 최적화 드라이버 검색 과정에서 제거되고 남은 하드웨어 아이디를 적어도 하나 이상 포함하는 드라이버를 상기 드라이버 파일 패키지 정보에서 하드웨어 타입별로 검색하여 선택하되, 하나의 하드웨어 타입에서 복수의 드라이버가 검색되면 가장 최신 버전의 드라이버를 선택하는 최신 드라이버 검색 과정을 수행하고, 상기 최적화 드라이버 검색 과정 및 상기 최신 드라이버 검색 과정에서 선택된 드라이버의 정보를 포함하는 드라이버 정보리스트를 생성하고, 상기 드라이버 파일을 이용하여 상기 사용자 단말기에 상기 최적화 드라이버 검색 과정 및 상기 최신 드라이버 검색 과정에서 선택된 드라이버를 설치하고, 상기 기타 컨텐츠를 사용자 단말기로 제공하는 드라이버 설치 프로그램를 포함하고, 상기 최적화 드라이버 정보는, 포함 하드웨어 아이디 및 상기 포함 하드웨어 아이디를 갖는 하드웨어 장치를 최적화시키며 최신 버전의 드라이버보다 낮은 버전을 갖는 드라이버의 이름, 버전, 등록날짜, 지원 운영체제, 드라이버 파일 경로 및 지원 하드웨어 타입을 포함하고, 상기 드라이버 파일 패키지 정보는, 드라이버의 이름, 버전, 등록날짜, 지원 운영체제, 드라이버 파일 경로, 지원 하드웨어 타입 및 각 드라이버가 지원하는 모든 지원 하드웨어 아이디를 포함한다.
또한, 본 발명은 드라이버 설치 프로그램을 실행시키고, 드라이버를 검색하기 위해 사용자 단말기에 연결된 하드웨어 장치의 하드웨어 아이디를 추출하는 아이디 추출단계, 저장매체의 드라이버 정보파일에 포함된 최적화 드라이버 정보 중의 포함 하드웨어 아이디가 모두 상기 추출된 하드웨어 아이디에 포함되는 드라이버를 상기 최적화 드라이버 정보에서 하드웨어 타입별로 검색하여 선택하되, 하나의 하드웨어 타입에서 복수의 드라이버가 검색되면 가장 최근에 추가된 드라이버를 선택하고, 선택된 드라이버의 포함 하드웨어 아이디를 상기 추출된 하드웨어 아이디 중에서 제거하는 최적화 드라이버 검색 단계, 저장매체의 드라이버 정보파일에 포함된 드라이버 파일 패키지 정보 중의 지원 하드웨어 아이디가 상기 최적화 드라이버 검색 과정에서 제거되고 남은 하드웨어 아이디를 적어도 하나 이상 포함하는 드라이버를 상기 드라이버 파일 패키지 정보에서 하드웨어 타입별로 검색하여 선택하되, 하나의 하드웨어 타입에서 복수의 드라이버가 검색되면 가장 최신 버전의 드라이버를 선택하는 최신 드라이버 검색 단계 및 상기 최적화 드라이버 검색 단계 및 상기 최신 드라이버 검색 단계에서 선택된 드라이버의 정보를 포함하는 드라이버 정보리스트를 생성하고, 드라이버 파일을 이용하여 상기 사용자 단말기에 상기 최적화 드라이버 검색 단계 및 상기 최신 드라이버 검색 단계에서 선택된 드라이버를 설치하고, 드라이버 설치 외에 제공되는 정보인 기타 컨텐츠를 사용자 단말기로 제공하는 설치 단계를 포함하고, 상기 최적화 드라이버 정보는, 포함 하드웨어 아이디 및 상기 포함 하드웨어 아이디를 갖는 하드웨어 장치를 최적화시키는 최신 버전의 드라이버보다 낮은 버전을 갖는 드라이버의 이름, 버전, 등록날짜, 지원 운영체제, 드라이버 파일 경로 및 지원 하드웨어 타입을 포함하고, 상기 드라이버 파일 패키지 정보는, 드라이버의 이름, 버전, 등록날짜, 지원 운영체제, 드라이버 파일 경로, 지원 하드웨어 타입 및 각 드라이버가 지원하는 모든 지원 하드웨어 아이디를 포함한다.
또한, 상기 최적화 드라이버 검색단계에서는, 상기 드라이버 정보파일을 통신망으로 연결된 드라이버 업그레이드 서버에서 다운로드 받고, 상기 하드웨어 아이디와 다운로드 받은 상기 드라이버 정보파일을 비교하여 특정 버전의 최적 드라이버를 상기 드라이버 업그레이드 서버로부터 다운로드 받는 것을 특징으로 한다.
삭제
삭제
삭제
상술한 바와 같이 본 발명에 따르면, 시스템 성능이 최대로 발휘되도록 특정 버전의 최적화된 드라이버를 검색하고 설치하기 위하여 드라이버 정보를 정형화해서 관리하고, 한 개의 하드웨어 아이디 또는 복수의 하드웨어 아이디 조합에 의하 여 최적화 드라이버를 우선적으로 검색되도록 하여 시스템에 특정 버전의 드라이버가 설치되도록 하는 저장매체를 통한 드라이버 설치시스템 및 설치방법을 제공할 수 있다.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 바람직한 실시예를 첨부함 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 저장매체를 통한 드라이버 설치시스템을 나타낸 블록도이다.
본 발명의 일실시예에 따른 저장매체를 통한 드라이버 설치시스템은, 도 1에 나타낸 바와 같이, 하드웨어 장치(미도시)가 연결되는 사용자 단말기(300) 및 사용자 단말기(300)에 연결된 하드웨어 장치가 동작하도록 드라이버 파일을 제공하는 저장매체(100)로 구성된다.
일반적으로 사용자 단말기(300)에 연결되는 각각의 하드웨어 장치(미도시)는 사용자 단말기(300)에서 하드웨어 장치를 인식할 수 있도록 고유의 하드웨어 아이디(Hardware ID)가 부여되어 있다. 그래서, 사용자 단말기(300)는 하드웨어 아이디에 의해 하드웨어 장치의 종류를 구별할 수 있게 된다.
한편, 본 발명에 이용되는 하드웨어 장치는 프린터, 복사기, 팩스, 스캐너, 복합기, 디지털 카메라, MP3, 휴대폰 등 사용자 단말기(300)에 유/무선 인터페이스를 통해 연결되는 다양한 주변기기뿐만 아니라, 사용자 단말기(300)의 CPU가 장착 된 메인보드에 슬롯으로 연결되는 사운드카드, 그래픽카드, 모뎀, 랜카드 등일 수 있다.
여기서, 사운드카드, 그래픽카드, 랜카드 등은 메인보드에 내장되어 구성되는 온 보드(On Board) 형태로 될 수도 있다.
따라서, 드라이버는 이러한 하드웨어 장치가 작동하도록 사용자 단말기(300)에 설치되는 것이다.
도 2는 본 발명의 일실시예에 따른 저장매체를 나타낸 블록도, 도 3은 본 발명의 일실시예에 따른 드라이버 정보 DB의 논리적 구조를 나타낸 예시도, 도 4는 본 발명의 일실시예에 따른 최적화 드라이버 정보 DB의 논리적 구조를 나타낸 예시도이다.
저장매체(100)는 드라이버 파일을 제공하기 위해 응용프로그램이나 하드웨어 장치의 제조사 또는 판매원 등에서 드라이버 파일을 CD, DVD, USB 메모리 등에 저장한 것으로, 드라이버 설치 프로그램(110), 드라이버 정보파일(120), 드라이버 파일(130) 및 기타 컨텐츠(140)로 구성된다.
드라이버 정보파일(120)은 사용자 단말기(300)에 설치될 특정 버전의 최적 드라이버를 검색하는데 활용되는 드라이버 파일 패키지 정보와 최적화 드라이버 정보가 저장된다.
여기서, 저장매체(100)에 포함된 드라이버 정보파일(120)은 드라이버 업데이트 서버(200)에서 생성된 드라이버 정보파일(미도시)를 저장시킨 것이며, 드라이버 업데이트 서버(200)는 통신망을 통하여 사용자 단말기(300)에 드라이버 파일을 제 공할 수 있다.
즉, 드라이버 업데이트 서버(200)는 사용자 단말기(300)에 설치할 드라이버를 검색하는데 활용되는 드라이버 파일 패키지가 저장되는 드라이버 정보 데이터베이스(DB; 미도시) 및 특정 버전의 드라이버가 최적 드라이버일 경우 상기 사용자 단말기에 특정 버전의 최적 드라이버를 제공하기 위한 최적화 드라이버 정보 DB(미도시)가 포함된다.
드라이버 정보 DB의 논리적 구조는, 도 3에 나타낸 바와 같이, 드라이버 이름, 드라이버 버전, 등록날짜, 지원 운영체제(Operating System; OS) 타입, 드라이버 파일 경로, 지원 하드웨어 장치 타입 및 하드웨어 아이디 등으로 구성된다.
아울러, 드라이버 정보 DB에서 저장되는 정보의 저장 예는 표 1에 나타낸 바와 같다.
드라이버명 버전 등록일 지원 OS H/W 타입 파일 경로 지원 H/W ID 군
드라이버1 1.0.0.1 20071212 XP,VISTA VIDEO VEN_1104&DEV_0001
VEN_1104&DEV_0002
VEN_1104&DEV_0003
표 1에 나타낸 바와 같이, 드라이버 파일 패키지가 지원하는 모든 하드웨어 아이디를 DB화하여 하나의 드라이버 패키지 파일로 여러 하드웨어 검색에 활용될 수 있도록 구성한다.
여기서, 드라이버 정보 DB화 과정에서 생성된 드라이버 정보만으로 하드웨어 장치에 대한 드라이버를 검색하는 경우 버전이 높은 드라이버 또는 최신 버전의 드라이버만 검색될 수 있다.
한편, 일반적으로 최신 드라이버가 최적 드라이버일 가능성은 매우 높으나 특정 하드웨어 장치에 따라서는 최신의 드라이버가 아닌 버전이 낮은 특정 버전의 드라이버를 설치해야 사용자 단말기(300)의 성능이 최적의 성능을 발휘하는 경우가 존재한다.
뿐만 아니라 하나의 드라이버 파일 패키지가 하나의 하드웨어 장치를 지원하는 것이 아니라 여러 타입의 하드웨어 장치를 지원하므로 구성된 하드웨어 아이디 조합에 따라 다른 드라이버를 적용해야 하는 경우도 발생한다.
이런 경우를 대처하기 위해 하드웨어 아이디 조합에 따른 최적화 드라이버 정보를 지정하여 드라이버를 검색할 때 우선적으로 검색에 반영할 수 있도록 한다.
이와 같이 최신 드라이버가 최적 드라이버가 아닌 특정 버전의 드라이버가 최적 드라이버일 경우 또는 하드웨어 아이디 조합에 따라 특정 버전의 드라이버가 최적 드라이버일 경우 하드웨어 장치에 최적 드라이버를 제공하기 위해 최적화 드라이버 정보 DB(120)를 구축한다.
최적화 드라이버 정보 DB의 논리적 구조는, 도 4에 나타낸 바와 같이, 한 개 이상의 하드웨어 아이디, 등록일, 지원 OS 및 드라이버 정보를 DB화 할 때 생성된 드라이버 정보의 기본 키(Primary Key)를 포함한다.
아울러, 최적화 드라이버 정보 DB에 저장되는 최적화 드라이버 정보의 저장 예는 표 2에 나타낸 바와 같다.
드라이버정보 버전 등록일 지원 OS 포함 H/W ID 군
드라이버정보FK 1.0.0.1 20071212 XP,VISTA VEN_1104&DEV_0001
VEN_1104&DEV_0002
VEN_1104&DEV_0003
표 2에 나타낸 바와 같이, 최적화 드라이버 정보가 DB화 되어 특정 하드웨어에 대한 최적화 드라이버 검색 시 사용될 수 있도록 구성한다.
그리고, 드라이버 정보 DB와 최적화 드라이버 정보 DB를 이용하여 드라이버 업그레이드 서버(200)에서 드라이버 정보파일을 생성한다.
드라이버 정보파일은 드라이버 정보 DB화 및 최적화 드라이버 정보 DB화 과정에서 생성된 XML(Extensible Markup Language)파일, 윈도우(Windows)에서 활용되는 INI(INItialization)파일, 일반 텍스트(Text) 파일, DB(Data Base) 파일 등을 이용하여 파일화된다.
그리고, 드라이버 정보파일에 포함되는 내용은 드라이버 이름, 버전, 등록날짜, 지원 OS, 지원 하드웨어 장치 타입, 하드웨어 아이디 및 드라이버 파일 위치 등으로 구성된다.
이렇게 파일화 된 드라이버 정보는 저장매체(100)에 저장되어 저장매체(100)를 통한 드라이버 설치 및 업그레이드에 사용되는 것이다.
그런데, 저장매체(100)의 저장 용량의 한계로 저장매체(100)에 저장시킬 수 있는 드라이버 정보파일(120)은 제한적일 수밖에 없다.
따라서, 드라이버 업그레이드 서버(200)에서 생성된 드라이버 정보파일 중 설치가능한 일부 드라이버 정보파일만 저장매체(100)에 저장되어 드라이버 검색, 설치 및 업그레이드 시 활용되는 것이다.
드라이버 파일(130)은 사용자 단말기(300)에 실재적으로 설치될 하드웨어 장치의 드라이버 파일이며, 드라이버 설치 프로그램(110)에 의해 사용자 단말기(300)에 설치되게 된다.
드라이버 설치 프로그램(110)은 하드웨어 장치의 아이디를 추출하여, 드라이버 정보파일(120) 및 드라이버 파일(130)을 이용하여 사용자 단말기(300)에 특정 버전의 최적 드라이버를 설치한다.
그리고, 기타 컨텐츠(140)는 도움말 등의 사용자매뉴얼 형태의 컨텐츠이며 드라이버 설치 또는 업그레이드 외에 사용자에게 제공해야할 유틸리티 소프트웨어 및 기타 유용한 정보를 제공한다.
도 5는 본 발명의 일실시예에 따른 저장매체를 통한 드라이버 설치방법을 나타낸 플로우차트이다.
본 발명의 일실시예에 따른 저장매체를 통하여 드라이버를 설치하기 위해서는, 드라이버 설치프로그램(110), 드라이버 정보파일(120), 드라이버 파일(130) 및 기타 컨텐츠(140)를 CD, DVD, USB 메모리 등의 저장매체(100)에 저장되어져야 한다.
그리고, 저장매체(100)를 드라이버 설치 또는 드라이버 업그레이드가 필요한 사용자 단말기(100)에 삽입을 한다(단계 S110).
이어서, 사용자 단말기(300)에 최적화된 드라이버를 검색하기 위해 사용자 단말기(300)에 연결된 하드웨어 장치의 하드웨어 아이디를 추출한다(단계 S120).
하드웨어 아이디 추출은 DDK(Device Driver Kit) 관련 함수, 레지스트리 관련 함수 또는 WMI 관련 함수 등을 이용하여 현재 사용자 단말기(300)에 연결된 하드웨어 장치의 하드웨어 아이디 및 드라이버 정보를 추출하게 된다.
즉, 드라이버를 설치하려고 사용자 단말기(300)에 저장매체(100)를 삽입하고, 사용자 단말기(300)에 최적화된 드라이버를 검색하고 설치하기 위해 드라이버 설치 프로그램(110)을 이용한다. 이 드라이버 설치 프로그램(110)은 사용자 단말기(300)에 연결된 하드웨어 장치의 하드웨어 아이디를 추출한다. 그리고, 추출된 하드웨어 아이디는 저장매체(100)에 저장된 드라이버 정보파일(120)과 비교하여 최적 드라이버 검색을 수행하게 된다(단계 S130).
도 6과 도 7은 본 발명의 일실시예에 따른 최적화 드라이버를 검색하는 과정을 나타낸 예시도, 도 8은 본 발명의 일실시예에 따른 최적화 드라이버 정보리스트를 나타낸 예시도, 도 9와 도 10은 본 발명의 일실시예에 따른 최신 드라이버를 검색하는 과정을 나타낸 예시도, 도 11는 본 발명의 일실시예에 따른 최신 드라이버 정보리스트를 나타낸 예시도이다.
도 6 내지 도 11에 나타낸 바와 같이, 드라이버 정보파일(120)과 사용자 단말기(300)에 연결된 하드웨어 장치에서 추출된 하드웨어 아이디를 이용하여 사용자 단말기(300)에 설치되는 최적 드라이버를 검색하는 과정으로, 최적화 드라이버 검색 과정과 최신 드라이버 검색 과정을 거치게 된다. 그리고, 드라이버 검색 과정이 모두 수행되면 그 산출물로 드라이버 정보리스트를 생성하게 된다.
드라이버 정보리스트는 사용자 단말기(300)에 설치할 드라이버 정보리스트이며 드라이버 설치시 이 리스트 정보를 활용하게 된다.
먼저, 드라이버 정보파일(120)과 하드웨어 장치에서 추출된 하드웨어 아이디를 비교하여 사용자 단말기(300)에 최적화된 최적화 드라이버를 검색한다.
최적화 드라이버 검색을 위해서 최적화 드라이버 정보를 우선적으로 검색에 반영한다.
따라서, 도 6과 도 7에 나타낸 바와 같이, 드라이버 정보파일(120)에 포함된 정보 중에서 최적화 드라이버 정보 DB를 이용하여 생성된 '최적화 드라이버 정보'와 하드웨어 아이디 추출 과정에서 추출된 '검색할 현재 하드웨어 아이디'를 비교하여 최적화 드라이버를 검색하는 것이다.
먼저, 도 6에 나타낸 바와 같이, '최적화 드라이버 정보'의 [포함 하드웨어(H/W) 아이디]가 모두 하드웨어 아이디 추출 과정에서 추출된 '검색할 현재 하드웨어 아이디'에 포함되는 최적화 드라이버를 하드웨어 타입별로 검색한다.
이때, 하나의 하드웨어 타입에서 여러 개의 최적화 드라이버가 검색되면 최근 추가한 최적화 드라이버를 선택한다. 그리고, 선택된 최적화 드라이버의 [포함 하드웨어 아이디]를 '검색할 현재 하드웨어 아이디'에서 제거한다.
그리고,도 7에 나타낸 바와 같이, 최적화 드라이버 정보의 [포함 하드웨어 아이디]가 모두 '검색할 현재 하드웨어 아이디'에 포함되는 최적 드라이버 정보를 하드웨어 타입별로 검색한다.
이때, 하나의 타입에서 여러 개의 최적드라이버 정보가 검색되면 최근 추가한 드라이버를 선택한다. 그리고, 선택된 최적화 드라이버의 [포함 하드웨어 아이디]를 '검색할 현재 하드웨어 아이디'에서 제거하는 과정을 반복한다.
아울러, 검색되는 신규 하드웨어 장치 타입 최적 드라이버가 존재하지 않으면 최적화 드라이버 검색을 중지한다.
즉, 도 6과 도 7에 나타낸 바와 같이, '검색할 현재 하드웨어 아이디'가 구성되고, '최적화 드라이버 정보'가 구성되어 있을 경우 [메인보드 하드웨어 타입]과 [비디오 하드웨어 타입] 최적화 드라이버 검색을 수행하면 [하드웨어 아이디 1(H/W ID 1)], [하드웨어 아이디 2(H/W ID 2)] 및 [하드웨어 아이디 4(H/W ID 4)]가 선택에 의해 각각 메인보드 최적화 드라이버, 비디오 타입 최적화 드라이버 검색 과정을 수행하는 것이다.
그리고, 도 8에 나타낸 바와 같이, '검색할 현재 하드웨어 아이디'가 남게 되며, 검색된 드라이버 정보를 포함하는 드라이버 정보리스트가 생성된다.
여기서, 생성된 드라이버 정보리스트는 최적화 드라이버 정보리스트이며, 이어서 최신 드라이버 검색을 한다.
최신 드라이버 검색은, 도 9와 도 10에 나타낸 바와 같이, 드라이버 정보 DB를 이용하여 생성된 드라이버 정보와 최적화 드라이버 검색 과정에서 제외되고 남은 '검색할 현재 하드웨어 아이디'를 비교하여 최신 드라이버를 검색하는 것이다.
먼저, 도 9에 나타낸 바와 같이, '검색할 현재 하드웨어 아이디'를 하나 이상 포함하고 있는 '드라이버 정보'를 타입별로 검색한다.
이때, 하나의 [하드웨어 타입]에서 여러 개의 드라이버가 검색되면 그 중 제일 최신 버전의 드라이버를 선택한다. 그리고, 선택된 최신 드라이버의 [지원 하드웨어 아이디]를 '검색할 현재 하드웨어 아이디'에서 제거한다.
이어서, 도 10에 나타낸 바와 같이, 다른 하드웨어 타입으로 '검색할 현재 하드웨어 아이디'를 하나 이상 포함하고 있는 '드라이버 정보'를 [하드웨어 타입] 별로 검색한다.
이때, 하나의 [하드웨어 타입]에서 여러 개의 드라이버가 검색되면 그 중 제일 최신 버전의 드라이버를 선택한다. 그리고, 선택된 최신 드라이버의 [지원 하드웨어 아이디]를 '검색할 현재 하드웨어 아이디'에서 제거하는 과정을 반복한다.
아울러, 검색되는 신규 하드웨어 타입 드라이버가 존재하지 않으면 드라이버 검색을 중지한다.
즉, 도 9와 도 10에 나타낸 바와 같이, '검색할 현재 하드웨어 아이디'가 구성되고, '드라이버 정보'가 구성되어 있을 경우, 사운드 하드웨어 타입 검색 시 하드웨어 아이디 5(H/W ID 5), 하드웨어 아이디 6(H/W ID 6)에 의해 사운드 드라이버가 선택되고 다시 검색할 현재 하드웨어 아이디에서 하드웨어 아이디 5, 하드웨어 아이디 6이 제거된다.
HDMI 하드웨어 타입 드라이버는 '검색할 현재 하드웨어 아이디'에 하드웨어 아이디를 포함하고 있지 않아 검색되지 않게 된다.
그리고, 도 11에 나타낸 바와 같이, '검색할 현재 하드웨어 아이디'가 남게 되며, 검색된 드라이버 정보를 포함하는 드라이버 정보리스트가 생성된다.
이어서, 최적 드라이버 검색 과정에서 생성된 드라이버 정보리스트를 이용하여 특정 버전의 최적 드라이버 파일을 사용자 단말기(300)에 설치한다(단계 S140).
따라서, 드라이버 정보리스트에 포함된 경로 데이터에 따라 드라이버 파일이 설치되는 위치가 결정되며, 이 위치는 저장매체의 경로, 네트워크상의 파일 경로, 인터넷상의 파일 URL 등이 될 수 있다.
한편, 사용자 단말기(300)가 통신망에 접속되어 있을 경우 드라이버 설치프로그램(110)에 온라인 기능을 추가하고, 드라이버 업그레이드 서버(200)를 활용하여 드라이버를 설치할 수도 있다.
도 12는 본 발명의 일실시예에 따른 저장매체와 온라인을 통한 드라이버 설치방법을 나타낸 플로우차트이다.
즉, 도 12에 나타낸 바와 같이, 드라이버를 설치 또는 업그레이드하기 위해 저장매체(100)를 사용자 단말기(300)에 삽입한다(단계 S210). 그리고, 드라이버 설치프로그램(210)을 이용하여 하드웨어 아이디를 추출한다(단계 S220).
여기서, 사용자 단말기(300)가 통신망에 접속되어 온라인 상태이면(단계 S230), 저장매체(100)에 저장된 드라이버 정보파일(120) 대신에 드라이버 업그레이드 서버(200)를 통하여 드라이버 정보파일을 다운로드 한다(단계 S240).
왜냐하면, 저장매체(100)의 저장 용량의 한계로 저장매체(100)에 저장시킬 수 있는 드라이버 정보파일(120)은 제한적일 수밖에 없다.
따라서, 드라이버 업그레이드 서버(200)에서 생성된 드라이버 정보파일 중 설치가능한 일부 드라이버 정보파일만 저장매체(100)에 저장되었기 때문에 새로운 드라이버 파일 또는 새롭게 업그레이드된 드라이버 파일을 설치할 수가 없는 것이다.
이어서, 하드웨어 아이디와 다운로드 받은 드라이버 정보파일을 비교하여 특정 버전의 최적 드라이버를 검색하고(단계 S250), 검색된 최적 드라이버를 드라이버 업그레이드 서버(200)로부터 다운로드 받아 사용자 단말기(300)에 설치되도록 하는 것이다(단계 S260).
이상의 설명에서는 본 발명의 바람직한 실시예를 제시하여 설명하였으나, 본 발명이 반드시 이에 한정되는 것은 아니며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경할 수 있음을 쉽게 알 수 있을 것이다.
도 1은 본 발명의 일실시예에 따른 저장매체를 통한 드라이버 설치시스템을 나타낸 블록도,
도 2는 본 발명의 일실시예에 따른 저장매체를 나타낸 블록도,
도 3은 본 발명의 일실시예에 따른 드라이버 정보 DB의 논리적 구조를 나타낸 예시도,
도 4는 본 발명의 일실시예에 따른 최적화 드라이버 정보 DB의 논리적 구조를 나타낸 예시도,
도 5는 본 발명의 일실시예에 따른 저장매체를 통한 드라이버 설치방법을 나타낸 플로우차트,
도 6과 도 7은 본 발명의 일실시예에 따른 최적화 드라이버를 검색하는 과정을 나타낸 예시도,
도 8은 본 발명의 일실시예에 따른 최적화 드라이버 정보리스트를 나타낸 예시도,
도 9와 도 10은 본 발명의 일실시예에 따른 최신 드라이버를 검색하는 과정을 나타낸 예시도,
도 11는 본 발명의 일실시예에 따른 최신 드라이버 정보리스트를 나타낸 예시도,
도 12는 본 발명의 일실시예에 따른 저장매체와 온라인을 통한 드라이버 설치방법을 나타낸 플로우차트이다.

Claims (4)

  1. 하드웨어 장치가 연결되는 사용자 단말기; 및
    상기 사용자 단말기에 연결된 상기 하드웨어 장치가 동작하도록 드라이버 파일을 제공하는 저장매체; 를 포함하고,
    상기 저장매체는,
    상기 사용자 단말기에 설치될 상기 하드웨어 장치의 드라이버 파일;
    드라이버 파일 패키지 정보와 최적화 드라이버 정보가 저장된 드라이버 정보파일;
    드라이버 설치 외에 제공되는 정보인 기타 컨텐츠; 및
    상기 하드웨어 장치의 하드웨어 아이디를 추출하고, 상기 최적화 드라이버 정보 중의 포함 하드웨어 아이디가 모두 상기 추출된 하드웨어 아이디에 포함되는 드라이버를 상기 최적화 드라이버 정보에서 하드웨어 타입별로 검색하여 선택하되, 하나의 하드웨어 타입에서 복수의 드라이버가 검색되면 가장 최근에 추가된 드라이버를 선택하고, 선택된 드라이버의 포함 하드웨어 아이디를 상기 추출된 하드웨어 아이디 중에서 제거하는 최적화 드라이버 검색 과정을 수행하고,
    상기 드라이버 파일 패키지 정보 중의 지원 하드웨어 아이디가 상기 최적화 드라이버 검색 과정에서 제거되고 남은 하드웨어 아이디를 적어도 하나 이상 포함하는 드라이버를 상기 드라이버 파일 패키지 정보에서 하드웨어 타입별로 검색하여 선택하되, 하나의 하드웨어 타입에서 복수의 드라이버가 검색되면 가장 최신 버전의 드라이버를 선택하는 최신 드라이버 검색 과정을 수행하고,
    상기 최적화 드라이버 검색 과정 및 상기 최신 드라이버 검색 과정에서 선택된 드라이버의 정보를 포함하는 드라이버 정보리스트를 생성하고,
    상기 드라이버 파일을 이용하여 상기 사용자 단말기에 상기 최적화 드라이버 검색 과정 및 상기 최신 드라이버 검색 과정에서 선택된 드라이버를 설치하고,
    상기 기타 컨텐츠를 사용자 단말기로 제공하는 드라이버 설치 프로그램; 를 포함하고,
    상기 최적화 드라이버 정보는,
    포함 하드웨어 아이디 및 상기 포함 하드웨어 아이디를 갖는 하드웨어 장치를 최적화시키며 최신 버전의 드라이버보다 낮은 버전을 갖는 드라이버의 이름, 버전, 등록날짜, 지원 운영체제, 드라이버 파일 경로 및 지원 하드웨어 타입을 포함하고,
    상기 드라이버 파일 패키지 정보는,
    드라이버의 이름, 버전, 등록날짜, 지원 운영체제, 드라이버 파일 경로, 지원 하드웨어 타입 및 각 드라이버가 지원하는 모든 지원 하드웨어 아이디를 포함하는 저장매체를 통한 드라이버 설치시스템.
  2. 삭제
  3. 드라이버 설치 프로그램을 실행시키고, 드라이버를 검색하기 위해 사용자 단말기에 연결된 하드웨어 장치의 하드웨어 아이디를 추출하는 아이디 추출단계;
    저장매체의 드라이버 정보파일에 포함된 최적화 드라이버 정보 중의 포함 하드웨어 아이디가 모두 상기 추출된 하드웨어 아이디에 포함되는 드라이버를 상기 최적화 드라이버 정보에서 하드웨어 타입별로 검색하여 선택하되, 하나의 하드웨어 타입에서 복수의 드라이버가 검색되면 가장 최근에 추가된 드라이버를 선택하고, 선택된 드라이버의 포함 하드웨어 아이디를 상기 추출된 하드웨어 아이디 중에서 제거하는 최적화 드라이버 검색 단계;
    저장매체의 드라이버 정보파일에 포함된 드라이버 파일 패키지 정보 중의 지원 하드웨어 아이디가 상기 최적화 드라이버 검색 과정에서 제거되고 남은 하드웨어 아이디를 적어도 하나 이상 포함하는 드라이버를 상기 드라이버 파일 패키지 정보에서 하드웨어 타입별로 검색하여 선택하되, 하나의 하드웨어 타입에서 복수의 드라이버가 검색되면 가장 최신 버전의 드라이버를 선택하는 최신 드라이버 검색 단계; 및
    상기 최적화 드라이버 검색 단계 및 상기 최신 드라이버 검색 단계에서 선택된 드라이버의 정보를 포함하는 드라이버 정보리스트를 생성하고, 드라이버 파일을 이용하여 상기 사용자 단말기에 상기 최적화 드라이버 검색 단계 및 상기 최신 드라이버 검색 단계에서 선택된 드라이버를 설치하고, 드라이버 설치 외에 제공되는 정보인 기타 컨텐츠를 사용자 단말기로 제공하는 설치 단계; 를 포함하고,
    상기 최적화 드라이버 정보는,
    포함 하드웨어 아이디 및 상기 포함 하드웨어 아이디를 갖는 하드웨어 장치를 최적화시키는 최신 버전의 드라이버보다 낮은 버전을 갖는 드라이버의 이름, 버전, 등록날짜, 지원 운영체제, 드라이버 파일 경로 및 지원 하드웨어 타입을 포함하고,
    상기 드라이버 파일 패키지 정보는,
    드라이버의 이름, 버전, 등록날짜, 지원 운영체제, 드라이버 파일 경로, 지원 하드웨어 타입 및 각 드라이버가 지원하는 모든 지원 하드웨어 아이디를 포함하는 저장매체를 통한 드라이버 설치방법.
  4. 제3항에 있어서, 상기 최적화 드라이버 검색단계에서는,
    상기 드라이버 정보파일을 통신망으로 연결된 드라이버 업그레이드 서버에서 다운로드 받고, 상기 하드웨어 아이디와 다운로드 받은 상기 드라이버 정보파일을 비교하여 특정 버전의 최적 드라이버를 상기 드라이버 업그레이드 서버로부터 다운로드 받는 것을 특징으로 하는 저장매체를 통한 드라이버 설치방법.
KR1020080013094A 2008-02-13 2008-02-13 저장매체를 통한 드라이버 설치시스템 및 설치방법 KR100959560B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080013094A KR100959560B1 (ko) 2008-02-13 2008-02-13 저장매체를 통한 드라이버 설치시스템 및 설치방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080013094A KR100959560B1 (ko) 2008-02-13 2008-02-13 저장매체를 통한 드라이버 설치시스템 및 설치방법

Publications (2)

Publication Number Publication Date
KR20090087691A KR20090087691A (ko) 2009-08-18
KR100959560B1 true KR100959560B1 (ko) 2010-05-27

Family

ID=41206634

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080013094A KR100959560B1 (ko) 2008-02-13 2008-02-13 저장매체를 통한 드라이버 설치시스템 및 설치방법

Country Status (1)

Country Link
KR (1) KR100959560B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126256A (zh) * 2016-07-01 2016-11-16 武汉深之度科技有限公司 一种驱动管理方法、装置及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070100069A (ko) * 2006-04-06 2007-10-10 삼성전자주식회사 소프트웨어 설치를 위한 장치 및 방법
KR20080007993A (ko) * 2006-07-19 2008-01-23 브레인즈스퀘어(주) 네트워크를 이용한 장치드라이버파일관리시스템 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070100069A (ko) * 2006-04-06 2007-10-10 삼성전자주식회사 소프트웨어 설치를 위한 장치 및 방법
KR20080007993A (ko) * 2006-07-19 2008-01-23 브레인즈스퀘어(주) 네트워크를 이용한 장치드라이버파일관리시스템 및 그 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126256A (zh) * 2016-07-01 2016-11-16 武汉深之度科技有限公司 一种驱动管理方法、装置及系统

Also Published As

Publication number Publication date
KR20090087691A (ko) 2009-08-18

Similar Documents

Publication Publication Date Title
US7797525B2 (en) Operating system installation
KR101119320B1 (ko) 이동저장 장치의 펌웨어 업데이트 장치 및 방법
US8584115B2 (en) Automated operating system device driver updating system
US10055415B2 (en) Methods and systems for deploying hardware files to a computer
US7155713B1 (en) Componentized operating system
US6859925B2 (en) Method for software installation and pre-setup
JP7069826B2 (ja) 情報処理装置、ファームウェア更新方法、プログラム
WO2013081680A2 (en) Deployment of a driver or an application on a client device having a write-filter
JP5336965B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
CN105389182A (zh) 一种软件升级方法及装置
EP2786249A1 (en) Creation or installation of a disk image for a target device having one of a plurality of hardware platforms
US20140149644A1 (en) Electronic apparatus, method of updating firmware, and computer-readable recording medium
CN102546907A (zh) 手机应用软件自动安装/更新的方法
US20150067668A1 (en) Installation engine and package format
CN110851154B (zh) 用于更新只读存储器编码的计算机实施方法、系统及介质
US20140109089A1 (en) System to rebuild difference virtual hard disk for updating operation system and method thereof
CN103677937A (zh) 升级软件和运行软件的方法及装置
US20040103172A1 (en) Method of updating an operation system
US20060117312A1 (en) Device to serve software to a host device through a peripheral device and method thereof
US8543995B2 (en) Information processor, information processing method, and computer-readable storage medium
CN101326515A (zh) 元数据驱动的应用程序部署
US20090063844A1 (en) Radio frequency control for communication systems
EP3260981B1 (en) Information processing apparatus, information processing system, and information processing method for updating firmware
KR100959560B1 (ko) 저장매체를 통한 드라이버 설치시스템 및 설치방법
CN117369840A (zh) 一种基于定制软件源的嵌入式操作系统构建方法

Legal Events

Date Code Title Description
A201 Request for examination
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: 20130411

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140225

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160517

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170412

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180814

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190312

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20200310

Year of fee payment: 11