KR100714532B1 - 컴퓨터시스템에 주문소프트웨어 이미지를 제공하는 방법및 시스템 - Google Patents

컴퓨터시스템에 주문소프트웨어 이미지를 제공하는 방법및 시스템

Info

Publication number
KR100714532B1
KR100714532B1 KR1019980049644A KR19980049644A KR100714532B1 KR 100714532 B1 KR100714532 B1 KR 100714532B1 KR 1019980049644 A KR1019980049644 A KR 1019980049644A KR 19980049644 A KR19980049644 A KR 19980049644A KR 100714532 B1 KR100714532 B1 KR 100714532B1
Authority
KR
South Korea
Prior art keywords
software
computer
medium
tag
storage device
Prior art date
Application number
KR1019980049644A
Other languages
English (en)
Other versions
KR19990081785A (ko
Inventor
컬리간 탐
로버트슨 헌터
일리스 조나단
Original Assignee
델 유에스에이 엘 피
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 델 유에스에이 엘 피 filed Critical 델 유에스에이 엘 피
Publication of KR19990081785A publication Critical patent/KR19990081785A/ko
Application granted granted Critical
Publication of KR100714532B1 publication Critical patent/KR100714532B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • 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/44Program or device authentication

Landscapes

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

Abstract

본 발명은 소프트웨어이미지를 컴퓨터시스템에 제공하기 위한 방법 및 시스템이다.
본 발명은 특정한 개별 컴퓨터에 대해서 컨피규레이션되고 이 특정한 개별컴퓨터시스템에만 다운로드되어 작동될 수 있도록 제한되어 있는 주문제작 프로그램 CD ROM을 사용한다. 본 발명에 따른 방법과 시스템은 특정한 컴퓨터시스템을 최초의 컨피규레이션 및 다운로드 후 공장에서 출고된 상태의 소프트웨어 상태로 복원하는 설치프로시저를 사용한다. 주문제작 프로그램 CD ROM(106)이 부팅가능 플로피디스켓(108)과 함께 고객에게 인도되고, 컴퓨터시스템을 공장출고 당시의 소프트웨어상태로 복원하는데 고객이 사용할 수 있는 기술지시서도 함께 제공된다.

Description

컴퓨터시스템에 주문제작 소프트웨어 이미지를 제공하는 방법 및 시스템{Method and system for supplying a custom software image to a computer system}
본 발명은 소프트웨어이미지를 컴퓨터시스템에 제공하기 위한 방법 및 시스템에 대한 것이다.
컴퓨터시스템은 전형적으로는 하드웨어와 소프트웨어가 결합된 시스템으로 구입되고 공급된다. 과거에는 소프트웨어는 플로피디스켓을 통해 공급되어 구입자에 의해 디스켓드라이브에 수동으로 로드되어 다수의 디스켓으로부터 차례로 다운로드된다. 메모리와 디스크드라이브의 용량이 증대되고 소프트웨어 이미지의 크기가 커짐에 따라 플로피디스켓을 통한 소프트웨어의 로딩은 번거로운 일이 되었다. 예를 들면, 전형적인 소프트웨어시스템 이미지의 크기가 2 내지 600 메가바이트로 증대되었으며, 앞으로도 계속 증대될 것으로 예상된다. 따라서, 다량의 플로피디스켓, 예를 들면 50개의 디스켓이 전형적인 소프트웨어시스템이미지를 전송하기 위해 필요하게 된다.
많은 컴퓨터시스템 공급자들은 소프트웨어 이미지를 공급하기 위해 플로피디스크를 대용량의 CD ROM으로 대체하고 있다. CD ROM으로 소프트웨어를 공급하는 컴퓨터시스템 공급자는 적은 양(예를 들면 2 내지 3개)의 소프트웨어 컨피규레이션만을 사용하는 적은 수의 하드웨어 컨피규레이션(예를 들면 4 내지 8개)만을 판매한다. 소프트웨어 시스템은 공통적인 운영체제, 하드웨어드라이버, 소프트웨어유틸리티, 및 특정한 컨피규레이션을 가진 모든 컴퓨터시스템에서 사용하기 위한 응용프로그램을 포함한다. 이들 컴퓨터시스템 공급자는 소프트웨어디스켓을 수천 또는 수백 개씩 대량으로 제작하여, 동일한 소프트웨어 시스템이 많은 컴퓨터시스템에 호환성 있게 공급된다.
종래의 하드웨어 컴퓨터시스템은 전형적으로 다양한 하드웨어 서브시스템을 포함한다. 이들 종래의 대량생산 소프트웨어시스템을 하드웨어시스템에 설치하는 동안, 대개 몇 가지 소프트웨어 컨피규레이션이 수행된다. 다운로드과정은 대체로 하드웨어 서브시스템을 자동적으로 식별하여 검출된 서브시스템에 적당한 드라이버를 설치하는 루틴을 포함한다.
많은 다른 하드웨어 판매자는 하드웨어 서브시스템을 제공하고, 많은 다른 소프트웨어 공급자는 대량생산 디스켓을 통해 제공되는 소프트웨어모듈을 공급한다. 대량생산 소프트웨어를 사용하는 컴퓨터시스템에 소프트웨어를 공급하는 종래의 방식에 수반되는 공통적인 문제점은, 여러 하드웨어 서브시스템과 소프트웨어 모듈 간에 다양한 불일치가 발생된다는 것이다. 특정한 하드웨어-소프트웨어 시스템의 컨피규레이션이 최초로 결합되는 시점은 시스템이 공장으로부터 출고된 후 장시간이 경과된 후에 구매자가 컴퓨터시스템을 구입하거나 사용하려는 때이다. 구매자는 대체로 전문가가 아니므로 특정한 하드웨어시스템에 소프트웨어가 최적으로 수행되도록 다양한 하드웨어와 소프트웨어를 올바르게 세팅하기 어렵다. 그러므로 컴퓨터시스템의 판매는 컴퓨터의 구매자나, 구매자로부터 도움요청을 자주 받아야 하는 판매자 양자에게 번거롭고 시간이 많이 소모되는 일이다.
델컴퓨터사는 각 컴퓨터시스템을 주문에 맞추어 제작함으로써 하드웨어-소프트웨어시스템의 통합에 따른 문제점을 극복하고 있다. 고객은 컴퓨터의 주문시에 하드웨어시스템과 소프트웨어 패키지를 특정하여 주문한다. 컴퓨터에 풀네이티브 모드(full native mode)로 설치되는 하드웨어용의 특정한 드라이버를 설치하는 것을 포함하는 소프트웨어-하드웨어의 통합은 델컴퓨터사에 의해 공장에서 수행되고, 검사되어, 공장에서 출고되기 전에 호환성이나 적합성이 확인된다. 그러므로, 소프트웨어는 주문제작된 특정 하드웨어시스템에서의 작동이 보장되고, 특정한 드라이버나 운영체제에 적합하게 작동되는 것이 보장된다.
주문제작 컴퓨터시스템의 주요 특징은 각각의 소프트웨어의 로드가 고유하다는 것이다. 그러므로 소프트웨어는 양산되는 디스켓에 의해 공급될 수 없다. 그러므로 델컴퓨터사는 공장에서 특정한 하드웨어에 소프트웨어를 제공(bring up)할 때 소프트웨어이미지를 제공하여, 소프트웨어의 로딩이 적절하게 수행되도록 하고, 컴퓨터시스템의 하드디스크에 소프트웨어이미지가 로드된 상태로 컴퓨터시스템을 납품한다.
하드디스크드라이브는 다소 휘발성이 있는 매체이므로, 하드디스크드라이브에 저장된 이미지는 의도하였든 의도하지 않았던 변경될 수 있다. 소프트웨어이미지가 하드디스크드라이브를 통해 제공되므로, 소프트웨어이미지의 부적절한 변경은 쉽게 복구될 수 없다. 하드디스크에 올바른 데이터를 기록하면 해결될 수 있는 문제가 고객에 생겼는데, 백업매체를 만들지 않았을 경우에는, 델컴퓨터사에서 최초로 공급된 소프트웨어이미지를 포함하는 하드디스크를 교체 공급함으로써 해결하게 된다. 대체로, 제3의 유지보수자가 고객을 방문하여 잘못된 하드드라이브를 새 하드드라이브로 교체하고 설치작업을 행한다. 델컴퓨터사는 문제점의 발생이 시스템 자체의 잘못에 기인한 것이든 고객의 실수에 의한 것이든 교체해 준다. 예를 들면, 고객은 다른 하드웨어서브시스템을 설치하거나 하드웨어서브시스템을 제어하는 소프트웨어드라이버를 잘못 설치하여 시스템을 훼손할 수 있다.
하드디스크드라이브를 교체하는 것은 많은 문제점을 해결하기 위해 소프트웨어를 현장에 보내는 기본적인 방법이다. 이러한 문제점들의 예로는, 고객이나 바이러스에 의한 파일의 손상, 공장에서 공급하지 않은 부적절한 하드웨어서브시스템의 설치에 따른 문제, 고객이 운영체제를 바꾸려고 하는 경우, 잘못된 소프트웨어 다운로드, 하드드라이브의 오작동 등과 같은 것들이다.
불행하게도, 하드드라이브의 교체에는 비용이 많이 들고, 고객에게도 불편한 경우가 많다. 하드드라이브의 교체는 하드드라이브의 가격 자체는 물론, 유지보수의 요청, 회수된 하드드라이브의 취급 및 검사에 드는 많은 노력 등으로 인해 비용이 많이 든다. 따라서 이러한 비용과 불편을 해소하기 위해 컴퓨터시스템에 주문제작방식의 (built-to-order) 맞춤형 소프트웨어이미지를 공급하는 시스템과 기술이 필요하게 된다.
본 발명에 따른 컴퓨터시스템에 소프트웨어이미지를 제공하는 방법 및 시스템은 주문에 의해 프로그램된 CD ROM을 사용하는데, 이것은 특정한 개별시스템에 대해서만 작동되도록 컨피규레이션되어, 특정한 컴퓨터시스템에 대하여만 다운로드되고 작동될 수 있다. 이 방법과 시스템은 컴퓨터가 최초로 컨피규레이션되고 다운로드되어 공장에서 출고된 당시의 소프트웨어 상태로 특정 컴퓨터시스템을 복원하는 설치프로시저를 사용한다. 주문제작 프로그램 CD ROM은 부팅가능한 플로피디스크 및 기술지시서와 함께 고객에게 인도되어 고객이 컴퓨터시스템을 공장에서 처음 만든 소프트웨어상태로 복원하는데 사용된다.
본 발명에 따른 보호방법은 컴퓨터시스템, 주문제작 프로그램 CD ROM, 및 부팅가능 플로피디스크의 세 가지 구성요소를 사용하는데, 이들은 상호 고유하게 키설정(keyed)되어 상기 세 구성요소가 동시에 결합될 때에만 소프트웨어이미지의 다운로드가 가능하다. 그러므로 특정 주문제작 프로그램 CD ROM, 및 이와 동일한 키의 특정 부팅가능 플로피디스켓만이 동일한 키의 특정 컴퓨터시스템의 하드웨어에 대하여 다운로드될 수 있다. 이러한 보호기술은 키가 일치되지 않는 다른 컴퓨터시스템에 소프트웨어이미지가 로드되는 것을 방지할 수 있다. 이 보호방법은 태그ID를 주문제작 프로그램 CD ROM과, 부팅가능 플로피디스켓에 기입하는 것을 포함하는 세 개의 키 항목에 대한 교차참조 태그ID번호를 사용하고, 컴퓨터하드웨어의 고유한 서비스태그번호를 사용한다. 특정 교차키가 설정된 주문제작 프로그램 CD ROM, 관련 특정 부팅가능 플로피디스크, 및 고유하게 키설정된 컴퓨터하드웨어가 모두 매칭되어 결합될 때에만, 주문제작 프로그램 CD ROM에 수록된 소프트웨어이미지의 리로딩이 가능하게 된다.
본 발명에 따른 보호방법의 제1작동은 고유한 키의 주문제작 프로그램 CD ROM과 부팅가능 플로피디스크의 결합을 생성하는 것이다. 고객의 최초의 주문이 처리되어 특정한 고객결정 소프트웨어이미지로드가 고객의 최초 주문에 따라 컴파일된다. 소프트웨어이미지는 대체로 공장에서 컴퓨터시스템 하드웨어에 다운로드되어 고객에게 납품된다. 고객결정 소프트웨어 로드는 특정한 컴퓨터시스템 하드웨어의 하드디스크드라이브에 기록되도록 특별히 컨피규레이션된 소프트웨어이미지이다. 소프트웨어이미지와의 결합에 의해, 태그식별(ID)파일이 주문제작 프로그램 CD ROM에 기록되고, 이 CD ROM은 소프트웨어이미지를 수신하도록 허가된 특정한 컴퓨터시스템하드웨어의 서비스태그번호를 포함한다. 소프트웨어이미지와 식별파일의 결합은 CD ROM 메디아플래터에 번닝된다. 특정한 부팅가능 플로피디스크는 주문제작 프로그램 CD ROM의 식별번호와, 주문제작 프로그램 CD ROM의 태그정보를 포함하는 주문제작 프로그램 CD ROM에 대한 식별파일명을 포함한다. 또한, 부팅가능 플로프디스크는 CD복원프로그램과, 컴퓨터시스템에 소프트웨어이미지를 복원하는 과정을 제어하는 실행파일을 포함한다. 관련된 주문 프로그램 CD ROM과 부팅가능 플로피디스크는 서비스키트 기술지시서와 함께 고객에게 보내진다. 고객은 최초로 주문에 따라 컨피규레이션된 컴퓨터시스템 하드웨어를 받게 된다.
고객이 이를 수령하면, 서비스키트 기술지시서에 따라 고객은 부팅가능 플로피디스크를 컴퓨터시스템의 플로피디스크 드라이브슬롯에 삽입하고, 주문제작 프로그램 CD ROM을 컴퓨터시스템의 CD ROM슬롯에 삽입한 후에, 컴퓨터시스템을 재부팅한다. 부팅가능 플로피디스켓은 컴퓨터가 부팅되면 실행되는 CD 복원프로그램을 저장하고 있다. CD 복원프로그램은 먼저 주문제작 프로그램 CD ROM로부터 CD 이미지에 포함된 태그식별파일을 다운로드하여 오픈한다. CD복원프로그램은 주문제작 프로그램 CD ROM에 대한 태그식별파일을 오픈함과 더불어 부팅가능 플로피디스크로부터 식별파일을 오픈하여, 식별파일의 태그정보가 주문제작 프로그램 CD ROM과 부팅가능 플로피디스켓이 매칭되는지를 확인한다.
CD복원프로그램은 설치프로그램을 포함하는데, 이 설치프로그램은 설치프로그램을 실행하는 컴퓨터로부터 서비스태그번호를 입수한다. 컴퓨터서비스태그번호는 주문제작 프로그램 CD ROM에 저장된 식별파일에 포함된 태그정보와 비교된다. 만일, 컴퓨터하드웨어 서비스태그가 주문제작 프로그램 CD ROM상의 태그식별과 매칭되면, 복원프로그램은 하드드라이브상의 정보를 삭제하고 주문제작 프로그램 CD ROM으로부터 하드디스크드라이브로 소프트웨어이미지를 다운로드함으로써 하드드라이브 복원프로그램을 완료한다. 서비스태그번호가 매칭되지 않으면, 컴퓨터하드웨어로부터 액세스된 서비스태그번호가 고객에게 통보됨과 더불어, 고객에게 부가적인 서비스에 대한 안내가 제공된다.
여러 가지 이점들이 본 발명의 시스템 및 방법에 의해 달성될 수 있다. 그 중 하나는 소프트웨어 전달체계에서 현장에서의 문제점해결 및 소프트웨어 보정에 드는 비용을 절감할 수 있다. 이러한 소프트웨어전달체계는 현장에서의 하드디스크드라이브의 사고율을 낮추고, 공급자로부터 최초로 인도되었을 때의 컴퓨터의 오작동률을 낮출 수 있다. 이러한 소프트웨어전달체계는 컴퓨터시스템을 회수하여 검사할 때 복사본이 만들어지지 않는 하드디스크드라이브의 고장 횟수를 감소시키게 된다.
이러한 보호방법은 사용이 허가된 소프트웨어를 사용이 허가된 단일의 고유한 컴퓨터에만 사용할 수 있도록 제한하면서, 컴퓨터의 무료 또는 자유로운 소프트웨어 로딩을 허용하는 기본 프로세스와의 간섭을 피할 수 있게 한다.
이하에서 도면을 참조하여 본 발명의 바람직한 실시예를 설명한다.
도 1의 블록도를 참조하면, 소프트웨어이미지(102)를 PC와 같은 컴퓨터(104)로 전달하는 소프트웨어 전달체계(100)의 실시예가 도시된다. 도시된 소프트웨어 전달체계(100)는 데이터베이스(116)와 CD ROM 버너(118)를 포함하는데, 이들은 함께 작동하여 세 개의 소프트웨어 전달요소: (1)주문제작 프로그램 CD ROM(106), (2)부팅가능 플로피디스크(108), 및 (3)서비스키트 기술지시서(110)를 제작한다. 이들 세 구성요소는 상호 결합하여, 최초 컨피규레이션과 다운로드 이후에 컴퓨터(104)가 공장을 떠나는 때의 컴퓨터(104)의 상태와 동일한 "공장신규(factory new)"의 소프트웨어상태로 컴퓨터(104)를 복원하는 설치절차를 규정하고 실행한다.
세 요소는 서로 다른 목적을 가진다. 주문제작 프로그램 CD ROM(106)은 소프트웨어이미지(102)를 컴퓨터(104)의 메인 실행가능 기억장치, 전형적으로는 하드디스크드라이브(112)로 전달하는 소프트웨어 전달매체이다. 부팅가능 플로피디스켓(108)은 주문제작 프로그램 CD ROM(106)으로부터 다운로드를 제어하기 위한 소프트웨어 다운로드매체이다. 서비스키트 기술지시서(110)는 부팅가능 플로피디스켓(108)을 사용하여 주문제작 프로그램 CD ROM(106)으로부터 소프트웨어이미지(102)를 다운로드하도록 유저에게 지시하는 지시리스트이다.
데이터베이스(116)는 대용량기억장치 콘트롤러(120)와, 대용량기억장치(122)를 포함하는데, 이 대용량기억장치(122)는 하드디스크드라이브, CD ROM 드라이브, 자기테이프 등을 포함하는 복수개의 대용량기억장치를 포함한다. 대용량기억장치 콘트롤러(120)는 대용량기억장치(122)가 소스, 오브젝트, 앱솔류트, 바이너리코드, 소프트웨어이미지 등을 포함하는 다양한 포맷의 소프트웨어코드와 같은 정보에 액세스하도록 제어한다. 대용량기억장치 콘트롤러(120)는 어셈블러, 컴파일러, 링커 등과 같은 소프트웨어를 처리하여 프로그램을 수행할 컴퓨터의 하드디스크드라이브에 로드되는 소프트웨어이미지를 형성하는 다양한 프로그램을 포함한다.
도시된 실시예에서, 대용량기억장치 콘트롤러(120)는 대용량기억장치(122)와 CD ROM 버너(118)에 접속되어 소프트웨어코드를 대용량기억장치(112)로부터 CD ROM 매체로 전달한다. 대용량기억장치 콘트롤러(120)도 컴퓨터(104)에 접속될 수 있어서 대용량기억장치(122)로부터 컴퓨터(104)의 하드디스크드라이브(112)로 프로그램을 다운로드할 수 있다.
대용량기억장치 콘트롤러(120)의 하나의 작동은 컴퓨터(104)의 하드디스크드라이브(112)로 다운로드할 소프트웨어이미지(102)를 생성하고 컴퓨터(104)에 의해 후속적인 프로그램을 실행하는 것이다. 컴퓨터(104)의 하드웨어 및 소프트웨어 컨피규레이션은 대용량기억장치 콘트롤러(120)에 입력되어 소프트웨어이미지(102)에 포함될 소프트웨어 구성요소를 결정한다. 대용량기억장치 콘트롤러(120)는 소프트웨어이미지(102)를 생성하는 여러가지 처리프로그램을 실행한다. 이미지는 컴퓨터(104)에 다운로드되고 컴퓨터(104)를 구성하는 하드웨어 및 소프트웨어 패키지는 고객에게 납품된다. 고객의 주문을 접수하여 소프트웨어를 다운로드하기까지의 소프트웨어이미지 제공과정은 자동적으로 또는 반자동적으로 이루어진다.
동일한 자동 과정이 주문제작 프로그램 CD ROM(106)을 생성하기 위해 사용된다. 주문제작 프로그램 CD ROM(106)은 컴퓨터시스템에 문제가 발생하는 경우에 고객이 이용하도록 제작된다. 어떤 시스템에서는, 컴퓨터시스템의 초기 프로그래밍과정에서 생성된 소프트웨어이미지(102)가 대용량기억장치(122)에 저장된다. 다른 시스템에서는, 필요시에 최초의 고객주문을 재입력하는 것만으로 다시 생성된다.
도시된 시스템을 예로 들면, 동일한 자동과정이, 하드디스크드라이브에 다운로드하기 위한 소프트웨어이미지를 생성하거나, CD ROM에 버닝(burning)될 이미지를 생성하기 위해 사용된다. 그러나, 하드드라이브에 이미지를 다운로드하는 대신, 소프트웨어이미지가 CD ROM 버너(118)에 전달되어 소프트웨어이미지(102)를 주문제작 프로그램 CD ROM(106)에 버닝하고, 부팅가능 플로피디스켓(108)이 프로그램되고, CD ROM 및 디스켓 패키지가 고객에게 보내질 수 있다. 자동과정은 경제적이고 효과적으로 주문제작 프로그램 CD ROM(106)과 부팅가능 플로피디스켓(108)을 생성하는 자동 또는 반자동 기술을 사용하도록 된 내부프로세스 컨트롤 스크립트를 활용할 수 있어서 유리하다. 비록 컨트롤 스크립트는 잠재적으로 복잡하지만, 자동기술은 숙련자의 작업을 요하지 않고 소프트웨어 전달매체의 생성을 촉진한다.
주문제작 프로그램 CD ROM(106)은 특정한 개별 컴퓨터하드웨어에만 작동되도록 컨피규레이션되며, 특정한 개별컴퓨터에만 실행되도록 다운로드될 수 있다. 부팅가능 플로피디스크(108)는 주문제작 프로그램 CD ROM(106)과 특정한 개별 컴퓨터에 매칭되도록 개별적으로 코딩된다. 주문제작 프로그램 CD ROM(106)에 형성된 소프트웨어이미지(102)는 버스, BIOS, 장치드라이버 및 운영체제 등, 각 장치의 상세한 레벨까지 컴퓨터하드웨어의 컨피규레이션과 정확하게 매칭된다. 소프트웨어이미지(102)는 하드디스크드라이브(112)에 기록되고, 컴퓨터(104)는 올바른 소프트웨어컨피규레이션에 의해 즉시 작동(활성화)되어 설치된 하드웨어를 구동할 수 있다.
소프트웨어전달체계(100)는 또한, 상호 고유하게 키설정되는 컴퓨터(104)의 특별한 컨피규레이션과, 주문제작 프로그램 CD ROM(106) 및 부팅가능 플로피디스켓(108)에 의해 보호방법을 실행하여, 소프트웨어이미지의 로딩은 세 개의 요소가 결합되어 채용될 때만 가능하도록 된다. 주문제작 프로그램 CD ROM(106)과 부팅가능 플로피디스켓(108)은 동일한 식별키를 가진 공통 소프트웨어 전달체계패키지를 형성하여 동일한 식별키를 가진 특정한 컴퓨터하드웨어(104)에만 소프트웨어이미지(102)를 다운로드할 수 있다. 교차참조 태그식별번호는 태그식별자(ID)를 주문제작 프로그램 CD ROM(106)과 부팅가능 플로피디스켓(108)에 적용함으로써 코딩된다. 컴퓨터하드웨어(104)는 또한 특정한 하나의 컴퓨터를 식별하는 고유한 서비스태그 식별자를 가진다. 서비스태그는 전형적으로는 컴퓨터(104) 내의 기억섹션에 프로그램된 또는 버닝된 다중문자 알파뉴메릭 문자열이다. 어떤 시스템에서, 서비스태그는 컴퓨터(104)의 제조과정에서 비휘발성 메모리의 히든섹션에 기록된다.
본 발명의 보호방법은 소프트웨어이미지(102)를 수신하도록 키설정된 컴퓨터하드웨어(104)가 아닌 다른 컴퓨터하드웨어에 소프트웨어이미지(102)를 로드하는 것을 방지한다. 컴퓨터(104)의 하드디스크드라이브(112)상의 주문제작 프로그램 CD ROM(106)에 수록된 소프트웨어이미지(102)의 리로딩은 특정한 교차키설정된 주문제작 프로그램 CD ROM(106)과, 연관된 특정한 부팅가능 플로피디스켓(108) 및 고유하게 키설정된 컴퓨터하드웨어(104)와 서로 매칭되어 결합될 때에만 가능하게 된다.
도 1과 도 2의 흐름도를 참조하면, 소프트웨어전달체계(100)의 보호기술(200)을 적용하는데 수행되는 작동을 도시한다. 보호기술(200)은 실시허락된 소프트웨어가 허락된 단일의 고유한 컴퓨터에만 사용되도록 제한하며, 컴퓨터의 자유로운 무료 소프트웨어 로딩을 허용하는 기본프로세스와의 간섭을 피하도록 한다.
소프트웨어이미지생성작동(202)에서, 최초의 고객주문이 처리되어 특정한 고객결정 소프트웨어이미지(102)의 로드가 최초의 고객주문에 따라 컴파일된다. 고객결정 로드는 특정한 컴퓨터하드웨어(104)의 하드디스크드라이브(112)에 기록되도록 특정하게 컨피규레이션된다. 따라서, 소프트웨어이미지(102)는 최초에 공장에서 컴퓨터시스템 하드웨어의 하드디스크에 다운로드되어 고객에게 납품된 하드디스크와 동일하게 된다.
일단 소프트웨어이미지(102)가 생성되면, 보호기술(200)은 키설정 패키지 생성작동(204)을 수행하는데, 여기서 고유한 키의 주문제작 프로그램 CD ROM(106)과 부팅가능 플로피디스켓(108)가 결합된 키 코드가 형성된다. 키의 생성은 소프트웨어이미지(102)를 수신하도록 허가된 특정한 컴퓨터하드웨어(104)의 서비스태그번호(206)에 액세스하고, 서비스태그번호를 포함하는 태그식별파일(208)을 생성함으로써 수행된다. 서비스태그에 기초한 키에 더하여, 태그식별자 형성작동(208)은 무작위번호문자의 발생작업을 포함한다. 도시된 실시예에서, 컴퓨터(104)로부터의 서비스태그와 무작위번호는 주문제작 프로그램 CD ROM(106) 및 부팅가능 플로피디스켓(108)의 양자에 기록되는 키로서 사용되어, 사용허락된 소프트웨어가 사용허락된 컴퓨터 이외의 다른 컴퓨터에 사용되는 것을 방지하는 기본적인 식별자로서 기능하게 된다.
CD ROM 기록작동(210)은 결합된 소프트웨어이미지(102)와 태그식별파일을 주문제작 프로그램 CD ROM매체에 버닝하는 것이다.
키설정 패키지 생성작동(201)의 다른 작동은 부팅가능 플로피디스켓(108)을 준비하는 것이다. 플로피디스켓식별파일생성작동(212)은 서비스태그의 무작위번호태그의 코드를 포함하는 주문제작 프로그램 CD ROM(106)에 대한 태그정보와, 태그식별파일의 명칭을 포함하는 식별태그파일을 주문제작 프로그램 CD ROM(106) 상에 형성하는 것이다. 다음에, 플로피디스켓식별파일생성작동(212)은 식별태그파일을 부팅가능 플로피디스켓(108)에 기록한다. 복원프로그램생성작동(214)은 CD복원프로그램을 부팅가능플로피디스켓(108)에 저장한다. CD복원프로그램은 고객과 같은 유저에 의해 실행되어 소프트웨어이미지(102)를 컴퓨터(104)의 하드디스크드라이브(112)에 복원하는 실행파일이다. 다른 실시예에서, CD복원프로그램은 사용자의 개입 없이 자동으로 실행될 수 있다. 또 다른 실시예에서는, CD복원프로그램은 경고메시지를 표시하고 사용자가 응답하도록 허용하는 대기시간이 경과된 후에 자동으로 실행될 수 있다.
소프트웨어 전달패키지발송 작동(216)에서, 주문제작 프로그램 CD ROM(106)과 부팅가능 플로피디스켓(108) 및 서비스키트기술지시서(110)를 포함하는 패키지가 유저나 고객에게 발송된다. 유저는 최초로 주문되고 컨피규레이션된 컴퓨터시스템하드웨어(104)를 보유하고 있는 것으로 간주된다. 서비스키트기술지시서(110)는 유저에게 고객프로그램CD ROM(106)과 부팅가능 플로피디스켓(108)을 사용하여 하드디스크드라이브(112)를 공장에서 최초로 납품된 당시의 컴퓨터의 정확한 소프트웨어상태 대로 복원하는 것에 관한 지시를 제공한다. 최초로 인도된 이후에 컴퓨터(104)에 설치된 어떠한 소프트웨어나 기록된 데이터는 모두 제거되어 모든 데이터값과 프로세서상태는 초기화된다.
유저는 소프트웨어전달패키지를 수령하고, 서비스키트기술지시서(110)는 유저로 하여금, 주문제작 프로그램CD ROM(106)을 컴퓨터시스템 CD ROM 리더에 투입하고 부팅가능 플로피디스켓(108)을 컴퓨터시스템의 플로피디스크 드라이브슬롯에 삽입하고 컴퓨터를 재부팅함으로써 복원프로그램(218)을 실행하도록 지시한다.
컴퓨터(104)를 재부팅하는 하나의 방법은 컴퓨터의 전원을 끄고 20초쯤 기다린 후, 컴퓨터(104)에 전원을 다시 키는 것이다. 부팅가능 플로피디스켓(108)은 컴퓨터(104)의 부트스트랩의 로딩에 의해 개시되는 복원프로그램을 저장한다. 복원프로그램실행동작(218)은 하드디스크드라이브(112)의 마스터부트레코드를 수정함으로써 제조공정의 소프트웨어 다운로드부분을 시뮬레이트하여 특별복원 운영체제를 호출한다. EXE, BAT 및 CONFIG.SYS파일을 포함하는 특별한 운영체제파일이 활성화되어 CD ROM 드라이버를 로드하고 CD R0M상의 소프트웨어이미지(102)를 찾아낸다.
식별태그검사작동(220)에서, 복원프로그램은 먼저 주문제작 프로그램 CD ROM(106)으로부터 CD 이미지에 포함된 태그식별파일을 다운로드하여 오픈한다. 주문제작 프로그램 CD ROM(106)의 태그식별파일을 오픈함과 더불어, 복원프로그램은 부팅가능 플로피디스켓(108)으로부터 식별파일을 오픈하고 식별파일 내의 정보가 주문제작 프로그램 CD ROM(106)과 부팅가능 플로피디스켓(108)에 매칭되는지를 확인한다.
설치프로그램실행작동(222)에서, 설치프로그램은 설치프로그램을 실행하는 컴퓨터(104)에서 서비스태그번호를 얻는다. 설치프로그램은 전형적으로는 부팅가능 플로피디스켓(108)에 저장되지만 다른 실시예에서는 주문제작 프로그램 CD ROM(106)이나 기타의 저장매체에 저장될 수 있다.
설치프로그램은 컴퓨터(104)의 서비스태그번호를 몇 가지 액세스방법 중의 하나를 통해서 액세스한다. 예를 들면, 설치프로그램은 컴퓨터(104)의 프로세서 내의 선택된 기억위치를 읽는 XBIOS 콜(호출)을 사용하여 서비스태그번호에 액세스할 수 있다. 또한, 다른 기술 또는 기술의 조합이 서비스태그번호에 액세스하기 위해 사용될 수 있다. 예를 들면, 멀티타입 컴퓨터시스템에 적용 가능한 보호기술은 다중기술을 이용하여 서비스태그에 액세스할 수 있다. 한 예로, 컴퓨터시스템 식별(아이디)코드가 설치프로그램에 의해 액세스되어, 실행컴퓨터의 하드웨어 및 소프트웨어 플랫폼을 결정하고, 이로써 서비스태그에 대한 적절한 액세스기술을 표시할 수 있다. 제1 타입의 컴퓨터에서, XBIOS 콜이 서비스태그에 액세스하기 위해 사용된다. 제2 타입의 컴퓨터는 CMOS ROM나 배터리지원 비휘발성메모리를 판독하는 특허기술을 통해 액세스되는 서비스태그를 가진다. 제3 타입의 컴퓨터는 데스크탑 매니지먼트인터페이스(DMI) 콜을 사용하여 액세스되는 서비스태그를 가진다.
시스템 식별코드는 컴퓨터의 일반적인 타입을 지정한다. 서비스태그에 어떻게 액세스할 것인지를 결정하기 위해 컴퓨터의 시스템아이디코드를 사용하는 것은 소프트웨어전달체계(100)가 다양한 타입과 세대의 컴퓨터를 지원할 수 있게 한다는 점에서 유리하다. 서비스태그에 액세스하는 다른 기술의 사용은 소프트웨어전달체계(100)가 다양한 운영체제를 실행하는 컴퓨터를 지원할 수 있게 한다는 점에서 유리하다. 예를 들면, 내부기억위치의 액세스는 윈도우95 운영체제를 수행하는 컴퓨터와 윈도우NT운영체제를 수행하는 컴퓨터가 서로 다르다.
하드웨어 키 검증작동(224)은 컴퓨터(104)의 서비스태그번호를 주문제작 프로그램 CD ROM(106)에 저장된 식별파일에 포함된 태그식별정보와 비교한다. 만일 컴퓨터(104)가 주문제작 프로그램 CD ROM(106)의 태그아이디와 매칭되면, 복원프로그램은 경고메시지를 표시하고 유저가 복원프로그램을 중단할 때까지 대기한 후, 하드디스크드라이브복원과정을 종료한다. 경고메시지는 유저에게 하드드라이브가 삭제될 것이라는 것을 알려주며 복원과정을 중단하는 버튼아이콘을 제공한다. 그러므로 유저는 작동을 중단하고 하드디스크로부터 중요한 데이터가 삭제되기 전에 데이터를 이전하도록 한다.
하드드라이브복원프로세스는 하드드라이브(112)상의 정보를 삭제하고, 주문제작 프로그램 CD ROM(106)으로부터 소프트웨어이미지(102)를 하드디스크드라이브(112)에 다운로드함으로써 완료된다. 복원프로그램은 하드드라이브(112)를 포맷하여 하드디스크(112)를 삭제함으로써 오염되었을 가능성이 있는 데이터를 제거하여 드라이브의 정상적인 작동을 보장하고 드라이브(112)를 오염시켰을 바이러스를 제거한다. 복원프로그램은 최초에 주문되고 주문제작 프로그램 CD ROM(106)으로부터 컨피규레이션된 모든 소프트웨어를 올바른 순서에 따라 하드디스크드라이브(112)에 복사함으로써 소프트웨어이미지(102)를 다운로드한다. 파일이 하드디스크드라이브(112)에 복사될 때, 파일속성은 소프트웨어이미지(102)의 작동을 위해 올바르게 할당 또는 리셋된다. 복사과정은 적당한 시간, 전형적으로는 10 내지 25분 정도 소요된다. 파일복사에 이어, 소프트웨어전달검사작동(230)은 소프트웨어-하드웨어 키설정과 소프트웨어다운로드가 올바르게 수행되는지를 검증하는 루틴을 실행한다. 복원프로그램은 컴퓨터의 디스플레이상에 유저로 하여금 CD ROM을 리더로부터 제거하고 부팅가능 플로피디스켓(108)을 드라이브로부터 제거하고 컴퓨터(104)를 재부팅하도록 요구하는 메시지를 표시함으로써 종료된다. 두번째의 재부팅동작 후에 컴퓨터(104)의 상태는 유저 또는 고객과 제조자와의 사이의 계약에 의해 원래의 소프트웨어주문에 가해진 수정으로 인해 발생될 수 있는 차이를 제외하면 최초에 인도된 컴퓨터의 상태와 동일한 상태로 된다.
여러 가지 실시예에서, 부가적인 보호기술이 추가될 수 있다. 예를 들면, 어떤 시스템에서는 주문제작 프로그램 CD ROM(106)의 파일에 있는 데이터는 주문제작 프로그램 CD ROM(106)의 프로그래밍에 앞서 미리 정의된 방법으로 변경될 수 있다. 복원프로그램은 소프트웨어이미지(102)가 하드디스크드라이브(112)에 기록될 때 상기 정의된 변경을 역변환(리버스)한다. 부가적인 보호기술이 CD ROM(106)으로부터 무단으로 데이터를 읽거나 유틸리티프로그램을 사용하여 데이터를 디스크에 기록하는 것을 방지한다.
컴퓨터(104)의 서비스태그가 CD ROM(106)의 서비스아이디와 매칭되지 않으면, 복원프로그램은 에러상태신호(234)를 발생한다. 복원프로그램은 컴퓨터하드웨어(104)로부터 액세스된 서비스태그번호를 포함하는 진단정보를 제공하고, 지시를 통해 유저에게 부가적인 서비스조언을 제공한다.
도 3a 및 도 3b를 참조하면, 소프트웨어전달패키지를 제작하기 위해 수행되는 동작을 포함하는 예시적인 과정을 보여주는 흐름도가 도시된다. 소프트웨어전달패키지는 고객에게 전달될 CD ROM(106), 부팅가능 플로피디스켓(108) 및 서비스키트기술지시서(110)를 포함한다.
소프트웨어전달패키지 제작과정(300)은 디스패처가 자동화/컴퓨터화된 시스템에 주문번호를 입력하여 고객주문레코드(302)를 검색함으로써 개시된다. 고객주문레코드는 고객이 주문한 소프트웨어를 부품번호로 특정한다. 디스패처는 고객주문에서 요구된 소프트웨어에 대한 부품번호(304)를 입력한다. 그러면, 디스패처는 구매주문(P0)필드, 납품방법 및 타이(연결)번호를 포함하는 단축주문(short order)로서 디스패치 발행상태를 입력한다(306). 디스패처는 납품주소가 올바른지를 확인한다(308). 디스패처는 교환주문번호을 발생하고(310), 디스패치를 디스패치코멘트로그에 로그한다(312).
로그된 주문은 필드서비스에 자동적으로 프린트된다(314). 필드서비스는 로드된 고객특정 소프트웨어를 포함하는 하드드라이브를 구축하고(316), CD ROM 번스테이션에 전달한다.
CD ROM 번스테이션과정(318)이 개시되고 CD ROM 번스테이션의 필드서비스 요원이 하드드라이브를 CD 번스테이션에 접속한다(320). 필드서비스 요원이 디스패처로부터 고객서비스태그를 참조한다(322). 그러면 필드서비스 요원은, 하드디스크드라이브가 소프트웨어이미지를 복사하도록 준비하고 하드디스크드라이브로부터 플로피디스켓으로 파일을 복사하는 PREP_BAT루틴과, 전술한 바와 같이 컴퓨터와 CD ROM과 부팅가능 플로피디스켓을 상호 관련시키는 식별태그를 만드는 MAKETAG_EXE를 실행한다(324). PREP_BAT루틴은 서비스태그의 입력을 프롬프트한다.
필드서비스 요원은 주문제작 프로그램된 CD ROM을 버닝하는 CDBURN_FLU을 실행한다(326). 필드서비스 요원은 서비스태그를 번스테이션 소프트웨어로 입력하여(328) 주문제작 프로그램 CD ROM(106)을 고객주문 소프트웨어이미지로 버닝한다(330). 필드서비스요원은 서비스키트 기술지시서(110)를 스톡으로부터 꺼내고(332), 주문제작 프로그램 CD ROM(106), 부팅가능 플로피디스켓(108) 및 서비스키트 기술지시서(110)를 납품박스에 투입한다(334). 그러면, 필드서비스요원은 납품박스를 납품하여(336) 고객에게 인도한다.
도 4를 참조하면, 유틸리티프로그램을 실행하기 위한 운영체제 독립환경을 생성하는 시스템을 실행하는 컴퓨터시스템(400)이 도시된다. 컴퓨터시스템(400)은 전형적으로는 프로세서(410), 시스템 RAM(420), 시스템 ROM(422), 하드디스크드라이브(430) 및 다양한 입출력장치(440)를 포함하는 퍼스컴이다. 이 시스템의 구성요소는 데이터, 어드레스, 제어라인을 포함하는 버스(450)를 통해 통신한다. CMOS 클록 비휘발성RAM(460)은 버스(450)를 통해 프로세서(410)에 접속되는데, 전형적으로는 컴퓨터시스템(440)의 전원이 끊어진 경우에도 정보를 저장하기 위해 사용된다. 운영체제 독립환경을 생성하는 시스템을 만드는 프로그램명령이 프로세서(410)에 접속된 하드디스크드라이브(410)나 시스템 R0M(422)과 같은 기억장치에 저장된다. 프로세서(410)는 예를 들면 486, 586과 같은 x86 프로세서이거나 또는 펜티엄프로세서로서 컴퓨터시스템(400)의 연산작동을 수행한다.
도 5의 컴퓨터시스템의 메모리맵(500)를 참조하면, 프로그램메모리(510)는 시작어드레스 00000H를 가지고, 비디오메모리(512)는 시작어드레스 0A000H를 가지며, BIOS메모리(514)는 0F000H 내지 0FFFFH 사이의 어드레스에 위치한다. BIOS는 운용체계를 특정한 컴퓨터에 적응시키는 운영체제의 일부를 이룬다. BIOS는 예를들면 시스템클록, 하드디스크, 디스플레이와 같은 공통장치에 대한 최저수준의 인터페이스를 형성한다. BIOS메모리(514)는 확장 베이직 입출력장치, 즉, XBIOS(520)와 인터페이스하기 위한 정보를 포함한다.
XBIOS(520)는 컴퓨터시스템의 BIOS의 기능을 확장한다. 구체적으로는, 다양한 컴퓨터시스템 통합기가 표준 BIOS의 기능에 확장된 특성을 제공하기 위해 XBIOS 메모리(520)를 포함한다. 이들 특성에는 컴퓨터사용자의 편의를 위한 프로그램의 사용을 촉진하는 것이 포함된다. 특히, 본 발명의 실시예에서 달성되는 기능으로는, 콘트롤블록의 어드레스를 지나 시스템매니지먼트모드(SMM)에 도달하기 위한 BIOS 기능성이 사용되는데, 이것은 콘트롤블록에서 지정하는 동작을 수행한다. 이러한 동작은 보호된 파티션테이블을 갱신하는 것이다. 다른 동작은 디스크드라이브의 특정한 물리적 섹터위치를 식별하는 것이다. BIOS에 의해 전형적으로 수행되는 다른 특징적인 동작은 충전식 배터리의 배터리잔여수명을 표시하는 배터리아이콘관리와 파워매니지먼트 파라메타를 설정하는 콘트롤패널을 작동하는 것이다. 기타의 특징으로는 WinCPL을 포함하는데, 이것은 시스템셋업작동을 호출하지 않고 파워매니지먼트기능을 수행할 수 있게 하는 것이다. WinCPL은 패스워드설정과 같은 여러 가지 보안작동, 스피커볼륨의 조절, 시뮬레이션된 키의 클릭을 가능케 하는 것, 밝기나 콘트라스트와 같은 디스플레이파라메타의 수정 등을 제어한다. 다른 특징적 기능들로는, 자원(asset)태그유틸리티를 포함하는데, 이것은 컴퓨터유저가 자원태그를 할당하여 특정한 컴퓨터시스템을 식별하고 할당된 자원태그를 읽도록 한다. 자원태그는 컴퓨터시스템의 구성목록을 확인하여 회계목적 등에 사용할 수 있어서 유용한다. 다른 특징으로는 비디오바이어스나 모니터 리플레시레이트 등에 대한 비디어모니터 파라메터를 제어하는 monitor.exe 실행파일이 있다.
XBIOS(520)는 XBIOS테이블(522) 내의 입력(엔트리)를 지정하는 복수의 포인터를 저장한다. XBIOS테이블(522)은 할당된 다양한 응용프로그램기능(524)의 메모리어드레스에 대한 복수의 포인터를 포함한다. 각각의 개별 XBIOS 프로그램기능(524)은 XBIOS 테이블(522) 내에 별도의 엔트리를 가지며 또한 XBIOS 테이블(522) 내에 저정된 별도의 엔트리 포인트를 가진다.
한 가지 작동모드에서, XBIOS(520) 내의 프로그램코드는 작동식별자와 파라메터를 CMOS 메모리(460)에 전달하고 SMI#신호를 호출하는 입출력지령을 수행함으로서 동작을 수행한다. SMI#신호는 작동의 시스템매니지먼트모드(SMM)을 활성화하는 신호이다. 프로세서(410)가 지령영역 내에서 SMI#신호를 인식하면, 프로세서(410)는 모든 저장동작이 완료되길 기다린다. 그러면, 프로세서(410)는 프로세서 레지스터상태를 시스템매니지먼트RAM(SMRAM)이라고 칭하는 메모리공간의 구역에 저장하고 SMM 핸들러루틴을 실행한다. SMI# 인터럽트는 디버그익셉션(제거)나 외부인터럽트에 비해 훨씬 우선순위가 높아서 SMM프로세싱이 디버그나 외부인터럽트상태보다 우선적으로 작동된다. 후속하는 SMI# 및 논마스커블 인터럽트(NMI)요구는 프로세서가 시스템매니지먼트모드에서 작동되는 동안에는 인식되지 않는다.
시스템매니지먼트모드(SMM)프로세싱은 종래에서와 같이 소프트웨어루틴이 특정한 패턴이나 코드를 특정하게 정의된 SMI 입출력 I/O위치에 기록함으로써 수행된다. 패턴은 적당하게 복잡하게 정의되어 부정확하고 부적절한 패턴이 실수로 세팅되지 않도록 한다. 일반적으로, 패턴은 충분한 양의 작동정보를 코드화하여 이 정도의 복잡성이 쉽게 달성될 수 있다. 바람직하게는, 패턴코드는 호출되는 정밀한 XBIOS작동에 충분하도록 특정되어, 확보된 운영체제의 안정성이 훼손되지 않으면서 유용한 기능들이 작동될 수 있도록 한다. 이 패턴을 SMI I/O 위치에 기록하면 SMI# 신호를 발생하고, 시스템매니지먼트모드 인터럽트를 호출한다.
도 6을 참조하면, 완전한 XBIOS 기능성을 제공하는 소프트웨어시스템(600)의 작동을 설명하는 블록도가 도시된다. 소프트웨어 시스템(600)은 시스템매니지먼트모드(SMM)작동용 인터페이스를 구비한다. 이 인터페이스에서, 응용프로그램(610)은 직접 SMI# 인터럽트의 호출을 시도하지 않고, 그 대신에 응용프로그램(610)은 XBIOS(614)에게 SMM작동(620)을 호출하도록 요구한다. SMM작동(620)은 운영체제(602)의 작동 및 제어와는 독립적으로 활성화된다.
소프트웨어 시스템(600)에서, 응용소프트웨어프로그램(610)은 윈도우NT, 윈도우95, OS/2 등의 타겟 운영체제(602)의 다이나믹링크성능을 사용하여 수행되도록 준비되어, 다이나믹링크환경은 운영체제(602)에 의해 지휘되는 프로그램로딩스텝과 링크스텝을 포함하도록 한다. 링커는 한 세트의 다이나믹링크 라이브러리(DLL;604)를 스캐닝한다. 이들 라이브러리의 일부는 실행파일(604)에 링크된 런타임지원코드를 포함한다. 다른 라이브러리는, 수입라이브러리라고 부르는데, 운영체제(602)가 실행을 위해 프로그램실행파일(612)을 로드할 때까지 완전히 풀리지 않은(resolved) 기능에 대한 레퍼런스를 포함한다. 운영체제(602)의 링커는 수입라이브러리를 스캔하고 타겟모듈명과 수치엔트리포인트를 실행파일(612)에 기입한다. 운영체제(602)가 실행파일(612)을 실행하기 위해 로드하면, 운영체제(602)는 이들 레퍼런스를 기능호출에 유효하게 사용될 수 있는 어드레스와 교체한다. 다이나믹링크라이브러리(DLL)는 다이나믹링크에 의해 이들 레퍼런스를 만족하는 모듈이다. DLL은 외부레퍼런스를 만족하는 한 세트의 엔트리포인트를 선언한다.
다이나믹링크라이브러리(DLL;604)의 여러 라이브러리는 XBIOS요구(604)를 포스트하는 XBIOS 콜(호출)을 만드는 작동코드를 포함한다. 다양한 저급레벨의 기능을 호출하는 하나 이상의 XBIOS 콜을 이용하는 응용프로그램(610)은 데이터저장요소를 핸들링데이타에 할당한다. 전형적으로는, 메모리의 알려진 위치가 응용프로그램(610)에 할당되어 수행될 특정한 시스템매니지먼트기능을 지정하는 정보를 저장함으로써 신호(614)를 포스트한다. 그러나, 어떤 안정된 운영체제, 예를 들면, 윈도우NT는 메모리의 특정한 알려진 위치에의 액세스나 할당을 허용하지 않는다. 그러므로 소프트웨어시스템(600)에서, 프로세서(410)의 범용레지스터가 할당되어 신호(614)를 포스트하고 요구된 특정한 시스템매니지먼트기능을 지정하는 정보를 저장하고 SMM작동(620)과 XBIOS루틴(608)의 서비스에 의해 SMM/XBIOS 처리의 응답을 저장하도록 한다. 어떤 실시예에서, 소프트웨어시스템(600)은 AX, BX, CA 및 DX와 같은 16비트 범용레지스터를 SMM작동(620) 및 XBIOS루틴(608)을 호출하기 위한 패턴을 저장하도록 할당한다. 다른 실시예에서, EAX, EBX, ECX 및 EDX와 같은 32비트 레지스터가 활성화 패턴을 저장하도록 사용된다.
지금까지 여러 가지 실시예를 참조하여 본 발명이 설명되었으나, 이들 실시예는 예시적인 것이고 본 발명의 범위는 이들 실시예에 국한되지는 않는다. 이들 실시예에 대하여 여러 가지 변형이나 수정, 추가 및 개선이 가능할 것이다. 예를 들면, 이 분야의 통상전문가라면 여기에 개시된 구조와 방법을 제공하는데 필요한 방법들을 실행할 수 있을 것이며, 프로세스파라메타, 재료 및 규격들은 예시적으로 제시된 것이고 본 발명의 기술사상의 범위 내에서 바람직한 구조나 수정을 달성하기 위해 변경될 수 있다는 것을 이해할 것이다.
예를 들면, 설명된 실시예는 윈도우NT나 윈도우95의 보호 및 보안성을 제공하는 시스템으로 예시되었다. 그러나 본 발명은 다른 유사한 보안수단, 예를 들면 OS/2를 채용하는 다른 운영체제에도 적용될 수 있을 것이다. 더욱이, 설명된 실시예는 폴링신호를 통신하기 위해 범용레지스터를 사용하는 것으로 설명되었다. 그러나 운영체제에 의해 오버라이트되지 않는 한 다른 타입의 임시저장셀이 사용될 수 있을 것이다.
여러 가지 이점들이 본 발명의 시스템 및 방법에 의해 달성될 수 있다. 그중 하나는 소프트웨어 전달체계에서 현장에서의 문제점해결 및 소프트웨어 보정에 드는 비용을 절감할 수 있다. 이러한 소프트웨어전달체계는 현장에서의 하드디스크드라이브의 사고율을 낮추고, 공급자로부터 최초로 인도되었을 때의 컴퓨터의 오작동 비율을 낮출 수 있다. 이러한 소프트웨어전달체계는 컴퓨터시스템을 회수하여 검사할 때 복사본이 만들어지지 않는 하드디스크드라이브의 실패횟수를 감소시키게 된다.
이러한 보호기술은 사용이 허가된 소프트웨어를 단일의 고유한 컴퓨터에만 사용할 수 있도록 제한하고, 컴퓨터의 자유로운 소프트웨어 로딩을 허용하는 기본 프로세스와의 간섭을 피할 수 있게 한다.
도 1은 본 발명의 소프트웨어이미지를 PC와 같은 컴퓨터에 제공하는 소프트웨어 전달체계의 실시예의 개략블록도
도 2는 본 발명의 소프트웨어 전달체계의 보호방법에서 수행되는 동작의 흐름도
도 3a 및 도 3b는 소프트웨어 전달패키지를 제작하기 위해 수행되는 동작의 흐름도
도 4는 필수 유틸리티의 작동에 대한 운영체제의 보안을 피하기 위한 운영체제와 독립적인 방법을 실행하는 컴퓨터시스템하드웨어를 도시한 블록도
도 5는 도 4의 컴퓨터의 메모리의 메모리맵을 보여주는 도면
도 6은 운영체제의 보안을 피하지 않고 완전 XBIOS 기능을 제공하는 소프트웨어시스템의 여러가지 기능블록을 보여주는 블록도

Claims (59)

  1. 단일의 고유한 컴퓨터상에 다운로드되고 실행되도록 컨피규레이션된 소프트웨어이미지를 저장하며, 컴퓨터의 식별자에 키설정된 식별태그를 가진 제1 태크식별파일을 포함하는 소프트웨어 전달매체와,
    컴퓨터의 저장장치에 소프트웨어이미지를 라운로드하는 것을 제어하는 다운로드프로그램을 저장하며, 컴퓨터의 식별자에 키설정된 식별태그와 제1 태그식별파일을 식별하는 식별태그를 가진 제2 태그식별파일을 포함하는 소프트웨어 다운로드매체를 포함하며,
    상기 소프트웨어 전달매체, 상기 소프트웨어 다운로드매체, 및 컴퓨터는 상호 키설정되어 소프트웨어이미지는 단일의 고유한 컴퓨터의 저장장치에만 다운로드 될 수 있고,
    다운로드 프로그램은 제2 태그식별파일의 식별정보를 통해 제1 태그식별파일에 액세스하고, 식별자에 액세스하고, 식별자를 제1 및 제2 태그식별파일의 식별태그와 비교하고, 식별자가 식별태그들과 일치될 때에만 소프트웨어이미지를 소프트웨어 전달매체로부터 저장장치로 전송하도록 된 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  2. 제 1 항에 있어서, 컴퓨터는 제1 매체 드라이버, 제2 매체 드라이버 및 저장장치를 포함하고,
    소프트웨어 전달매체는 제1 매체 드라이버에 로딩가능하고,
    소프트웨어 다운로드매체는 제2 매체 드라이버에 로딩가능하고, 소프트웨어 다운로드매체는 소프트웨어이미지를 소프트웨어전달매체로부터 저장장치로 다운로드하는 것을 제어하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  3. 제 2 항에 있어서, 소프트웨어다운로드매체는 소프트웨어 전달매체로부터 저장장치로 소프트웨어이미지를 다운로드하기 전에 저장장치를 리포맷하는 것을 제어하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  4. 제 3 항에 있어서, 소프트웨어다운로드매체는 저장장치의 리포맷에 앞서 경고메시지를 표시하고 개입을 대기하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  5. 제 2 항에 있어서, 소프트웨어다운로드매체는 소프트웨어 전달매체로부터 저장장치로 소프트웨어이미지를 다운로드하기 전에 저장장치를 삭제하는 것을 제어하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  6. 제 5 항에 있어서, 소프트웨어다운로드매체는 저장장치의 삭제에 앞서 경고메시지를 표시하고 개입을 대기하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  7. 제 1 항에 있어서, 컴퓨터는 그 컴퓨터를 다른 모든 컴퓨터와 구별하는 고유한 식별자로 코딩되고,
    소프트웨어전달매체는 고유한 식별자와 난수(무작위발생번호)로 키설정되는 제1 식별파일을 포함하고,
    소프트웨어다운로드매체는 고유한 식별자와 난수로 키설정되는 제2 식별파일을 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  8. 제 1 항에 있어서, 컴퓨터는 CD ROM 리더와, 부팅가능 플로피디스켓드라이브를 포함하고, 기억장치는 하드디스크드라이브이며, 소프트웨어전달매체는 개별 프로그램된 CD ROM이고, 소프트웨어 다운로드매체는 플로피디스켓인 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  9. 프로세서,
    프로세서에 연결되고 프로세서에 의해 실행될 수 있는 소프트웨어이미지를 저장하는 저장장치,
    프로세서에 연결되고 매체드라이브, 및
    소프트웨어전달패키지로 구성되고,
    상기 소프트웨어전달패키지는 매체드라이브에 로딩가능한 소프트웨어전달매체를 포함하고, 소프트웨어전달매체는 소프트웨어이미지를 저장하고, 소프트웨어이미지는 단일의 확인된 컴퓨터에만 다운로드되고 실행될 수 있도록 컨피규레이션되고, 소프트웨어전달매체와 프로세서는 소프트웨어미지가 단일의 확인된 컴퓨터의 저장장치에만 다운로드되도록 상호 키설정된 것을 특징으로 하는 컴퓨터.
  10. 제 9 항에 있어서, 프로세서에 연결된 제2 매체드라이브를 더 포함하고,
    소프트웨어전달패키지는 제2 매체드라이브에 로딩가능한 소프트웨어다운로드매체를 더 포함하고, 소프트웨어다운로드매체는 소프트웨어이미지를 저장장치에 다운로드하는 것을 제어하는 다운로드프로그램을 저장하는 것을 특징으로 하는 컴퓨터.
  11. 제 10 항에 있어서, 다운로드프로그램은 소프트웨어이미지를 저장장치에 다운로드하기에 앞서 저장장치의 삭제를 제어하는 것을 특징으로 하는 컴퓨터.
  12. 제 11 항에 있어서, 다운로드프로그램은 저장장치를 삭제하기에 앞서 경고메시지를 표시하고 개입을 대기하는 것을 제어하는 것을 특징으로 하는 컴퓨터.
  13. 제 11 항에 있어서, 다운로드프로그램은 소프트웨어이미지를 저장장치에 다운로드하기에 앞서 저장장치를 리포맷팅하는 것을 제어하는 것을 특징으로 하는 컴퓨터.
  14. 제 13 항에 있어서, 다운로드프로그램은 저장장치의 리포맷팅에 앞서 경고메시지를 표시하고 개입을 대기하는 것을 제어하는 것을 특징으로 하는 컴퓨터.
  15. 제 10 항에 있어서, 소프트웨어이미지를 저장장치에 다운로드하는 것을 제어하는 소프트웨어다운로드매체의 사용법을 유저에게 지시하는 지시서를 더 포함하는 것을 특징으로 하는 컴퓨터.
  16. 제 10 항에 있어서, 컴퓨터는 그 컴퓨터를 다른 모든 컴퓨터와 구별하는 고유한 식별자로 코딩되고,
    소프트웨어전달매체는 고유한 식별자로 키설정되는 제1 식별파일을 포함하고,
    소프트웨어다운로드매체는 고유한 식별자로 키설정되는 제2 식별파일을 포함하는 것을 특징으로 하는 컴퓨터.
  17. 제 10 항에 있어서, 컴퓨터는 그 컴퓨터를 다른 모든 컴퓨터와 구별하는 고유한 식별자로 코딩되고,
    소프트웨어전달매체는 고유한 식별자로 키설정되는 제1 식별파일을 포함하고,
    소프트웨어다운로드매체는 고유한 식별자로 키설정되고 제1 식별파일로 키설정되는 제2 식별파일을 포함하는 것을 특징으로 하는 컴퓨터.
  18. 제 10 항에 있어서, 컴퓨터는 그 컴퓨터를 다른 모든 컴퓨터와 구별하는 고유한 식별자로 코딩되고,
    소프트웨어전달매체는 고유한 식별자와 난수로 키설정되는 제1 식별파일을 포함하고,
    소프트웨어다운로드매체는 고유한 식별자와 난수로 키설정되는 제2 식별파일을 포함하는 것을 특징으로 하는 컴퓨터.
  19. 제 10 항에 있어서, 컴퓨터는 CD ROM 리더와, 부팅가능 플로피디스켓드라이브를 포함하고, 기억장치는 하드디스크드라이브이며, 소프트웨어전달매체는 개별 프로그램된 CD ROM이고, 소프트웨어 다운로드매체는 플로피디스켓인 것을 특징으로 하는 컴퓨터.
  20. 컴퓨터의 하드웨어 소프트웨어 구성품의 사양을 포함하는 고객주문을 수신하는 주문입력시스템,
    고객이 주문한 하드웨어구성품의 특성에 부합하게 고객이 주문한 소프트웨어구성품을 처리하고, 컴퓨터의 기억장치에 다운로드할 소프트웨어이미지를 발생하도록 주문입력시스템에 결합된 소프트웨어 프로세서,
    소프트웨어 프로세서에 결합되며 컴퓨터의 고유한 식별자에 액세스하는 태그식별자,
    소프트웨어이미지와, 컴퓨터의 고유한 식별자를 나타내는 소프트웨어전달매체 태그식별자를 형성하도록 소프트웨어 프로세서에 결합된 소프트웨어전달매체제조장치,
    소프트웨어 다운로드프로그램과, 컴퓨터의 고유한 식별자를 나타내는 소프트웨어 다운로드매체 태그식별자를 발생하도록 소프트웨어 프로세서에 결합된 소프트웨어 다운로드매체 제조장치로 이루어진 것을 특징으로 하는 소프트웨어 제품제조시스템.
  21. 제 20 항에 있어서, 소프트웨어 전달매체 태그식별파일의 식별자를 나타내는 소프트웨어 다운로드매체 태그식별자파일을 발생하는 소프트웨어 다운로드매체 제조장치를 더 포함하는 것을 특징으로 하는 소프트웨어제품 제조시스템.
  22. 제 20 항에 있어서, 랜덤식별번호를 발생하도록 소프트웨어 프로세서에 결합된 난수발생기,
    랜덤식별번호를 나타내는 소프트웨어 전달매체 태그식별자파일을 형성하는 소프트웨어 전달매체 제조장치, 및
    랜덤식별번호를 나타내는 소프트웨어 다운로드매체 태그식별자파일을 발생하는 소프트웨어 다운로드매체 제조장치를 더 포함하는 것을 특징으로 하는 소프트웨어제품 제조시스템.
  23. 제 20 항에 있어서, 컴퓨터에 설치되는 저장매체에 소프트웨어이미지를 다운로드하기 위해 소프트웨어 프로세서에 결합된 저장매체 다운로드장치를 더 포함하고, 소프트웨어 전달매체 제조장치는 소프트웨어이미지를 소프트웨어 전달매체로 전달하도록 저장매체에 접속되는 것을 특징으로 하는 소프트웨어제품 제조시스템.
  24. 제 20 항에 있어서, 소프트웨어 전달매체는 컴퓨터를 공장에서 제조된 상태로 복원하는 소프트웨어이미지의 사본을 저장하는 것을 특징으로 하는 소프트웨어제품 제조시스템.
  25. 제 20 항에 있어서, 소프트웨어 전달매체는 주문제작 프로그램된 CD ROM 매체이고, 소프트웨어 다운로드매체는 부팅가능 플로피디스켓이고,
    저장장치는 하드디스크드라이브인 것을 특징으로 하는 소프트웨어제품제조시스템.
  26. 제 20 항에 있어서, 소프트웨어 전달매체는 소프트웨어이미지와, 컴퓨터의 고유한 식별자를 나타내는 소프트웨어 전달매체 태그식별자파일을 저장하고,
    소프트웨어 다운로드매체는:
    컴퓨터의 고유한 식별자를 나타내고 소프트웨어 전달매체 태그식별자파일을 나타내는 소프트웨어 다운로드매체 태그식별자파일과;
    소프트웨어이미지를 소프트웨어 다운로드매체로부터 저장장치로 전달하는 것을 실행하는 실행파일을 저장한는 것을 특징으로 하는 소프트웨어제품 제조시스템.
  27. 제 26 항에 있어서, 실행가능프로그램은 소프트웨어이미지를 다운로드매체로부터 저장장치로 전달하기에 앞서 저장장치를 삭제하는 것을 특징으로 하는 소프트웨어제품 제조시스템.
  28. 제 27 항에 있어서, 실행가능프로그램은 저장장치를 삭제하기에 앞서 경고메시지를 표시하고 개입을 대기하는 것을 특징으로 하는 소프트웨어제품 제조시스템.
  29. 제 26 항에 있어서, 실행가능프로그램은 소프트웨어이미지를 다운로드매체로부터 저장장치로 전달하기에 앞서 저장장치를 리포맷하는 것을 특징으로 하는 소프트웨어제품 제조시스템.
  30. 제 29 항에 있어서, 실행가능프로그램은 저장장치를 리포맷하기에 앞서 경고메시지를 표시하고 개입을 대기하는 것을 특징으로 하는 소프트웨어제품 제조시스템.
  31. 제 26 항에 있어서, 실행가능프로그램은 유저의 개입없이 작동되는 것을 특징으로 하는 소프트웨어제품의 제조시스템.
  32. 컴퓨터의 하드웨어 소프트웨어 구성요소에 대한 사양을 포함하는 고객주문을 수신하는 단계,
    고객주문 하드웨어 구성요소의 특성에 부합하도록 고객주문 소프트웨어구성요소를 처리하는 단계,
    처리된 소프트웨어 구성요소로부터 컴퓨터의 저장장치에 다운로드할 소프트웨어이미지를 발생하는 단계,
    소프트웨어가 다운로드될 컴퓨터를 고유하게 식별할 수 있는 태그식별자를 결정하는 단계,
    소프트웨어이미지와, 컴퓨터의 고유한 식별자를 나타내는 소프트웨어 전달매체 태그식별자파일을 저장하는 소프트웨어 전달매체를 제조하는 단계,
    소프트웨어 다운로드프로그램과, 컴퓨터의 고유한 식별자를 나타내는 소프트웨어 다운로드매체 태그식별자파일을 포함하는 소프트웨어다운로드매체를 제조하는 단계를 포함하는 것을 특징으로 하는 소프트웨어제품 제조방법.
  33. 제 32 항에 있어서, 소프트웨어전달매체 태그식별자파일의 식별자를 나타내는 소프트웨어 다운로드매체 태그식별자파일을 발생하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  34. 제 32 항에 있어서,
    랜덤식별번호를 발생하는 단계,
    랜딤식별번호를 나타내는 소프트웨어전달매체 태그식별자파일을 형성하는 단계,
    랜덤식별번호를 나타내는 소프트웨어다운로드매체 태그식별자파일을 발생하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  35. 제 32 항에 있어서, 컴퓨터에 설치가능한 저장매체에 소프트웨어미지를 다운로드하는 과정과, 소프트웨어이미지를 소프트웨어 전달매체로 전달하는 과정을 더 포함하는 것을 방법.
  36. 제 32 항에 있어서, 컴퓨터를 공장에서 제조한 상태로 복원하는 소프트웨어이미지의 사본을 소프트웨어전달매체에 저장하는 단계를 더 포함하는 것을 특징으로하는 방법.
  37. 제 32 항에 있어서, 소프트웨어전달매체는 주문제작 프로그램된 CD ROM 매체이고,
    소프트웨어 다운로드매체는 부팅가능 플로피디스켓이고,
    저장장치는 하드디스크드라이브인 것을 특징으로 하는 방법.
  38. 제 32 항에 있어서, 소프트웨어전달매체 내에 소프트웨어이지미와, 컴퓨터의 고유한 식별자를 나타내는 소프트웨어전달매체 태그식별자파일을 저장하는 단계와,
    소프트웨어 다운로드매체 내에, 컴퓨터의 고유한 식별자를 나타내고 소프트웨어 전달매체 태그식별자파일의 식별자를 나타내는 소프트웨어 다운로드매체 태그식별자파일과, 실행프로그램을 저장하는 단계와,
    실행프로그램으로 소프트웨어이미지를 소프트웨어 다운로드매체로부터 저장장치로 전달하는 것을 실행하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  39. 제 38 항에 있어서, 실행프로그램으로써 소프트웨어이미지를 다운로드매체로부터 저장장치로 전달하기 전에 저장장치를 삭제하는 것을 특징으로 하는 방법.
  40. 제 39 항에 있어서, 실행프로그램으로써 경고메시지를 표시하고 저장장치를 삭제하기 전에 개입을 대기하는 것을 특징으로 하는 방법.
  41. 제 38 항에 있어서, 실행프로그램으로써 소프트웨어이미지를 다운로드매체로부터 저장장치로 전달하기 전에 저장장치를 리포맷하는 것을 특징으로 하는 방법.
  42. 제 41 항에 있어서, 실행프로그램으로써 경고메시지를 표시하고 저장장치를 리포맷하기 전에 개입을 대기하는 것을 특징으로 하는 방법.
  43. 제 38 항에 있어서, 실행파일루틴이 유저의 개입없이 작동되는 것을 특징으로 하는 방법.
  44. 소프트웨어가 허가된 컴퓨터의 저장장치에만 다운로드되도록 허용하며, 허가된 컴퓨터는 고유한 식별자를 가지는 소프트웨어 보호시스템에 있어서,
    허가된 컴퓨터의 하드웨어-소프트웨어 컨피규레이션에 대한 소프트웨어이미지와,
    허가된 컴퓨터의 고유한 식별자에 키설정된 식별태그를 가진 태그식별파일, 및
    고유한 식별자에 액세스하고, 고유한 식별자를 식별키와 비교하고, 고유한 식별자가 식별키와 일치될 때만 소프트웨어이미지를 컴퓨터판독가능매체로부터 저장장치로 전달하는 실행파일
    을 포함하는 컴퓨터판독가능매체로 이루어진 것을 특징으로 하는 소프트웨어 보호시스템.
  45. 제 44 항에 있어서, 실행파일루틴은 XBIOS 콜을 사용하여 고유한 식별자에 액세스하는 것을 특징으로 하는 소프트웨어 보호시스템.
  46. 제 44 항에 있어서, 실행파일루틴은 데스크탑매니지먼트인터페이스(DMI)를 사용하여 고유한 식별자에 액세스하는 것을 특징으로 하는 소프트웨어 보호시스템.
  47. 제 44 항에 있어서, 실행파일루틴은 CMOS ROM을 판독하는 기술을 사용하여 고유한 식별자에 액세스하는 것을 특징으로 하는 소프트웨어 보호시스템.
  48. 제 44 항에 있어서, 컴퓨터 판독가능매체는;
    소프트웨어이미지와, 허가된 컴퓨터의 고유한 식별자에 키설정된 식별태그를 가진 제1 태그식별파일을 포함하는 제1 매체와,
    허가된 컴퓨터의 고유한 식별자에 키설정된 식별태그를 가진 제2 태그식별파일과, 제1 태그식별파일을 식별하는 식별태그와, 제2 태그식별파일의 식별정보를 통해 제1 태그식별파일에 액세스하고, 고유한 식별자에 액세스하고, 제1 및 제2 태그식별파일의 식별키와 고유한 식별자를 상호 비교하고, 고유한 식별자가 식별키와 일치되는 경우에만 소프트웨어이미지를 컴퓨터판독가능매체로부터 저장장치로 전달하는 루틴을 포함하는 실행파일
    을 포함하는 제2 매체를 포함하는 컴퓨터판독가능매체인 것을 특징으로 하는 소프트웨어 보호시스템.
  49. 제 48 항에 있어서, 실행파일루틴은 소프트웨어이미지를 컴퓨터판독가능매체로부터 저장장치로 전달하기 전에 저장장치를 삭제하는 서브루틴을 포함하는 것을 특징으로 하는 소프트웨어 보호시스템.
  50. 제 49 항에 있어서, 실행파일루틴은 경고메시지를 표시하고, 저장장치를 삭제하기 전에 개입을 대기하게 하는 서브루틴을 포함하는 것을 특징으로 하는 소프트웨어 보호시스템.
  51. 제 48 항에 있어서, 실행파일루틴은 소프트웨어이미지를 컴퓨터판독가능매체로부터 저장장치로 전달하기 전에 저장장치를 리포맷하는 서브루틴을 포함하는 것을 특징으로 하는 소프트웨어 보호시스템.
  52. 제 51 항에 있어서, 실행파일루틴은 경고메시지를 표시하고, 기억장치를 리포맷하기 전에 개입을 대기하게 하는 서브루틴을 포함하는 것을 특징으로 하는 소프트웨어 보호시스템.
  53. 제 48 항에 있어서, 제1 매체는 주문제작 프로그램 CD ROM매체이고, 제2 매체는 부팅가능 컴퓨터디스켓이고, 저장장치는 하드디스크인 것을 특징으로 하는 소프트웨어 보호시스템.
  54. 제 44 항에 있어서, 컴퓨터 판독가능매체는;
    소프트웨어이미지와, 허가된 컴퓨터의 고유한 식별자에 키설정된 제1 식별태그와 난수에 키설정된 제2 식별태그를 가진 제1 태그식별파일를 포함하는 제1 매체와,
    허가된 컴퓨터의 고유한 식별자에 키설정된 제3 식별태그와 난수에 키설정된 제4 식별태그를 가진 제2 태그식별파일과, 제2식별태그를 제4 식별태그와 비교하고, 고유한 식별자에 액세스하고, 제1 및 제3 식별태그를 고유한 식별자를 상호 비교하고, 제2 식별태그가 제4 식별태그와 일치되고 고유한 식별자가 제1 식별태그 및 제2 식별태그와 일치되는 경우에만 소프트웨어이미지를 컴퓨터판독가능매체로부터 저장장치로 전달하는 루틴을 포함하는 실행파일
    을 포함하는 제2 매체를 포함하는 컴퓨터판독가능매체인 것을 특징으로 하는 소프트웨어 보호시스템.
  55. 제 54 항에 있어서, 제1 매체는 주문제작 프로그램 CD ROM매체이고, 제2 매체는 부팅가능 플로피디스켓이고, 저장장치는 하드디스크드라이브인 것을 특징으로 하는 소프트웨어 보호시스템.
  56. 제 44 항에 있어서, 실행파일루틴은 XBIOS 콜, 데스크탑매니지먼트인터페이스(DMI) 콜, 및 CMOS ROM의 판독기술로부터 선택된 고유한 식별자명령에 액세스하는 것을 특징으로 하는 소프트웨어 보호시스템.
  57. 제 44 항에 있어서, 실행파일루틴은 XBIOS 콜, 데스크탑매니지먼트인터페이스(DMI) 콜, 및 CMOS ROM의 판독기술로부터 선택된 명령을 사용하는 고유한 식별자에 액세스하고, 실행파일루틴은 허가된 컴퓨터의 시스템 ID코드에 액세스하고, 명령을 선택하기 위해 시스템 ID코드를 사용하는 것을 특징으로 하는 소프트웨어 보호시스템.
  58. 제 44 항에 있어서, 고유한 식별자는 서비스태그인 것을 특징으로 하는 소프트웨어 컴퓨터시스템.
  59. 제 44 항에 있어서, 실행파일루틴은 유저의 개입없이 작동되는 것을 특징으로 하는 소프트웨어 보호시스템.
KR1019980049644A 1998-04-24 1998-11-16 컴퓨터시스템에 주문소프트웨어 이미지를 제공하는 방법및 시스템 KR100714532B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/066,128 US6298443B1 (en) 1998-04-24 1998-04-24 Method and system for supplying a custom software image to a computer system
US9/066,128 1998-04-24
US09/066,128 1998-04-24

Publications (2)

Publication Number Publication Date
KR19990081785A KR19990081785A (ko) 1999-11-15
KR100714532B1 true KR100714532B1 (ko) 2008-01-25

Family

ID=22067413

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980049644A KR100714532B1 (ko) 1998-04-24 1998-11-16 컴퓨터시스템에 주문소프트웨어 이미지를 제공하는 방법및 시스템

Country Status (13)

Country Link
US (1) US6298443B1 (ko)
JP (2) JP4510945B2 (ko)
KR (1) KR100714532B1 (ko)
CN (1) CN1115637C (ko)
AU (1) AU758671B2 (ko)
BR (1) BR9804293A (ko)
DE (1) DE19918640A1 (ko)
FR (2) FR2784762B1 (ko)
GB (1) GB2339488B (ko)
IT (1) IT1309082B1 (ko)
MY (1) MY116777A (ko)
SG (1) SG75138A1 (ko)
TW (1) TW396322B (ko)

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1467529B1 (en) * 1997-08-15 2007-04-11 Sony Corporation Transferring method for a data transmission apparatus
US6795814B1 (en) * 1998-06-04 2004-09-21 Gateway, Inc. System and method for CMOS integration
US6564369B1 (en) * 1998-08-20 2003-05-13 Pearson Technical Software, Inc. Conflict checking using configuration images
US6519762B1 (en) * 1998-12-15 2003-02-11 Dell Usa, L.P. Method and apparatus for restoration of a computer system hard drive
US6560726B1 (en) 1999-08-19 2003-05-06 Dell Usa, L.P. Method and system for automated technical support for computers
US6760708B1 (en) 1999-08-19 2004-07-06 Dell Products L.P. Method and system for migrating stored data to a build-to-order computing system
US6606716B1 (en) 1999-10-06 2003-08-12 Dell Usa, L.P. Method and system for automated technical support for computers
US7188255B1 (en) * 1999-09-23 2007-03-06 Hewlett-Packard Development Company, L.P. Software delivery system
US6598223B1 (en) * 1999-10-06 2003-07-22 Dell Usa, L.P. Method and system for installing and testing build-to-order components in a defined configuration computer system
US6564220B1 (en) 1999-10-06 2003-05-13 Dell Usa, L.P. System and method for monitoring support activity
US6556431B1 (en) 1999-10-06 2003-04-29 Dell Usa, L.P. System and method for converting alternating current into direct current
US6563698B1 (en) 1999-10-06 2003-05-13 Dell Usa, L.P. System and method for providing a computer system with a detachable component
US6925447B2 (en) * 2000-02-04 2005-08-02 Medtronic, Inc. Responsive manufacturing and inventory control
US6823508B1 (en) * 2000-04-27 2004-11-23 Microsoft Corporation Automatic computer program customization based on a user information store
US7278142B2 (en) 2000-08-24 2007-10-02 Veritas Operating Corporation Dynamic computing environment using remotely allocable resources
US7065637B1 (en) 2000-08-24 2006-06-20 Veritas Operating Corporating System for configuration of dynamic computing environments using a visual interface
US7082521B1 (en) 2000-08-24 2006-07-25 Veritas Operating Corporation User interface for dynamic computing environment using allocateable resources
US7043724B2 (en) 2000-09-14 2006-05-09 Veritas Operating Corporation System and services for handling computing environments as documents
US6907604B1 (en) * 2000-09-22 2005-06-14 Dell Products L.P. Instant integration model
US7027412B2 (en) * 2000-11-10 2006-04-11 Veritas Operating Corporation System for dynamic provisioning of secure, scalable, and extensible networked computer environments
US8631103B1 (en) 2000-11-10 2014-01-14 Symantec Operating Corporation Web-based administration of remote computing environments via signals sent via the internet
US20020099683A1 (en) * 2001-01-24 2002-07-25 Sloan Jeffrey N. Verification of a benefit purchase incident to a computer system purchase
US20020127263A1 (en) * 2001-02-27 2002-09-12 Wenda Carlyle Peroxisome proliferator-acitvated receptor gamma ligand eluting medical device
US7039033B2 (en) * 2001-05-07 2006-05-02 Ixi Mobile (Israel) Ltd. System, device and computer readable medium for providing a managed wireless network using short-range radio signals
US7036006B2 (en) 2001-05-17 2006-04-25 Veritas Operating Corporation System to provide computing as a product using dynamic computing environments
US7295532B2 (en) * 2001-08-17 2007-11-13 Ixi Mobile (R & D), Ltd. System, device and computer readable medium for providing networking services on a mobile device
US20040125762A1 (en) * 2001-08-17 2004-07-01 Amit Haller Device, system, method and computer readable medium for attaching to a device identifited by an access point name in a wide area network providing particular services
US20050030917A1 (en) * 2001-08-17 2005-02-10 Amit Haller Device, system, method and computer readable medium obtaining a network attribute, such as a DNS address, for a short distance wireless network
US20040081129A1 (en) * 2001-08-17 2004-04-29 Amit Haller Device, system, method and computer readable medium for selectively attaching to a cellular data service
US7016334B2 (en) * 2001-08-17 2006-03-21 Ixi Mobile ( Israel) Ltd. Device, system, method and computer readable medium for fast recovery of IP address change
US6957045B2 (en) * 2001-10-26 2005-10-18 Ixi Mobile (Israel) Ltd. Device, system, computer readable medium and method for providing status information of devices in a short distance wireless network
US20030097552A1 (en) * 2001-11-19 2003-05-22 Lewis Robert E. Resilient boot prom loader
US6845097B2 (en) 2001-11-21 2005-01-18 Ixi Mobile (Israel) Ltd. Device, system, method and computer readable medium for pairing of devices in a short distance wireless network
US7016648B2 (en) * 2001-12-18 2006-03-21 Ixi Mobile (Israel) Ltd. Method, system and computer readable medium for downloading a software component to a device in a short distance wireless network
US7013112B2 (en) * 2001-12-18 2006-03-14 Ixi Mobile (Israel) Ltd. Method, system and computer readable medium for making a business decision in response to information from a short distance wireless network
US20030158926A1 (en) * 2002-02-20 2003-08-21 Gateway, Inc. Network master hard disk drive duplicator
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7610583B2 (en) * 2002-04-23 2009-10-27 Gateway, Inc. Personalized software installation method for computer manufacturers
US7203865B2 (en) * 2002-04-23 2007-04-10 Gateway Inc. Application level and BIOS level disaster recovery
US6938250B2 (en) * 2002-06-12 2005-08-30 Microsoft Corporation Image-based software installation
US6947954B2 (en) * 2002-06-17 2005-09-20 Microsoft Corporation Image server store system and method using combined image views
US7464403B2 (en) * 2002-07-23 2008-12-09 Hardman Jr Thomas James Secure mobile office wireless local-area network application integration package running from CD-ROM
US6909878B2 (en) * 2002-08-20 2005-06-21 Ixi Mobile (Israel) Ltd. Method, system and computer readable medium for providing an output signal having a theme to a device in a short distance wireless network
US7058797B2 (en) * 2002-09-10 2006-06-06 Veritas Operating Corporation Use of off-motherboard resources in a computer system
US6986033B2 (en) 2002-09-10 2006-01-10 Veritas Operating Corporation System for automated boot from disk image
US7069428B2 (en) * 2002-09-10 2006-06-27 Veritas Operating Corporation System for managing boot-up of target computers
US7356571B2 (en) * 2002-10-07 2008-04-08 Ixi Mobile (R&D), Ltd. System, method and processor readable medium for downloading information within a predetermined period of time to a device in a network responsive to price selection
US6925345B2 (en) 2002-10-16 2005-08-02 Dell Products L.P. Method and system for manufacture of information handling systems from an image cache
US7095908B2 (en) * 2002-11-12 2006-08-22 Dell Products L.P. Method and system for information handling system custom image manufacture
US7167680B2 (en) * 2003-02-05 2007-01-23 Ixi Mobile (Israel) Ltd. Method, system and computer readable medium for adjusting output signals for a plurality of devices in a short distance wireless network responsive to a selected environment
US20040259585A1 (en) * 2003-06-04 2004-12-23 Avi Yitzchak Wireless device having dual bus archeticure for interfacing with cellular signals and short-range radio signals
US7313690B2 (en) * 2003-06-27 2007-12-25 Microsoft Corporation Three way validation and authentication of boot files transmitted from server to client
US7360211B2 (en) * 2003-06-30 2008-04-15 Dell Products L.P. System for automated generation of config to order software stacks
US7366901B2 (en) * 2003-08-01 2008-04-29 Ixi Mobile (R&D), Ltd. Device, system, method and computer readable medium for identifying and authenticating a cellular device using a short-range radio address
US7225440B2 (en) * 2003-08-14 2007-05-29 International Business Machines Corporation System and method for manufacturing and updating insertable portable operating system module
US7308584B2 (en) * 2003-08-14 2007-12-11 International Business Machines Corporation System and method for securing a portable processing module
US7565382B1 (en) * 2003-08-14 2009-07-21 Symantec Corporation Safely rolling back a computer image
US20050038879A1 (en) * 2003-08-14 2005-02-17 International Business Machines Corporation System and method for discovery of remote device driver functionality and interface
US7225448B2 (en) * 2003-08-14 2007-05-29 Lenovo (Singapore) Pte. Ltd. System and method for hibernating application state data on removable module
US20050055688A1 (en) * 2003-09-08 2005-03-10 Barajas Gaston M. Integrated rapid install system for generic software images
US7565650B2 (en) * 2003-10-23 2009-07-21 International Business Machines Corporation Method, apparatus and computer program product for deploying software via post-load images
US20050091259A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Redmond Wa. Framework to build, deploy, service, and manage customizable and configurable re-usable applications
US20050132357A1 (en) * 2003-12-16 2005-06-16 Microsoft Corporation Ensuring that a software update may be installed or run only on a specific device or class of devices
US20050138563A1 (en) * 2003-12-18 2005-06-23 International Business Machines Corporation Method and system for providing computer system software images
US20050204019A1 (en) * 2004-02-13 2005-09-15 Flynn James P. Content distribution using CD/DVD burners, high speed interconnects, and a burn and return policy
US7213177B2 (en) * 2004-03-14 2007-05-01 Benq Corporation Method for detecting and eliminating errors in application data of an electronic device
US20050240815A1 (en) * 2004-04-13 2005-10-27 Sony Corporation Modular imaging of computer software for system install and restore
US7822937B2 (en) * 2004-05-03 2010-10-26 Gateway, Inc. Method and apparatus for modifying reserve area of disk drive or memory
US8260893B1 (en) 2004-07-06 2012-09-04 Symantec Operating Corporation Method and system for automated management of information technology
TW200604849A (en) * 2004-07-30 2006-02-01 Hon Hai Prec Ind Co Ltd Apparatus and method for automatically building RCD
US20060075261A1 (en) * 2004-10-05 2006-04-06 Dandekar Shree A Method for enabling services on a fixed image platform
CN1331051C (zh) * 2004-12-30 2007-08-08 英业达股份有限公司 计算机平台系统映像自动化安装方法及系统
US20060200589A1 (en) * 2005-02-18 2006-09-07 Collins Mark A Automated driver reset for an information handling system
US7509250B2 (en) * 2005-04-20 2009-03-24 Honeywell International Inc. Hardware key control of debug interface
US7512833B1 (en) 2005-05-09 2009-03-31 Adam C. Murphy Universal imaging utility program
US8554686B2 (en) * 2005-06-30 2013-10-08 Advanced Micro Devices, Inc. Anti-hack protection to restrict installation of operating systems and other software
US20070143445A1 (en) * 2005-12-20 2007-06-21 Dandekar Shree A Method for offering and refreshing digital content on fixed image platforms
US20070239861A1 (en) * 2006-04-05 2007-10-11 Dell Products L.P. System and method for automated operating system installation
US7685398B2 (en) * 2006-05-18 2010-03-23 Dell Products L.P. Intelligent system for determination of optimal partition size in a build to order environment
US20080101273A1 (en) * 2006-10-27 2008-05-01 Hewlett-Packard Development Company Lp Wireless device association
US8898659B2 (en) * 2006-11-21 2014-11-25 Dell Products L.P. Method and apparatus to customize and configure multiple operating systems on a server
TW200949692A (en) * 2008-05-20 2009-12-01 Inventec Corp Method for making test fixture
US7912993B2 (en) * 2008-06-29 2011-03-22 Dell Products L.P. Methods and media for managing interruption of the out of box experience
US8510422B2 (en) * 2009-09-30 2013-08-13 Dell Products L.P. Systems and methods for extension of server management functions
US8832369B2 (en) 2010-10-27 2014-09-09 Dell Products, Lp Systems and methods for remote raid configuration in an embedded environment
US9146812B2 (en) 2012-02-03 2015-09-29 Dell Products Lp Systems and methods for out-of-band backup and restore of hardware profile information
US8838848B2 (en) 2012-09-14 2014-09-16 Dell Products Lp Systems and methods for intelligent system profile unique data management
CN105573797B (zh) * 2015-12-18 2019-10-18 广州市中海达测绘仪器有限公司 嵌入式系统的可逆离线升级方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418837A (en) * 1993-07-30 1995-05-23 Ericsson-Ge Mobile Communications Inc. Method and apparatus for upgrading cellular mobile telephones
KR950029928A (ko) * 1994-04-25 1995-11-24 윌리암 티. 엘리스 소프트웨어 객체 배포 방법 및 장치
KR950029929A (ko) * 1994-04-25 1995-11-24 윌리암 티. 엘리스 소프트웨어 객체 배포 방법
KR960706170A (ko) * 1993-10-29 1996-11-08 존 에이. 슐만 소프트웨어 캐리어를 인증하는 시스템 및 방법(system and method for authenticating software carriers)
JPH1083310A (ja) * 1996-06-11 1998-03-31 Internatl Business Mach Corp <Ibm> プログラム・コードの配布方法及びシステム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4433207A (en) 1981-09-10 1984-02-21 Best Robert M Cryptographic decoder for computer programs
US4785361A (en) 1982-11-08 1988-11-15 Vault Corporation Method and apparatus for frustrating the unauthorized copying of recorded data
FR2541014B1 (fr) 1983-02-16 1988-10-14 Cii Honeywell Bull Procede de protection d'un logiciel enregistre par un fournisseur sur un support magnetique portatif
GB2154769B (en) 1984-02-28 1987-11-18 Gandlake Software Ltd Computer software protection
WO1985004032A1 (en) * 1984-02-28 1985-09-12 Gandlake Software Ltd. Computer software protection
US4688169A (en) 1985-05-30 1987-08-18 Joshi Bhagirath S Computer software security system
US4796220A (en) * 1986-12-15 1989-01-03 Pride Software Development Corp. Method of controlling the copying of software
US4866769A (en) 1987-08-05 1989-09-12 Ibm Corporation Hardware assist for protecting PC software
US5099516A (en) 1989-06-12 1992-03-24 Dell Corporate Services Corporation Digital computer code word identification system
US5388267A (en) 1991-05-29 1995-02-07 Dell Usa, L.P. Method and apparatus for updating and restoring system BIOS functions while maintaining BIOS integrity
JP2942837B2 (ja) 1992-01-31 1999-08-30 株式会社セガ・エンタープライゼス セキュリティチェック方法及びゲーム装置並びにそれらに用いられる情報記憶媒体
US5423028A (en) 1993-03-17 1995-06-06 Dell Usa, L.P. Diagnostic procedure for identifying presence of computer memory
US5337357A (en) * 1993-06-17 1994-08-09 Software Security, Inc. Method of software distribution protection
US5416840A (en) 1993-07-06 1995-05-16 Phoenix Technologies, Ltd. Software catalog encoding method and system
US5398285A (en) 1993-12-30 1995-03-14 Motorola, Inc. Method for generating a password using public key cryptography
US5581740A (en) 1994-10-04 1996-12-03 Dell Usa, L.P. System for reading CD ROM data from hard disks
US5599231A (en) * 1994-10-31 1997-02-04 Nintendo Co., Ltd. Security systems and methods for a videographics and authentication game/program fabricating device
JPH08147221A (ja) * 1994-11-21 1996-06-07 Nippon Joho Kagaku Kk 外部記憶媒体読出制御方式
US5894571A (en) * 1995-08-14 1999-04-13 Dell U.S.A., L.P. Process for configuring software in a build-to-order computer system
US5745568A (en) 1995-09-15 1998-04-28 Dell Usa, L.P. Method of securing CD-ROM data for retrieval by one machine
GB2309104B (en) 1996-01-11 2000-06-07 Ibm Preloading software onto a computer system
US5694582A (en) 1996-01-26 1997-12-02 Dell Usa, Lp Operation system independent polled interface for extension BIOS (XBIOS) operations
KR100291267B1 (ko) * 1996-12-23 2001-09-17 윤종용 부트가능한데이터시디롬디스크제조시스템,그제조방법및그에의해제조딘시디롬디스크

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418837A (en) * 1993-07-30 1995-05-23 Ericsson-Ge Mobile Communications Inc. Method and apparatus for upgrading cellular mobile telephones
KR960706170A (ko) * 1993-10-29 1996-11-08 존 에이. 슐만 소프트웨어 캐리어를 인증하는 시스템 및 방법(system and method for authenticating software carriers)
KR950029928A (ko) * 1994-04-25 1995-11-24 윌리암 티. 엘리스 소프트웨어 객체 배포 방법 및 장치
KR950029929A (ko) * 1994-04-25 1995-11-24 윌리암 티. 엘리스 소프트웨어 객체 배포 방법
JPH1083310A (ja) * 1996-06-11 1998-03-31 Internatl Business Mach Corp <Ibm> プログラム・コードの配布方法及びシステム

Also Published As

Publication number Publication date
KR19990081785A (ko) 1999-11-15
JP4510945B2 (ja) 2010-07-28
AU8930998A (en) 1999-11-04
IT1309082B1 (it) 2002-01-16
GB2339488A (en) 2000-01-26
FR2784762B1 (fr) 2006-09-15
US6298443B1 (en) 2001-10-02
FR2845172B1 (fr) 2006-09-01
ITTO990234A1 (it) 2000-09-25
SG75138A1 (en) 2000-09-19
FR2784762A1 (fr) 2000-04-21
CN1115637C (zh) 2003-07-23
CN1233802A (zh) 1999-11-03
BR9804293A (pt) 2000-07-11
GB9907719D0 (en) 1999-05-26
TW396322B (en) 2000-07-01
AU758671B2 (en) 2003-03-27
GB2339488B (en) 2003-02-12
IE980800A1 (en) 1999-11-03
FR2845172A1 (fr) 2004-04-02
JPH11327894A (ja) 1999-11-30
JP2009048649A (ja) 2009-03-05
MY116777A (en) 2004-03-31
JP4404940B2 (ja) 2010-01-27
DE19918640A1 (de) 1999-11-18

Similar Documents

Publication Publication Date Title
KR100714532B1 (ko) 컴퓨터시스템에 주문소프트웨어 이미지를 제공하는 방법및 시스템
JP4199923B2 (ja) モバイル・デバイスのアプリケーション・インストール方法
US6944867B2 (en) Method for providing a single preloaded software image with an ability to support multiple hardware configurations and multiple types of computer systems
KR100348007B1 (ko) 컴퓨터 시스템 하드드라이브의 복구를 위한 방법 및 장치
US5894571A (en) Process for configuring software in a build-to-order computer system
US5805880A (en) Operating system independent method for avoiding operating system security for operations performed by essential utilities
Voas Maintaining component-based systems
US7117351B2 (en) Process for configuring software and hardware in a build-to-order computer system
US7657732B2 (en) Apparatus and method for securely and conveniently rebooting a computer system
US8839231B2 (en) Method and system for software installation
USRE38762E1 (en) Process for configuring software in a build-to-order computer system
US8386761B2 (en) System for registering and initiating pre-boot environment for enabling partitions
CN100498710C (zh) 自储存装置上读取选择只读存储器程序代码的方法
IE83290B1 (en) Method and system for supplying a custom software image to a computer system
CN116028100B (zh) 软件版本升级方法和电子设备
JP2001022559A (ja) コンピュータシステムのソフトウエアインストールおよび、または試験方法
CA2517431C (en) System and method for managing application installation for a mobile device
GB2353374A (en) Control of installation of software on and/or the testing of a computer system
Pimper et al. The Janus system manager's guide
JP2001014146A (ja) コンピュータシステムのソフトウェアインストールおよび、または試験方法
JPH01237896A (ja) Icカード
JP2001014182A (ja) コンピュータシステムの製造において使用される装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20130410

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140409

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160411

Year of fee payment: 10

EXPY Expiration of term