KR100478857B1 - 온라인을 이용한 자동업데이트 시스템 - Google Patents

온라인을 이용한 자동업데이트 시스템 Download PDF

Info

Publication number
KR100478857B1
KR100478857B1 KR10-2002-0006646A KR20020006646A KR100478857B1 KR 100478857 B1 KR100478857 B1 KR 100478857B1 KR 20020006646 A KR20020006646 A KR 20020006646A KR 100478857 B1 KR100478857 B1 KR 100478857B1
Authority
KR
South Korea
Prior art keywords
database
update
server
packet
module
Prior art date
Application number
KR10-2002-0006646A
Other languages
English (en)
Other versions
KR20020036969A (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 KR10-2002-0006646A priority Critical patent/KR100478857B1/ko
Publication of KR20020036969A publication Critical patent/KR20020036969A/ko
Application granted granted Critical
Publication of KR100478857B1 publication Critical patent/KR100478857B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 온라인을 이용한 자동업데이트 시스템에 관한 것으로, 보다 상세하게는 온라인에 연결된 컴퓨터의 데이터베이스를 사용자 관리가 필요없이 자동 업데이트되는 시스템에 관한 것이다.
이를 위해 본 발명은, 클라이언트 컴퓨터에 장착 또는 연결되며, 요청에 의한 패킷을 송수신하는 네트워크 인터페이스 장치와; 부팅시에 상기 네트워크 인터페이스 장치를 오퍼레이팅 시스템 상에 인식시키고, 상기 네트워크 인터페이스 장치의 동작을 운영하는 네트워크 디바이스 드라이버와; 상기 네트워크 디바이스 드라이버 내부에 포함 또는 연동되며, 클라이언트측에 저장된 데이터베이스의 버전을 서버에 저장된 데이터베이스와 비교하는 패킷을 생성하여 상기 네트워크 디바이스 드라이버로 전송하는 질의모듈과; 서버측에 설치되어 구동되며, 클라이언트측에서 전송된 버전정보 데이터 패킷을 전송받아 서버측에 저장된 데이터베이스 버전과 비교하여 클라이언트측으로 결과를 제공하는 비교모듈과; 상기 네트워크 디바이스 드라이버 내부에 포함 또는 연동되며, 서버에서 제공된 비교모듈의 결과에 따라 클라이언트에 저장된 데이터베이스의 업데이트를 수행하는 업데이트 모듈과; 상기 업데이트 모듈에 의해 서버의 데이터베이스와 같은 버전의 데이터베이스로 갱신되는 갱신데이터베이스;를 포함하여 구성되는 것을 특징으로 한다.
이에 따라, 컴퓨터 사용자는 컴퓨터 설정과는 무관하게 특정한 데이터베이스파일을 업데이트할 수 있게 된다.

Description

온라인을 이용한 자동업데이트 시스템{Automatic Update System using online}
본 발명은 온라인을 이용한 자동업데이트 시스템에 관한 것으로, 보다 상세하게는 온라인에 연결된 컴퓨터에서 사용되는 중요한 데이터베이스를 사용자 관리가 필요없이 자동으로 업데이트되는 시스템에 관한 것이다.
일반적으로 컴퓨터를 사용하는 데 있어서, 사용자들은 백신 프로그램, 해킹방지 프로그램 등 사용자의 편의를 위한 프로그램을 주로 사용하게 된다. 그리고, 상기 프로그램은 바이러스 패턴, 해킹 패턴에 관한 데이터베이스를 저장하고, 상기 데이터베이스에 포함된 패턴이 발견되는 경우에는 해당 프로그램의 치료 또는 방지 형태의 작동을 하게 된다. 또한, 상기 프로그램은 응용 프로그램 상에서 동작하도록 설계되어, 사용자의 선택에 따라 구동 또는 정지하는 기능을 포함하게 된다. 그러나, 상기와 같은 백신 또는 해킹방지 프로그램은 설치하였어도 엔진(혹은 패턴 파일이라고도함, 이하 데이터베이스라 통칭함)을 업그레이드를 하지 않으면 소용이 없게 된다. 즉, 새로운 바이러스가 출현했을 때 그 바이러스를 치료할 엔진을 개발하게 되는데 업데이트를 하지 않으면 기존의 백신프로그램으로는 치료를 할 수가 없다.
그리고, 사용자의 컴퓨터를 보호하기 위한 프로그램인 해킹방지 프로그램, 백신 프로그램을 지원하는 데이터베이스는 일반적으로 보조기억장치인 하드디스크에 저장되어, 해당 프로그램의 호출에 따라 동작하게 된다.
백신 프로그램의 경우에 있어서, 일반적으로는 사용자 등록시에 설정된 메일을 이용하여 상기 사용자에게 최신의 백신에 대한 정보를 제공하고, 상기 사용자는 백신 프로그램 제작사의 홈페이지를 방문하여 최신의 백신에 대한 데이터베이스를 제공받도록 하고 있다. 이에, 상기 사용자는 업데이트 관련 항목을 선택하고, 해당 데이터베이스를 업데이트 받게 된다.
그러나, 상기와 같은 방식은 컴퓨터 사용자가 업무상 또는 기타 다른 상황에 따라 데이터베이스를 업데이트하지 못한 경우에는 백신으로서의 기능을 제대로 발휘할 수 없다는 문제점이 있다.
그리고, 상기 해당 프로그램의 관리메뉴에는 해당 프로그램의 데이터베이스를 주기적으로 업데이트할 수 있는 부프로그램(Sub Program)이 포함되어 사용자로 하여금 최신의 데이터베이스로 갱신할 수 있도록 하고 있다. 그리고, 해당 프로그램에서 제공되는 업데이트 기능을 제대로 수행하기 위해서는 부 프로그램(Sub Program)의 업데이트 관련 메뉴를 설정해야 한다. 이에 따라, 상기 백신 프로그램 또는 해킹방지 프로그램이 활성화된 경우, 설정된 주기에 따라 해당프로그램이 동작하여 백신 또는 해킹방지 데이터베이스를 제공하는 서버로 자동 접속하여 해당 데이터베이스를 다운로드 받도록 하고 있다.
그리나, 상기와 같은 방식에서 백신 또는 해킹방지 프로그램을 사용하는 사용자가 부 프로그램에서 제공하는 기능을 설정해야 하나, 컴퓨터 사용 능력이 초보인 경우에는 해당 기능을 숙지하여 사용하기에는 다소 어려운 점이 있다.
그리고, 상기와 같은 방식 역시, 해당 컴퓨터에 설치된 프로그램의 재설치 또는 하드디스크의 포맷 등으로 초기화된 경우에는 해당 데이터베이스를 처음부터 다시 업데이트받아야 하는 문제점이 있다.
본 발명은 상기한 문제점을 해결하기 위해 안출된 것으로, 컴퓨터 사용자의 업데이트 관리가 필요없는 자동 업데이트 시스템을 제공하는 데 그 목적이 있다.
그리고, 사용자 컴퓨터의 하드디스크의 포맷 또는 재설치와는 무관한 시스템을 제공하는 데 또 다른 목적이 있다.
본 발명은 상기한 목적을 달성하기 위해 클라이언트 컴퓨터에 장착 또는 연결되며, 요청에 의한 패킷을 송수신하는 네트워크 인터페이스 장치와; 부팅시에 상기 네트워크 인터페이스 장치를 오퍼레이팅 시스템 상에 인식시키고, 상기 네트워크 인터페이스 장치의 동작을 운영하는 네트워크 디바이스 드라이버와; 상기 네트워크 디바이스 드라이버 내부에 포함 또는 연동되며, 클라이언트측에 저장된 데이터베이스의 버전을 서버에 저장된 데이터베이스와 비교하는 패킷을 생성하여 상기 네트워크 디바이스 드라이버로 전송하는 질의모듈과; 서버측에 설치되어 구동되며, 클라이언트측에서 전송된 버전정보 데이터 패킷을 전송받아 서버측에 저장된 데이터베이스 버전과 비교하여 클라이언트측으로 결과를 제공하는 비교모듈과; 상기 네트워크 디바이스 드라이버 내부에 포함 또는 연동되며, 서버에서 제공된 비교모듈의 결과에 따라 클라이언트에 저장된 데이터베이스의 업데이트를 수행하는 업데이트 모듈과; 상기 업데이트 모듈에 의해 서버의 데이터베이스와 같은 버전의 데이터베이스로 갱신되는 갱신데이터베이스;를 포함하여 구성된다.
그리고, 네트워크 인터페이스 장치는 상기 질의모듈에 의해 서버로 제공되는 클라이언트의 데이터베이스 버전 정보가 저장되는 플래시메모리;를 탑재하는 것을 특징으로 한다.
또한, 네트워크 인터페이스 장치는 서버로부터 제공되고, 업데이트 모듈에 의해 업데이트되는 갱신데이터베이스가 저장되는 플래시메모리;를 탑재하는 것을 특징으로 한다.
그리고, 네트워크 인터페이스 장치는 상기 질의모듈에 의해 서버로 제공되는 클라이언트의 인증값이 저장되는 플래시메모리;를 탑재하도록 구성된다.
또한, 상기 질의모듈은 서버와의 통신을 통해 클라이언트에 대한 인증값을 포함하여 전송하는 것을 특징으로 한다.
그리고, 상기 질의모듈은 부팅시 오퍼레이팅 시스템에서 상기 네트워크 인터페이스 장치를 인식하고 네트워크 디바이스 드라이버가 구동되면 상기 서버측에 질의할 패킷을 생성하여 네트워크 디바이스 드라이버로 전송하는 것을 특징으로 한다.
또한, 상기 질의모듈은 클라이언트 컴퓨터의 부팅후, 상기 네트워크 디바이스 드라이버를 통한 외부로 최초의 패킷이 나가는 경우, 상기 서버측에 질의할 패킷을 생성하여 네트워크 디바이스 드라이버로 전송하는 것을 특징으로 한다.
그리고, 상기 질의모듈은 클라이언트 컴퓨터의 부팅후, 일정시간의 경과시마다 상기 서버측에 질의할 패킷을 생성하여 네트워크 디바이스 드라이버로 전송하는 것을 특징으로 한다.
또한, 상기 질의모듈은 특정일자의 특정일시마다 상기 서버측에 질의할 패킷을 생성하여 네트워크 디바이스 드라이버로 전송하는 것을 특징으로 한다.
그리고, 상기 업데이트모듈은 클라이언트 컴퓨터의 종료시 업데이트된 갱신데이터베이스를 상기 플래시메모리에 쓰기하는 것을 특징으로 한다.
또한, 상기 업데이트모듈은 업데이트된 갱신데이터베이스를 업데이트에 따른 실시간으로 상기 플래시메모리에 쓰기하는 것을 특징으로 한다.
이하에서는 첨부한 도면을 참조로 하여 본 발명의 일실시예에 따른 온라인을 이용한 자동업데이트 시스템을 상세히 설명하기로 한다. 도 1은 본 발명의 일실시예에 의한 온라인을 이용한 자동업데이트 시스템의 구성도이다.
본 발명의 일실시예에 따른 온라인을 이용한 자동업데이트 시스템은 크게, 네트워크 인터페이스 장치(100), 네트워크 디바이스 드라이버(200), 질의모듈(300), 비교모듈(400), 업데이트 모듈(500), 갱신데이터베이스(600)로 나눌 수 있다.
먼저, 네트워크 인터페이스 장치(100)를 설명하기로 한다. 상기 네트워크 인터페이스 장치(100)는 일반적으로, LAN 카드라고 통칭하기도 하지만, 바람직하게는 온라인 접속을 위한 하드웨어 장비를 의미한다. 세계 3대 주요 랜 표준은 이더넷(Ethernet), 토큰링(Token Ring), 아크넷(Arc net)이다. 이 중에서 세계적으로 가장 널리 쓰이는 랜 표준은 이더넷이다. 우리나라에 설치된 랜의 90%이상도 이더넷으로 추정되고 있다. 그리고, 상기 네트워크 인터페이스 장치(100)는 전송속도, 버스 방식, 커넥터 등에 따라 구분되며, 바람직하게는 상기 네트워크 인터페이스 장치(100)는 무선 LAN도 지원할 수 있다.
그리고, 상기 네트워크 인터페이스 장치(100)는 플래시메모리(110)를 장착하게 된다. 이에 따라, 플래시메모리(110)를 설명하기로 한다. 상기 플래시메모리(110)는 일종의 비휘발성 기억 장치에 해당하며, 전기적인 처리에 의해 기억 내용을 소거할 수 있는 점에서는 전기적 소거 및 프로그램 가능 읽기 전용 기억 장치(EEPROM)와 유사하지만, EEPROM은 한 번에 1바이트씩 소거할 수 있는 데 비해 플래시 메모리는 블록 단위로 소거해야 한다. 이 특성 때문에 플래시 메모리는 흔히 휴대형 컴퓨터의 하드 디스크 대용 또는 보충용으로 사용된다. 가장 흔히 사용되는 예는 휴대형 컴퓨터의 PCMCIA 슬롯에 삽입하여 사용할 수 있는 PC 장치의 기억 장치로 사용되는 것이다. 그리고, 상기 플래시메모리(110)는 본 발명의 일실시예에 따르면, 바람직하게는 서버와의 통신을 위한 인증값(112), 후술하게 되는 갱신데이터베이스(600), 그리고, 상기 갱신데이터베이스(600)의 버전정보(113), 그리고 질의할 서버(B10)에 대한 IP주소, 도메인 주소 등에 관한 서버정보(111)가 저장된다. 상기 인증값(112)은 서버(B10)와 클라이언트(A10)의 통신에 있어서, 인증을 위한 값에 해당하며, 상기 갱신데이터베이스(600)는 초기에 세팅된 데이터베이스가 상기 서버(B10)와의 통신을 통해 업데이트된 데이터베이스를 제공받아 새로운 데이터베이스로 갱신된 데이터베이스를 지칭하게 된다. 그리고, 상기 버전정보(113)는 플래시메모리(110)에 저장되는 데이터베이스의 업데이트 정보에 해당한다. 그리고, 상기 서버정보(111)는 업데이트에 대한 정보를 제공하는 서버(B10)에 대한 정보에 해당한다. 상기 인증값(112), 버전정보(113), 서버정보(111)는 후술하게 되는 질의모듈(300)에서 별도로 설명하기로 한다.
다음, 네트워크 디바이스 드라이버(200)를 설명하기로 한다. 상기 네트워크 디바이스 드라이버(200)는 상기 네트워크 인터페이스 장치(100)를 오퍼레이팅 시스템 상에 인식시키고, 상기 네트워크 인터페이스 장치(100)의 동작을 운영하는 역할을 한다. 실질적으로는, 상기 네트워크 디바이스 드라이버(200)는 네트워크 인터페이스 장치(100)에 포함된 랜컨트롤러 칩과의 통신을 위한 디바이스 드라이버에 해당하며, 커널 모드에서 동작된다. 상기 네트워크 디바이스 드라이버(200)는 일례를 들어, 마이크로소프트사의 윈도우 9x 또는 윈도우 NT의 운영체제에 있어서, 커널 모드에서 동작을 하게 된다. 특히, 윈도우 NT는 특권(privileged)와 비특권(nonprivileged) 모드를 사용한다. 이는 주로 커널모드와 유저 모드로 불리운다. 상기 커널모드에서 실행되는 컴포넌트들은 하드웨어 및 소프트웨어 리소스를 직접 엑세스한다. 또한 윈도우 NT에서는 시스템의 보안성과 안정성을 유지하기 위해 운영체제의 핵심적인 부분만이 커널 모드에서 실행된다. 여기서, 마이크로커널(microkernel), HAL(hardware abstraction layer), 디바이스 드라이버(Device Driver)등이 커널모드에서 실행되는 부분이다. 따라서, 상기 네트워크 디바이스 드라이버(200)는 상기 디바이스 드라이버(Device Driver)에 해당한다. 또한, 커널모드에서 실행되는 프로그램은 고의, 또는 불의의 외부 간섭으로부터 프로세서 자체의 설계에 의해 보호된다. 그리고, Win32 서브시스템, POSIX 서브시스템 등의 환경 서브시스템, 모든 응용프로그램이 유저모드에서 실행된다. 또한, 상기 유저모드의 경우 시스템 사용자의 선택에 따라 해당 프로그램의 실행을 중지 또는 종료를 할 수 있으나, 상기 커널모드에서 동작하는 경우에는 사용자가 직접 중지 또는 종료를 할 수 없게 된다. 그리고, 커널은 자신을 통과하는 모든 시스템 동작과 거의 모든 시스템 기능에 책임을 진다. 윈도우 NT는 마이크로커널을 사용하며, 이는 필요한 최소한의 기능만을 포함한다는 것을 의미한다. 윈도우 NT의 마이크로커널은 전통적으로 커널의 역할이었던 많은 기능을 NT실행부로 불리우는 부분에 할당한다. 마이크로커널은 NT실행부의 일부이며, NT실행부는 커널모드에서 실행된다. 그리고, 상기 네트워크 디바이스 드라이버(200)는 후술하게 되는 질의모듈(300), 업데이트 모듈(500)을 상기 네트워크 디바이스 드라이버(200) 내부에서 구동되도록 구성된다. 또한, 상기 네트워크 디바이스 드라이버(200)는 OSI(Open System Information)참조 모델에 따르면 데이터링크(Data Link)층에서 구동된다.
다음, 질의모듈(300)을 설명하기로 한다. 상기 질의모듈(300)은 상기 네트워크 디바이스 드라이버(200) 내부에 포함 또는 연동되며, 클라이언트측에 저장된 데이터베이스의 버전을 서버에 저장된 데이터베이스와 비교는 패킷을 생성하여 상기 네트워크 디바이스 드라이버(200)로 제공하는 역할을 한다. 즉, 상술한 바와 같이 상기 질의모듈(300)은 커널모드에서 동작한다.
상기 표 1은 본 발명의 일실시예에 따른 질의모듈(300)에 의해 생성된 패킷의 일실시예에 해당한다. 상기 패킷은 변조 생성 또는 신규 생성을 통해 만들어 지며, 이를 상세히 설명하면 다음과 같다.
클라이언트 컴퓨터의 부팅후, 상기 네트워크 디바이스 드라이버(200)를 통한 외부로의 최초 패킷이 전송되는 경우, 상기 서버(B10)측에 질의할 패킷을 생성하는 방법은 커널 내에 존재하는 TCP/IP Stack에서 생성된 최초 전송 패킷을 상기 질의모듈(300)에서 변조 생성 또는 TCP/IP SPEC에 맞는 형태로 신규 생성하게 된다.
변조 생성의 경우, 여기서 TCP/IP Stack에서 생성된 패킷 중 IP Header와 TCP Header에서 필요한 정보를 추출하여 IP Header와 UDP Header를 별도로 변조 생성하게 된다. 상기에서 TCP Header를 UDP Header로 변조 생성한 것은 단지 네트워크 디바이스 드라이버(200)에서의 작업을 효율적으로 수행하기 위한 것이며, UCP Header 자체로 생성하는 것도 가능하다. 그리고, 상기와 같이 UDP Header로 변조 생성하는 것은 상기 TCP Header의 정보 중 사용자가 요청한 목적지 주소에 대한 검증이 필요한 경우에 해당 목적지 주소를 참조하기 위해서 사용자의 요청에 의해 TCP/IP Stack에서 생성된 패킷을 변조하는 것이다.
신규 생성의 경우, IP Header와 UDP Header를 먼저 생성하고, 상기 Header 뒷단에는 필요한 정보를 포함하게 된다. 상기에서 언급된 필요한 정보는 표 1에서 표시된 버전정보(113), 인증값(112) 등에 해당한다. 그리고, 상기 IP Header를 생성할 때, 상기 질의모듈(300)은 상기 플래시 메모리(110)에 저장된 서버정보(111)를 참조하여 목적지 주소(Destination Address)를 삽입하게 된다.
그리고, 표 1에서는 표시되지 않았지만, 상기 IP Header 내부에는 Source Address와 Destination Address가 있으며, 상기 Destination Address는 상기 네트워크 인터페이스 장치(100) 내의 플래시메모리(110)에 저장된 서버정보(111)를 참조하거나 상기 질의모듈(300)내부에 저장되어 참조하게 된다.
다음으로, 질의모듈(300)이 클라이언트 컴퓨터의 일정 시간의 경과시마다 상기 서버(B10)측에 패킷을 생성하여 전송하는 경우나 컴퓨터 부팅시 오퍼레이팅 시스템에서 상기 네트워크 인터페이스 장치(100)를 인식하고 네트워크 디바이스 드라이버(200)가 구동되면 상기 서버(B10)측에 질의할 패킷을 생성하여 전송하는 경우에 있어서는 TCP/IP Stack에서 전송되는 패킷을 변조 생성하는 방법이 아닌 별도의 패킷을 신규 생성해야 하며, 상기에서 언급한 내용과 동일하므로 상세한 설명은 생략하기로 한다.
그리고, 상기에서 IP Header 및 UDP Header가 완성된 후, 상기 질의모듈(300)은 인증값(112), 버전정보(113)를 추가하게 된다. 상기 인증값(112)은 Seiral or MAC 주소를 사용하게 된다. 상기 Serial은 인증값(112)에 해당하며, MAC 주소를 인증값으로 사용할 수도 있다. 일반적으로 MAC주소는 유일무이한 하나의 네트워크 인터페이스 장치(100)에 주어지는 번호에 해당한다. 그리고, 상기 Serial은 MAC 주소와는 다른 별개의 체계를 이용하여 제작되며, 상기 네트워크 인터페이스 장치(100)에 포함된 플래시메모리(110)에 저장되어, 상기 질의모듈(300) 생성시 이를 참조하게 된다. 또한, 상기 Serial은 제품에 있어, 일반적인 내용에 해당하므로 상세한 설명은 생략하기로 한다.
그리고, 상기 표 1에서 버전정보(113)는 Version에 해당하며, 서버에 저장된 데이터베이스의 버전(Version)과 비교하기 위해 전송된다. 또한, 상기 버전정보(113)는 하나의 데이터베이스에 관련된 정보가 아닌 복수개의 데이터베이스에 대한 정보가 포함될 수 있다.
또한, 상기 표 1에서의 Flag는 상기 질의모듈(300)에 의해 생성되는 패킷 중 데이터 영역에 해당하는 부분에 대한 상세한 내용이 포함된다. 즉, 서버(B10) 또는 클라이언트(A10) 측에서 쌍방이 주고 받는 데이터의 식별을 위해 존재하게 된다.
다음, 비교모듈(400)을 설명하기로 한다. 상기 비교모듈(400)은 서버(B10)측에 설치되어 구동되며, 클라이언트(A10) 측에서 전송된 버전정보 데이터 패킷을 전송 받아 서버(B10)측에 저장된 테이터베이스 버전과 비교하여 클라이언트(A10) 측으로 결과를 제공하는 역할을 한다. 상기 비교모듈(400)은 클라이언트(A10)에서 질의모듈(300)에 의해 생성되어 전송된 데이터 중 인증값(112)이 서버(B10)에 의해 인증된 경우에 상기 클라이언트(A10)에서 제공된 버전정보와 상기 서버(B10)에 저장된 데이터베이스(600)의 버전을 비교하게 된다. 그리고, 상기 비교모듈(400)은 일례를 들어, 상기 질의모듈(300)에서 제공된 version이 A Database : 1.0.2와 B Database : 2.1.4, 그리고, C Database : 1.7.3로 전송이 되고, 상기 서버(B10)에 저장된 데이터베이스의 version은 A Database : 1.0.5와 B Database : 2.2.3, 그리고, C Database : 1.7.3에 해당하는 경우에 상기 비교모듈(400)은 A와 B Database에 대해서 업데이트 수행을 판단하고, C Database는 클라이언트(A10)에 저장된 데이터베이스 버전과 상기 서버(B10)에 저장된 데이터베이스의 버전이 동일하므로 업데이트 수행 필요가 없는 것으로 판단하게 된다.
이에 따라, 상기 비교모듈(400)은 상기 질의모듈(300)이 전송된 클라이언트(A10)측으로 업데이트 판단에 따른 패킷을 생성하여 제공하게 된다. 그리고, 상기 비교모듈(400)에 의해 생성되는 패킷은 아래 표 2와 같이 구성될 수 있다.
상기 표 2에서 표시된 Length, Serial or MAC 의 역할은 상기 질의모듈(300)에서의 역할과 같은 것이므로 생략하기로 하며, Version 역시 상기 서버(B10)에 저장된 데이터베이스의 버전정보(113)에 해당한다. 상기 Version 정보가 패킷에 포함되는 이유는 상기 클라이언트(A10)의 질의모듈(300) 생성시 버전정보(113)를 클라이언트(A10)에서 제공할 수 있도록 하기 위함이다. 그리고, 상기 표 2에서 보인 Flag는 전송되는 패킷 중 데이터 영역에 저장된 내용이 업데이트를 위한 것인지, 데이터베이스중 일부 또는 전체에 대한 삭제 부분인지를 구분하기 위해 필요한 것이다.
그리고, 상기 질의모듈(300)에서와 같이 Flag가 붙게 된다. 그 이유는 상기 질의모듈(300)에서의 역할과 동일하므로 생략하기로 한다.
다음, 업데이트 모듈(500)을 설명하기로 한다. 상기 업데이트 모듈(500)은 상기 네트워크 디바이스 드라이버(200) 내부에 포함 또는 연동되며, 서버(B10)에서 제공된 비교모듈(400)의 결과에 따라 클라이언트(A10)에 저장된 데이터베이스의 업데이트를 수행하는 역할을 한다. 상기 업데이트모듈(500)은 서버(B10)의 비교모듈(400)에서 제공된 전체 패킷 중 ver에 해당하는 데이터 값을 읽어들이게 되며, 상기 ver는 갱신될 데이터베이스의 버전에 해당하므로, 상기 네트워크 인터페이스 장치(100)의 플래시메모리(110)에 별도로 저장된다. 그리고, 상기 표 2에서 data 영역에 포함된 암호화된 데이터베이스는 플래시메모리(110)로 쓰기를 수행하게 된다. 또한, 상기 업데이트 모듈(500)이 복수개의 데이터베이스에 대한 업데이트를 수행하게 되는 경우에는, 상기 업데이트 모듈(500)은 해당 데이터베이스의 version별로 업데이트를 수행하게 된다.
일례를 들어, 상기 질의모듈(300)에서 제공된 version이 A Database : 1.0.2와 B Database : 2.1.4, 그리고, C Database : 1.7.3로 전송이 되고, 상기 비교모듈(400)에서 제공된 version은 A Database : 1.0.5와 B Database : 2.2.3, 그리고, C Database : 1.7.3에 해당하는 경우에 상기 업데이트 모듈(500)은 A와 B Database에 대한 업데이트를 수행하고, C Database는 클라이언트(A10)에 저장된 데이터베이스 버전과 상기 서버(B10)에 저장된 데이터베이스의 버전이 동일하므로 업데이트는 수행하지 않게 된다.
또한, 상기 비교모듈(400)에서 제공된 전체 패킷 중 데이터 영역에 포함된 version에 해당하는 값은 상기 플래시메모리(110)에 다음 번의 업데이트 질의를 위해 별도 저장된다.
그리고, 상기 업데이트 모듈(500)은 상기 네트워크 인터페이스 장치(100)에 장착된 플래시메모리(110)에 대한 쓰기를 수행하게 되며, 상기 쓰기 수행방법은 플래시이미지에 기록되어 있는 내용을 플래시메모리(110)에 기록하는 방법을 사용하게 된다. 상기 플래시이미지는 커널 영역의 메모리에 해당하며, 커널 영역의 메모리를 플래시메모리에 저장될 형태로 만든 것이 플래시이미지이다. 상기와 같은 방법을 수행하는 이유는 일례를 들어, 실시간 업데이트가 수행되는 경우에 있어서, 쓰기 요청에 따라 반복적으로 작업을 수행하는 것 보다 일정량의 플래시이미지를 하나의 플래시이미지로 변환하여 이를 일괄적으로 처리하기 위함이다.
또한, 상기 업데이트 모듈(500)은 데이터베이스의 추가뿐만이 아닌 삭제의 경우에도 해당된다. 삭제의 경우에 있어서는 상기 데이터베이스에 저장된 목록 중 필요 없는 부분이 발생하거나 또는 변경된 경우에 해당한다.
다음, 갱신데이터베이스(600)를 설명하기로 한다. 상기 갱신데이터베이스(600)는 업데이트 모듈(500)에 의해 서버(B10)의 데이터베이스와 같은 버전의 데이터베이스로 갱신된다. 그리고, 상기 갱신데이터베이스(600)는 종래에 저장된 데이터베이스에서 상기 업데이트 모듈(500)에 의해 제공받은 데이터베이스를 추가 또는 삭제된 새로운 데이터베이스를 의미한다. 또한, 상기 질의모듈(300)에서 설명한 바와 같이, 상기 갱신데이터베이스(600)는 하나의 데이터베이스를 구성하는 것이 아닌 복수개의 데이터베이스를 포함하도록 구성된다.
이하에서는 첨부한 도면을 참조로 하여 본 발명의 일실시예에 따른 온라인을 이용한 자동업데이트 시스템을 사용한 실시예를 상세히 설명하기로 한다. 도 2a, 도 2b, 도 2c는 본 발명의 일실시예에 의한 온라인을 이용한 자동업데이트 시스템의 흐름도이다.
먼저, 사용자는 클라이언트(A10)를 부팅하게 된다(S100). 부팅 과정 중 오퍼레이팅 시스템은 상기 클라이언트(A10)에 장착 또는 연결된 네트워크 인터페이스 장치(100)를 인식하게 되고(S101), 상기 네트워크 디바이스 드라이버(200)는 오퍼레이팅 시스템 내에서 구동하게 된다(S102). 이때, 상기 네트워크 디바이스 드라이버(200)가 오퍼레이팅 시스템내의 메모리로 업로드(S103)됨과 동시에 상기 네트워크 인터페이스 장치(100)에 장착된 플래시메모리(110)의 내용이 커널 메모리로 업로드된다(S104).
상기와 같은 부팅과정이 완료(S105)된 후, 상기 클라이언트(A10) 사용자는 인터넷 웹 브라우저를 실행하게 된다(S106). 실행된 웹 브라우저는 응용프로그램으로 사용자가 설정한 초기화면으로 접속하기 위해 접속요청을 시도하게 된다(S107). 상기 접속요청에 따라 커널단의 TCP/IP Stack은 IP Header와 TCP Header를 생성(S108)하여 네트워크 디바이스 드라이버(200)로 제공(S109)하게 되며, 이에 따라 상기 질의모듈(300)은 상기 IP Header를 먼저 생성하게 된다. 상기 IP Header 정보 중 목적지 주소(Destination)에 해당하는 서버정보(111)를 상기 플래시 메모리(110)에 저장된 내용으로 부터 참조(S110)하여 IP Header를 완성하게 된다(S111). 그리고 난 후, UDP Header를 생성하게 된다(S112).
그리고, 상기 질의모듈(300)은 서버(B10) 또는 클라이언트(A10) 측에서 쌍방이 주고 받는 데이터의 식별을 위해 Flag를 붙인다(S113). 또한, 상기 서버(B10)와 클라이언트(A10)에 대한 인증을 위해 상기 플래시메모리(110)에 저장된 Serial 또는 MAC Address에 해당하는 인증값(112)을 붙인다(S114). 그리고, 상기 플래시메모리(110)영역에 저장된 데이터베이스의 버전정보(113)를 붙인다(S115). 이후, 그외에 필요한 데이터를 붙여 질의모듈(300)에 의해 생성되는 패킷을 완료하게 된다(S116).
다음으로, 질의모듈(300)에서 생성된 패킷을 네트워크 디바이스 드라이버(200)로 전달한다(S117). 따라서, 상기 네트워크 디바이스 드라이버(200)에서 네트워크 인터페이스 장치(100)를 통해 서버(B10)로 전송된다(S118).
이에 따라, 상기 클라이언트(A10)가 송신한 패킷을 상기 서버(B10)가 수신하게 되며(S119), 상기 서버(B10)는 인증값(112)을 이용하여 상기 클라이언트(A10)에 대한 인증을 수행하고(S120), 수신된 패킷 중 버전정보(113)와 상기 서버(B10)내 데이터베이스의 버전을 비교하여 업데이트 수행여부를 판단하게 된다(S121).
업데이트 수행에 해당하는 경우(S122), 상기 클라이언트(A10) 측으로 제공할 패킷 생성하게 된다. 먼저, 클라이언트에서 제공된 패킷을 참조하여 IP Header를 생성하고(S122-1), UDP Header 생성하게 된다(S122-2). 그리고, Flag 붙이고 (S122-3), 상기 플래시메모리(110)에 저장된 인증값(112)과 버전정보(113)를 첨부하게 된다(S122-4). 다음으로, 갱신데이터베이스(600)를 패킷의 데이터 영역에 붙이게 되며(S122-5), 패킷이 완성(S122-6)된 후, 클라이언트(A10) 측으로 전송하게 된다(S122-7).
업데이트 불필요인 경우(S123)에도 동일하게 상기 클라이언트(A10) 측으로 제공할 패킷 생성하게 된다. 먼저, 플래시메모리(110)에 저장된 서버정보(111)를 참조하여 IP Header를 생성하고(S123-1), UDP Header 생성하게 된다(S123-2). 그리고, Flag 붙이고(S123-3), 상기 플래시메모리(110)에 저장된 인증값(112)과 버전정보(113)를 첨부하게 된다(S123-4). 패킷이 완성된 후, 클라이언트(A10) 측으로 전송하게 된다(S123-5).
그리고, 상기에서 전송된 패킷은 클라이언트(A10)에서 수신하게 되며(S124), 상기 수신된 패킷 중 Version을 상기 플래시메모리(110)에 저장된 데이터베이스의 버전정보(113)와 비교하여 전송된 패킷의 Version이 높은 경우(S125)에는 상기 Version을 플래시메모리(110)의 버전정보(113) 저장영역에 쓰기를 수행하고(S125-1), 전송된 패킷의 데이터영역에 저장된 데이터베이스를 상기 플래시메모리(110)의 갱신데이터베이스(600) 영역에 쓰기를 수행하게 된다(S125-2).
상기 수신된 패킷 중 Version을 상기 플래시메모리(110)에 저장된 데이터베이스의 버전정보(113)와 비교하여 전송된 패킷의 Version과 동일한 경우에는 업데이트 모듈(500)을 수행하지 않게 된다.
이상에서 설명한 바와 같이, 본 발명의 일실시예에 따른 온라인을 이용한 자동업데이트 시스템에 의하면 사용자의 업데이트 관리 없이 자동으로 업데이트 되는 이점이 있다.
그리고, 사용자 컴퓨터의 포맷 또는 재설치시 별도의 데이터베이스 업데이트가 필요없게 되는 또 다른 이점이 있다.
도1 : 본 발명의 일실시예에 따른 온라인을 이용한 자동업데이트 시스템의 구성도.
도2a : 본 발명의 일실시예에 따른 온라인을 이용한 자동업데이트 시스템의 흐름도.
도2b : 본 발명의 일실시예에 따른 온라인을 이용한 자동업데이트 시스템의 흐름도.
도2c : 본 발명의 일실시예에 따른 온라인을 이용한 자동업데이트 시스템의 흐름도.
< 도면의 주요부분에 대한 부호의 설명>
A10 : 클라이언트 B10 : 서버
C10 : 응용프로그램 100 : 네트워크 인터페이스 장치
110 : 플래시메모리 111 : 서버정보
112 : 인증값 113 : 버전정보
200 : 네트워크 디바이스 드라이버 300 : 질의모듈
400 : 비교모듈 500 : 업데이트 모듈
600 : 갱신데이터베이스

Claims (12)

  1. 삭제
  2. 클라이언트 컴퓨터에 장착 또는 연결되며, 요청에 의한 패킷을 송수신하는 네트워크 인터페이스 장치와; 상기 네트워크 인터페이스 장치를 오퍼레이팅 시스템 상에 인식시키고, 상기 네트워크 인터페이스 장치의 동작을 운영하는 네트워크 디바이스 드라이버와; 상기 네트워크 디바이스 드라이버 내부에 포함 또는 연동되며, 클라이언트측에 저장된 데이터베이스의 버전을 서버에 저장된 데이터베이스와 비교하는 패킷을 생성하여 상기 네트워크 디바이스 드라이버로 전송하는 질의모듈과; 서버측에 설치되어 구동되며, 클라이언트측에서 전송된 버전정보 데이터 패킷을 전송받아 서버측에 저장된 데이터베이스 버전과 비교하여 클라이언트측으로 결과를 제공하는 비교모듈과; 상기 네트워크 디바이스 드라이버 내부에 포함 또는 연동되며, 서버에서 제공된 비교모듈의 결과에 따라 클라이언트에 저장된 데이터베이스의 업데이트를 수행하는 업데이트 모듈과; 상기 업데이트 모듈에 의해 서버의 데이터베이스와 같은 버전의 데이터베이스로 갱신되는 갱신데이터베이스;를 포함하여 구성되는 것을 특징으로 하는 업데이트 시스템에 있어서,
    상기 네트워크 인터페이스 장치는 서버로부터 제공되고, 업데이트 모듈에 의해 업데이트되는 갱신데이터베이스와 상기 갱신데이터베이스의 버전 정보가 저장되는 플래시메모리를; 탑재하는 것을 특징으로 하는 온라인을 이용한 자동업데이트 시스템.
  3. 삭제
  4. 제2항에 있어서, 네트워크 인터페이스 장치는,
    상기 질의모듈에 의해 서버로 제공되는 클라이언트의 인증값이 저장되는 플래시메모리;를 탑재하는 것을 특징으로 하는 온라인을 이용한 자동업데이트 시스템.
  5. 삭제
  6. 제2항에 있어서, 상기 질의모듈은.
    서버와의 통신을 통해 클라이언트에 대한 인증값을 포함하여 전송하는 것을 특징으로 하는 온라인을 이용한 자동업데이트 시스템.
  7. 제 2항에 있어서, 상기 질의모듈은,
    부팅시 오퍼레이팅 시스템에서 상기 네트워크 인터페이스 장치를 인식하고 네트워크 디바이스 드라이버가 구동되면 상기 서버측에 질의할 패킷을 생성하여 네트워크 디바이스 드라이버로 전송하는 것을 특징으로 하는 온라인을 이용한 자동업데이트 시스템.
  8. 제 2항에 있어서, 상기 질의모듈은,
    클라이언트 컴퓨터의 부팅후, 상기 네트워크 디바이스 드라이버(200)를 통한 외부로 최초의 패킷이 나가는 경우, 상기 서버측에 질의할 패킷을 생성하여 네트워크 디바이스 드라이버로 전송하는 것을 특징으로 하는 온라인을 이용한 자동업데이트 시스템.
  9. 제 2항에 있어서, 상기 질의모듈은,
    클라이언트 컴퓨터의 부팅후, 일정시간의 경과시마다 상기 서버측에 질의할 패킷을 생성하여 네트워크 디바이스 드라이버로 전송하는 것을 특징으로 하는 온라인을 이용한 자동업데이트 시스템.
  10. 제 2항에 있어서, 상기 질의모듈은, 특정일자의 특정일시마다 상기 서버측에 질의할 패킷을 생성하여 네트워크 디바이스 드라이버로 전송하는 것을 특징으로 하는 온라인을 이용한 자동업데이트 시스템.
  11. 제 2항에 있어서, 상기 업데이트모듈은,
    클라이언트 컴퓨터의 종료시 업데이트된 갱신데이터베이스를 상기 플래시메모리에 쓰기하는 것을 특징으로 하는 온라인을 이용한 자동업데이트 시스템.
  12. 제 2항에 있어서, 상기 업데이트모듈은,
    업데이트된 갱신데이터베이스를 업데이트에 따른 실시간으로 상기 플래시메모리에 쓰기하는 것을 특징으로 하는 온라인을 이용한 자동업데이트 시스템.
KR10-2002-0006646A 2002-02-06 2002-02-06 온라인을 이용한 자동업데이트 시스템 KR100478857B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0006646A KR100478857B1 (ko) 2002-02-06 2002-02-06 온라인을 이용한 자동업데이트 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0006646A KR100478857B1 (ko) 2002-02-06 2002-02-06 온라인을 이용한 자동업데이트 시스템

Publications (2)

Publication Number Publication Date
KR20020036969A KR20020036969A (ko) 2002-05-17
KR100478857B1 true KR100478857B1 (ko) 2005-03-24

Family

ID=19719135

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0006646A KR100478857B1 (ko) 2002-02-06 2002-02-06 온라인을 이용한 자동업데이트 시스템

Country Status (1)

Country Link
KR (1) KR100478857B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743120B2 (en) 2002-10-29 2010-06-22 Canon Kabushiki Kaisha Information processing method and information processing apparatus

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020075322A (ko) * 2002-07-31 2002-10-04 주식회사 브레인웨어 Http를 이용한 서버와 서버간 프로그램의 실시간 패치 및 업데이트 시스템
US20050138117A1 (en) * 2003-12-18 2005-06-23 Samsung Electronics Co., Ltd. Method and system for pushing notifications to networked device
KR100675476B1 (ko) * 2004-07-09 2007-01-26 오종택 유/무선 하드를 이용한 자동 파일 갱신 장치 및 그 방법
DE102005025445A1 (de) * 2005-06-02 2006-12-07 Chang, Yuan-Jung, Hsinchuang Verfahren zum dynamischen Aktualisieren einer Maus-Assembler-Tastencode-Tabelle
KR101238381B1 (ko) * 2011-06-07 2013-02-28 엔에이치엔(주) 다중범위 스캔에서의 n 정렬 질의를 최적으로 처리하기 위한 방법 및 장치
CN111427889A (zh) * 2020-03-23 2020-07-17 北京三体云时代科技有限公司 数据库表升级的方法、装置及服务器

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08227355A (ja) * 1994-09-08 1996-09-03 Compaq Computer Corp コンピュータの自動アップグレード方法
KR19980077186A (ko) * 1997-04-17 1998-11-16 윤종용 프로그램 자동 업그레이드 방법
KR19990061251A (ko) * 1997-12-31 1999-07-26 윤종용 인터넷과 로컬디스크를 사용한 버전 매니저를 위한 고객과판매회사간의 네트워크 시스템 및 매니저 방법
US6006034A (en) * 1996-09-05 1999-12-21 Open Software Associates, Ltd. Systems and methods for automatic application version upgrading and maintenance
KR20000026846A (ko) * 1998-10-23 2000-05-15 윤종용 인터넷을 이용한 제품 업그레이드 지원 시스템 및 그 업그레이드 방법
KR20010103973A (ko) * 2000-05-12 2001-11-24 이수희 자동 업데이트 기능을 갖는 이벤트 맞춤 정보형 자동 분배웹브라우징 시스템

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08227355A (ja) * 1994-09-08 1996-09-03 Compaq Computer Corp コンピュータの自動アップグレード方法
US6006034A (en) * 1996-09-05 1999-12-21 Open Software Associates, Ltd. Systems and methods for automatic application version upgrading and maintenance
KR19980077186A (ko) * 1997-04-17 1998-11-16 윤종용 프로그램 자동 업그레이드 방법
KR19990061251A (ko) * 1997-12-31 1999-07-26 윤종용 인터넷과 로컬디스크를 사용한 버전 매니저를 위한 고객과판매회사간의 네트워크 시스템 및 매니저 방법
KR20000026846A (ko) * 1998-10-23 2000-05-15 윤종용 인터넷을 이용한 제품 업그레이드 지원 시스템 및 그 업그레이드 방법
KR20010103973A (ko) * 2000-05-12 2001-11-24 이수희 자동 업데이트 기능을 갖는 이벤트 맞춤 정보형 자동 분배웹브라우징 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743120B2 (en) 2002-10-29 2010-06-22 Canon Kabushiki Kaisha Information processing method and information processing apparatus

Also Published As

Publication number Publication date
KR20020036969A (ko) 2002-05-17

Similar Documents

Publication Publication Date Title
US9047486B2 (en) Method for virtualizing a personal working environment and device for the same
TWI526931B (zh) 用於虛擬機器之繼承產品啟動
US8230149B1 (en) Method and apparatus for managing a peripheral port of a computer system
US9766914B2 (en) System and methods for remote maintenance in an electronic network with multiple clients
TWI430174B (zh) 使用基本輸入輸出系統來安裝軟體之方法
EP1566726B1 (en) Detachable usb device comprising unit devices
EP2973147B1 (en) Policy-based secure web boot
US7165109B2 (en) Method and system to access software pertinent to an electronic peripheral device based on an address stored in a peripheral device
US7895573B1 (en) Execution environment file inventory
US20100132042A1 (en) Method for upgrading antivirus software and terminal and system thereof
US20080155075A1 (en) Remote management of boot application
US10078523B2 (en) Method to boot a computer from a user trusted device with an operating system loader stored thereon
US20030037202A1 (en) Data image management via emulation of non-volatile storage device
US20050005005A1 (en) Event-based application for performing configuration changes in a networked environment
US20080022380A1 (en) Method of patching applications on small resource-constrained secure devices
KR100478857B1 (ko) 온라인을 이용한 자동업데이트 시스템
US7330966B2 (en) Providing security based on a device identifier prior to booting an operating system
JP2007004316A (ja) プログラム配信システム、プログラム配信サーバ及びそれらに用いるプログラム配信方法
US7174465B2 (en) Secure method for system attribute modification
JP2011150499A (ja) シンクライアントシステム、シンクライアント端末およびシンクライアントプログラム
US20060075401A1 (en) Patch installation control
US20080230439A1 (en) Computer packaging system
US7343560B1 (en) Method and system for generating dynamic images
US20050228979A1 (en) Stored-program device
JP2010044656A (ja) 情報処理端末および管理サーバ

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: 20080218

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee