이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 바람직한 실시예를 첨부함 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 온라인을 통한 드라이버 설치시스템을 나 타낸 블록도이다.
본 발명의 일실시예에 따른 온라인을 통한 드라이버 설치시스템은, 도 1에 나타낸 바와 같이, 데이터통신이 가능하며, 하드웨어 장치가 연결되는 사용자 단말기(300), 웹(Web)상에서 사용자 단말기(300)가 접속되고, 사용자 단말기(300)에 연결된 하드웨어 장치가 동작되도록 사용자 단말기(300)로 드라이버 파일을 제공하는 드라이버 업그레이드 서버(100)로 구성된다.
일반적으로 사용자 단말기(300)에 연결되는 각각의 하드웨어 장치(미도시)는 사용자 단말기(300)에서 하드웨어 장치를 인식할 수 있도록 고유의 하드웨어 아이디(Hardware ID)가 부여되어 있다. 그래서, 사용자 단말기(300)는 하드웨어 아이디에 의해 하드웨어 장치의 종류를 구별할 수 있게 된다.
한편, 본 발명에 이용되는 하드웨어 장치는 프린터, 복사기, 팩스, 스캐너, 복합기, 디지털 카메라, MP3, 휴대폰 등 사용자 단말기(300)에 유/무선 인터페이스를 통해 연결되는 다양한 주변기기뿐만 아니라, 사용자 단말기(300)의 CPU가 장착된 메인보드에 슬롯으로 연결되는 사운드카드, 그래픽카드, 모뎀, 랜카드 등일 수 있다.
여기서, 사운드카드, 그래픽카드, 랜카드 등은 메인보드에 내장되어 구성되는 온 보드(On Board) 형태로 될 수도 있다.
따라서, 드라이버는 이러한 하드웨어 장치가 작동하도록 사용자 단말기(300)에 설치되는 것이다.
도 2는 본 발명의 일실시예에 따른 드라이버 업그레이드 서버를 나타낸 블록 도이다.
응용프로그램이나 하드웨어 장치의 제조사 또는 판매원 등에서 운영하는 서버, 소프트웨어를 판매하는 온라인 판매회사 서버 등에 해당되는 드라이버 업그레이드 서버(100)는 각종 하드웨어 장치의 드라이버를 통신망을 통해 제공할 수 있도록 구축되며, 최신 드라이버 정보 데이터베이스(이하 'DB'로 칭함; 110), 최적화 드라이버 정보 DB(120), 웹 어플리케이션(130), 드라이버 관리툴(140), 드라이버 파일(150)로 구성된다.
최신 드라이버 정보 DB(110)는 사용자 단말기(300)에 설치할 드라이버를 검색하는데 활용하기 위한 것으로 다양한 형태의 드라이버 파일 패키지를 포함하여 드라이버 정보를 DB화한다.
최적화 드라이버 정보 DB(120)는 최신 드라이버가 최적화 드라이버가 아닌 특정 버전의 드라이버가 최적화 드라이버일 경우 또는 한 개의 하드웨어 아이디 또는 복수의 하드웨어 아이디 조합에 따라 특정 버전의 드라이버가 최적화 드라이버일 경우 하드웨어 장치에 최적화 드라이버를 제공하기 위하여 최적화 드라이버 정보를 DB화한다.
웹 어플리케이션(130)은 사용자 단말기(300)에 연결된 하드웨어 장치의 하드웨어 아이디를 입력받아 최신 드라이버 정보 DB(110)와 최적화 드라이버 정보 DB(120)를 이용하여 드라이버 정보파일을 생성하는 어플리케이션이다.
드라이버 관리툴(140)은 최신 드라이버 정보 DB(110), 최적화 드라이버 정보 DB(120) 및 드라이버 파일(150)을 등록하고 관리하기 위한 관리 도구(Tool)이다.
그리고, 드라이버 파일(150)은 사용자 단말기(300)에 실재적으로 설치될 하드웨어 장치의 드라이버 파일이다.
아울러, 사용자 단말기(300)에 드라이버를 설치하기 위해서, 사용자 단말기(300)를 통하여 드라이버 업그레이드 서버(100) 등의 드라이버를 다운로드 받을 수 있는 특정 웹 사이트에 접속한다. 그러면, 드라이버 설치지원 웹사이트(200)에서 드라이버 설치 액티브엑스(ActiveX)를 이용하여 현재 사용자 단말기(300)에 최적화된 드라이버를 우선적으로 검색하여 설치되도록 한다.
액티브엑스는 설치지원 웹사이트(200)를 통해 배포되며, 액티브엑스가 실행되면 현재 사용자 단말기(300)에 연결된 하드웨어 장치의 하드웨어 아이디를 추출하고, 드라이버 업그레이드 서버(100)에 저장된 드라이버 정보파일을 다운로드 한 다음 이를 바탕으로 드라이버 검색 과정을 수행한다.
그리고, 검색된 드라이버 파일은 드라이버 업그레이드 서버(100)를 통해 사용자 단말기(300)에 전송되어 드라이버가 설치되게 된다.
한편, 사용자 단말기(300)로부터 드라이버의 설치를 요청받으면, 드라이버 업그레이드 서버(100)는 사용자 인증이나 결제과정 등을 필요로 할 수 있다.
도 3은 본 발명의 일실시예에 따른 온라인을 통한 드라이버 설치방법을 나타낸 플로우차트, 도 4는 본 발명의 일실시예에 따른 최신 드라이버 정보 DB의 논리적 구조를 나타낸 예시도, 도 5는 본 발명의 일실시예에 따른 최적화 드라이버 정보 DB의 논리적 구조를 나타낸 예시도이다.
본 발명의 일실시예에 따른 온라인을 통한 드라이버 설치방법으로 최적화 드라이버를 설치하기 위해서는 드라이버 기초 데이터를 생성하고, 하드웨어 아이디를 추출한 후, 최적화 드라이버를 검색하여 최적화 드라이버를 설치해야 한다.
드라이버 기초 데이터 생성은 사용자 단말기(300)에 연결된 하드웨어 장치에 적용될 드라이버에 대한 정보를 정형화하여 관리하고, 차후 드라이버 검색에 활용하기 위한 것이다.
따라서, 드라이버 기초 데이터 생성은 최신 드라이버 정보 DB화, 최적화 드라이버 정보 DB화, 드라이버 정보파일 생성의 단계를 거치게 된다.
일반적으로 사용자 단말기(300)의 하드웨어 장치 제작사에서 제공하는 드라이버는 정보파일, 시스템파일, 데이터파일, 드라이버 설치 실행파일 등으로 구성된 패키지 형태로 제공된다. 따라서, 동일 타입의 여러 하드웨어 장치를 지원할 뿐 아니라 여러 타입의 하드웨어 장치를 지원할 수 있다.
먼저, 정보파일을 분석하여 지원하는 하드웨어 아이디를 추출하고, 드라이버 파일 패키지 정보와 함께 다양한 형태의 드라이버 파일 패키지가 저장되는 최신 드라이버 정보 DB(110)를 구축한다(단계 S110).
최신 드라이버 정보 DB(110)의 논리적 구조는, 도 4에 나타낸 바와 같이, 드라이버 이름, 드라이버 버전, 등록날짜, 지원 운영체제(Operating System; OS) 타입, 드라이버 파일 경로, 지원 하드웨어 장치 타입 및 하드웨어 아이디 등으로 구성된다.
아울러, 최신 드라이버 정보 DB(110)에서 저장되는 정보의 저장 예는 표 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)를 구축한다(단계 S120).
최적화 드라이버 정보 DB(120)의 논리적 구조는, 도 5에 나타낸 바와 같이, 한 개 이상의 하드웨어 아이디, 등록일, 지원 OS 및 최신 드라이버 정보를 DB화 할 때 생성된 드라이버 정보의 기본 키(Primary Key)를 포함한다.
아울러, 최적화 드라이버 정보 DB(120)에 저장되는 최적화 드라이버 정보의 저장 예는 표 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(110)와 최적화 드라이버 정보 DB(120)를 포함하여 드라이버 정보파일을 생성한다(단계 S130).
드라이버 정보파일은 최신 드라이버 정보 DB화 및 최적화 드라이버 정보 DB화 과정에서 생성된 XML(Extensible Markup Language)파일, 윈도우(Windows)에서 활용되는 INI(INItialization)파일, 일반 텍스트(Text) 파일 등을 이용하여 파일화된다.
그리고, 드라이버 정보파일에 포함되는 내용은 드라이버 이름, 버전, 등록날짜, 지원 OS, 지원 하드웨어 장치 타입, 하드웨어 아이디 및 드라이버 파일 위치 등으로 구성된다.
이렇게 파일화 된 드라이버 정보는 온라인을 통한 드라이버 설치 및 업그레이드에 사용한다.
이어서, 사용자 단말기(300)에 최적화된 드라이버를 검색하기 위해 사용자 단말기(300)에 연결된 하드웨어 장치의 하드웨어 아이디를 추출한다.
하드웨어 아이디 추출은 DDK(Device Driver Kit) 관련 함수, 레지스트리 관련 함수 또는 WMI 관련 함수 등을 이용하여 현재 사용자 단말기(300)에 연결된 하드웨어 장치의 하드웨어 아이디 및 드라이버 정보를 추출하게 된다(단계 S140).
즉, 드라이버를 설치하려고 사용자 단말기(300)를 통하여 드라이버 업그레이드 서버(100)에 접속하였을 경우, 사용자 단말기(300)에 최적화된 드라이버를 검색하고 설치하기 위해 드라이버 설치용 액티브엑스(ActiveX)를 이용한다. 이 액티브엑스는 사용자 단말기(300)에 연결된 하드웨어 장치의 하드웨어 아이디를 추출한다. 그리고, 추출된 하드웨어 아이디는 최적화 드라이버 검색 과정에서 드라이버 업그레이드 서버(100)로부터 다운로드 받은 드라이버 정보파일과 비교하여 최적 드라이버 검색을 수행하게 된다.
여기서, 최신 드라이버 정보 DB(110)와 최적화 드라이버 정보 DB(120)의 모든 정보를 드라이버 정보파일로 생성하게 되면 드라이버 정보파일의 용량이 최신 드라이버 정보 DB(110) 및 최적화 드라이버 정보 DB(120) 만큼 커지게 된다. 그러므로, 하드웨어 장치의 하드웨어 아이디를 입력받아 설치가능한 드라이버 정보만 드라이버 정보파일로 생성하는 것이 바람직하다.
도 6과 도 7은 본 발명의 일실시예에 따른 최적화 드라이버를 검색하는 과정을 나타낸 예시도, 도 8은 본 발명의 일실시예에 따른 최적화 드라이버 정보리스트를 나타낸 예시도, 도 9와 도 10은 본 발명의 일실시예에 따른 최신 드라이버를 검색하는 과정을 나타낸 예시도, 도 11는 본 발명의 일실시예에 따른 최신 드라이버 정보리스트를 나타낸 예시도이다.
도 6 내지 도 11에 나타낸 바와 같이, 드라이버 정보파일과 사용자 단말기(300)에 연결된 하드웨어 장치에서 추출된 하드웨어 아이디를 이용하여 사용자 단말기(300)에 설치되는 최적화 드라이버를 검색하는 과정으로, 최적화 드라이버 검색 과정과 최신 드라이버 검색 과정을 거치게 된다. 그리고, 드라이버 검색 과정이 모두 수행되면 그 산출물로 드라이버 정보리스트를 생성하게 된다.
드라이버 정보리스트는 사용자 단말기(300)에 설치할 드라이버 정보리스트이며 드라이버 설치시 이 리스트 정보를 활용하게 된다.
먼저, 드라이버 정보파일과 하드웨어 장치에서 추출된 하드웨어 아이디를 비교하여 사용자 단말기(300)에 최적화된 최적화 드라이버를 검색한다(단계 S150).
최적화 드라이버 검색을 위해서 최적화 드라이버 정보 DB(120)를 우선적으로 검색에 반영한다.
따라서, 도 6과 도 7에 나타낸 바와 같이, 드라이버 정보파일에 포함된 정보 중에서 최적화 드라이버 정보 DB(120)에 포함된 '최적화 드라이버 정보'와 하드웨어 아이디 추출 과정에서 추출된 '검색할 현재 하드웨어 아이디'를 비교하여 최적화 드라이버를 검색하는 것이다.
먼저, 도 6에 나타낸 바와 같이, '최적화 드라이버 정보'의 [포함 하드웨어(H/W) 아이디]가 모두 하드웨어 아이디 추출 과정에서 추출된 '검색할 현재 하드웨어 아이디'에 포함되는 최적화 드라이버를 하드웨어 타입별로 검색한다.
이때, 하나의 하드웨어 타입에서 여러 개의 최적화 드라이버가 검색되면 최근 추가한 최적화 드라이버를 선택한다(단계 S155).
그리고, 선택된 최적화 드라이버의 [포함 하드웨어 아이디]를 '검색할 현재 하드웨어 아이디'에서 제거한다.
그리고,도 7에 나타낸 바와 같이, 최적화 드라이버 정보의 [포함 하드웨어 아이디]가 모두 '검색할 현재 하드웨어 아이디'에 포함되는 최적화 드라이버 정보를 하드웨어 타입별로 검색한다.
이때, 하나의 타입에서 여러 개의 최적화 드라이버 정보가 검색되면 최근 추가한 드라이버를 선택한다. 그리고, 선택된 최적화 드라이버의 [포함 하드웨어 아이디]를 '검색할 현재 하드웨어 아이디'에서 제거하는 과정을 반복한다.
아울러, 검색되는 신규 하드웨어 장치 타입 최적화 드라이버가 존재하지 않으면 최적화 드라이버 검색을 중지한다.
즉, 도 6과 도 7에 나타낸 바와 같이, '검색할 현재 하드웨어 아이디'가 구성되고, '최적화 드라이버 정보'가 구성되어 있을 경우 [메인보드 하드웨어 타입]과 [비디오 하드웨어 타입] 최적화 드라이버 검색을 수행하면 [하드웨어 아이디 1(H/W ID 1)], [하드웨어 아이디 2(H/W ID 2)] 및 [하드웨어 아이디 4(H/W ID 4)]가 선택에 의해 각각 메인보드 최적화 드라이버, 비디오 타입 최적화 드라이버 검색 과정을 수행하는 것이다.
그리고, 도 8에 나타낸 바와 같이, '검색할 현재 하드웨어 아이디'가 남게 되며, 검색된 드라이버 정보를 포함하는 드라이버 정보리스트가 생성된다(단계 S170).
여기서, 생성된 드라이버 정보리스트는 최적화 드라이버 정보리스트이며, 이어서 최신 드라이버 검색을 한다(단계 160).
최신 드라이버 검색은, 도 9와 도 10에 나타낸 바와 같이, 최신 드라이버 정보 DB(110)에 저장된 드라이버 정보와 최적화 드라이버 검색 과정에서 제외되고 남은 '검색할 현재 하드웨어 아이디'를 비교하여 최신 드라이버를 검색하는 것이다.
먼저, 도 9에 나타낸 바와 같이, '검색할 현재 하드웨어 아이디'를 하나 이상 포함하고 있는 '드라이버 정보'를 타입별로 검색한다.
이때, 하나의 [하드웨어 타입]에서 여러 개의 드라이버가 검색되면 그 중 제일 최신 버전의 드라이버를 선택한다(단계 S165).
그리고, 선택된 최신 드라이버의 [지원 하드웨어 아이디]를 '검색할 현재 하드웨어 아이디'에서 제거한다.
이어서, 도 10에 나타낸 바와 같이, 다른 하드웨어 타입으로 '검색할 현재 하드웨어 아이디'를 하나 이상 포함하고 있는 '드라이버 정보'를 [하드웨어 타입] 별로 검색한다.
이때, 하나의 [하드웨어 타입]에서 여러 개의 드라이버가 검색되면 그 중 제일 최신 버전의 드라이버를 선택한다. 그리고, 선택된 최신 드라이버의 [지원 하드웨어 아이디]를 '검색할 현재 하드웨어 아이디'에서 제거하는 과정을 반복한다.
아울러, 검색되는 신규 하드웨어 타입 드라이버가 존재하지 않으면 드라이버 검색을 중지한다.
즉, 도 9와 도 10에 나타낸 바와 같이, '검색할 현재 하드웨어 아이디'가 구성되고, '드라이버 정보'가 구성되어 있을 경우, 사운드 하드웨어 타입 검색 시 하드웨어 아이디 5(H/W ID 5), 하드웨어 아이디 6(H/W ID 6)에 의해 사운드 드라이버가 선택되고 다시 검색할 현재 하드웨어 아이디에서 하드웨어 아이디 5, 하드웨어 아이디 6이 제거된다.
HDMI 하드웨어 타입 드라이버는 '검색할 현재 하드웨어 아이디'에 하드웨어 아이디를 포함하고 있지 않아 검색되지 않게 된다.
그리고, 도 11에 나타낸 바와 같이, '검색할 현재 하드웨어 아이디'가 남게 되며, 검색된 드라이버 정보를 포함하는 드라이버 정보리스트가 생성된다(단계 S170).
이어서, 최적화 드라이버 검색 과정에서 생성된 드라이버 정보리스트를 이용하여 최적화 드라이버 파일을 사용자 단말기(300)에 설치한다(단계 S180).
따라서, 드라이버 정보리스트에 포함된 경로 데이터에 따라 드라이버 파일이 설치되는 위치가 결정되며, 이 위치는 저장매체의 경로, 네트워크상의 파일 경로, 인터넷상의 파일 URL 등이 될 수 있다.
본 발명에 따른 최적화 드라이버 설치는 제한된 드라이버 파일을 이용하여 다수의 하드웨어 디바이스에 대한 드라이버 설치를 지원한다. 그러므로, 온라인을 통한 드라이버 설치시 지원해야 하는 단말기에 대한 드라이버 파일 수를 줄여 용량을 줄일 수 있고 드라이버 서비스 제공을 위한 시스템 유지비용 및 관리 비용을 절감할 수 있다.
또한, 특정 하드웨어 시스템에 대한 최적화된 드라이버를 제공함으로써 A/S비용을 절감할 수 있으며, 드라이버 설치 지원 웹사이트에서 액티브엑스를 통한 드라이버 검색/설치 서비스를 제공함으로써 프로그램 재배포 및 설치 비용이 절감된다.
이상의 설명에서는 본 발명의 바람직한 실시예를 제시하여 설명하였으나, 본 발명이 반드시 이에 한정되는 것은 아니며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경할 수 있음을 쉽게 알 수 있을 것이다.