KR101379522B1 - 디바이스 하드웨어에 데이터 모듈 록을 제공하는 방법 및 시스템, 회로 카드가 컴퓨터와 호환성이 있음을 확인하기 위한 시스템 및 방법 - Google Patents

디바이스 하드웨어에 데이터 모듈 록을 제공하는 방법 및 시스템, 회로 카드가 컴퓨터와 호환성이 있음을 확인하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR101379522B1
KR101379522B1 KR1020117028258A KR20117028258A KR101379522B1 KR 101379522 B1 KR101379522 B1 KR 101379522B1 KR 1020117028258 A KR1020117028258 A KR 1020117028258A KR 20117028258 A KR20117028258 A KR 20117028258A KR 101379522 B1 KR101379522 B1 KR 101379522B1
Authority
KR
South Korea
Prior art keywords
circuit card
computer
list
circuit
certified
Prior art date
Application number
KR1020117028258A
Other languages
English (en)
Other versions
KR20120002552A (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 KR20120002552A publication Critical patent/KR20120002552A/ko
Application granted granted Critical
Publication of KR101379522B1 publication Critical patent/KR101379522B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • 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/4418Suspend and resume; Hibernate and awake

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

회로 카드가 이것이 인스톨되는 컴퓨터와 호환성이 있음을 확인하는 시스템 및 방법으로서, 컴퓨터의 비휘발성 메모리에 저장된 호환성 회로 카드들의 리스트에 액세스하는 것, 회로 카드가 호환성 회로 카드들의 리스트에 포함되는지를 결정하는 것, 및 회로 카드가 호환성 회로 카드들의 리스트에 포함되는 경우에만 회로 카드에 운영 소프트웨어 명령들을 저장하는 것을 포함한다. 호환성 회로 카드들의 리스트는 컴퓨터의 BIOS 데이터에 저장된 플러그-앤드-플레이 식별 (PnP ID) 리스트일 수 있다. 회로 카드가 호환성 회로 카드들의 리스트에 포함되지 않는 경우 회로 카드로부터 파워를 제거할 수도 있다.

Description

디바이스 하드웨어에 데이터 모듈 록을 제공하는 방법 및 시스템, 회로 카드가 컴퓨터와 호환성이 있음을 확인하기 위한 시스템 및 방법{METHOD AND SYSTEM FOR PROVIDING A DATA MODULE LOCK TO DEVICE HARDWARE, SYSTEM AND METHOD FOR CONFIRMING THAT A CIRCUIT CARD IS COMPATIBLE WITH A COMPUTER}
본 발명은 일반적으로 컴퓨터 시스템에 관한 것이며, 보다 상세하게는, 컴포넌트 회로 카드가 반드시, 승인된 컴퓨팅 디바이스에서만 실행하게 하는 방법에 관한 것이다.
노트북 컴퓨터를 비롯한 현대의 개인 컴퓨터는 네트워킹 및 통신 능력을 제공하기 위해 다수의 플러그로 연결되는 모듈 또는 카드를 사용한다. 예를 들어, 노트북 컴퓨터는 통상적으로, 일체형 무선 (예를 들어, WiFi 송수신기) 통신 카드를 포함하여, 조립되어 소비자에게 판매된다. 미래에, 노트북 컴퓨터는 셀룰러 네트워크 통신 카드를 포함하여 제조될 수도 있다. 이러한 통신 카드는 통신 카드의 기능을 스스로 프로그래밍하는데 사용되는 내장형 메모리를 포함한다. 이와 같이, 통신 기능의 제공 이외에도, 이러한 통신 카드는 또한 내장형 데이터 카드이다.
미국 연방 통신 위원회 (U.S. FCC) 는 의도적인 및 비의도적인 방사 장비를 위한 특정 규칙들을 포함하여, 전기통신 산업을 통제한다. 특히, FCC는 노트북 컴퓨터와 함께 사용되는 셀룰러 또는 PCS 외장형 또는 내장형 데이터 카드와 같은 디바이스에 대한 요건을 포함하는, 셀룰러 및 PCS 통신 시스템을 관리하는 규정을 공표했다. FCC 규정은 소비자의 건강을 보호하고 기타 전자 장비 또는 허가받은 무선 서비스에 대한 간섭을 최소화하는 것을 목표로 한다. 송신기가 미국 내에서 판매될 수 있으려면 그 전에, 송신기 제조사는 미연방규정집의 타이틀 47의 관련 섹션을 준수한다는 것을 시연함으로써 FCC로부터 인증을 획득해야 한다.
송신기 컴포넌트의 인증을 요구한 후에도, FCC는, 컴퓨터와 컴포넌트에 대하여, 인스톨된 컴포넌트가 그 컴퓨터에 대하여 인증되었음을 확인할 것을 요구한다. 이러한 호환성 결정은, 특정 모델 컴퓨터와 호환되는 것으로 테스트되고 나타내어진 컴포넌트에 의해서만 무선 송신 기능이 가능하게 될 것을 보장한다. 이 규정은 소비자가 회로 카드 또는 다른 컴포넌트를 부주의로, 테스트되지 않았던 컴퓨터에 인스톨하여, FCC 제품 인증 요건을 위반하는 것으로부터 보호한다. 따라서, WWAN 모듈 판매자는 각각의 인스톨된 컴포넌트에 대한 호환성 결정을 실시하도록 그 컴퓨터 제품을 구성할 것을 요구받는다.
통상적으로, 컴퓨터 제조사는 내장형 데이터 카드 또는 통신 카드와 같은 모든 컴포넌트 회로 카드가 컴퓨터 내에서, 이것이 인에이블되기 전에 컴퓨터에 의한 사용을 위해 인증되었음을 확인하는 BIOS (basic input/output) 내의 루틴을 포함한다. 도 1은 인에이블되기 전에 컴퓨터에 연결된 컴포넌트 회로 카드가 컴퓨터에 의한 사용을 위해 인증되었음을 확인하기 위한, 컴퓨터 제조사에 의해 사용되는 통상적인 방법을 도시한다. 개관하면, BIOS 루틴은 카드에 파워를 제공하고 (단계 1), 그 식별 (ID) 번호를 획득한다 (단계 3). 이 카드의 플러그-앤드-플레이 식별 ("PnP ID") 번호는 통상적으로, 카드 제조사에 의해 특정 모델 카드에 부여되고 카드의 비휘발성 메모리 레지스터에 저장된다. 일반적으로, 카드 ID는 판매자 ID (VID) 로 알려진 제조사를 식별하는 번호와, 제품 ID (PID) 로 알려진 특정 모델 또는 제품을 식별하는 번호를 포함한다. 본원에서는 PNP ID로 지칭되는, 판매자 ID와 제품 ID 모두 특정 FCC 인증 제품에 전세계적으로 고유한 번호이다.
이후, BIOS 루틴은 컴퓨터에 의한 사용을 위해 승인된 번호의 리스트와 카드에서 수신된 PNP ID 번호를 비교한다 (단계 5). 이 PNP ID 리스트는 보통, BIOS 소프트웨어와 함께 컴퓨터의 비휘발성 메모리 (예를 들어, 전자식 프로그래밍가능 판독-전용 메모리 (EPROM)) 에 저장된다. 카드 PNP ID 번호가 컴퓨터의 PNP ID 리스트에 있다면 (테스트 7), 파워가 카드에 인가되고 이 카드는 동작을 시작하도록 인에이블된다 (단계 11). 그러나, 카드 PNP ID 번호가 컴퓨터의 PNP ID 리스트에 있지 않다면 (즉, 테스트 7="아니오"), BIOS는 카드를 디스에이블하거나 카드에 대한 파워를 제거한다 (단계 9). FCC 규정은, 카드의 송신기를 인에이블하기 전에 콜드 파워 업 할 때마다 이 프로세스가 실시될 것을 요구한다. 이러한 방식으로, 인증되지 않았던 컴퓨터에 통신 카드가 인스톨되는 경우, 컴퓨터는 그 카드를 인에이블하지 않음으로써, 카드가 어떤 의도적인 이미션을 방사하지 않을 것을 보장한다.
FCC는 또한, 무선 송신기를 구비한 컴포넌트 회로 카드가 스스로 호환성 테스트를 실시하여, 인증되었던 컴퓨터에서만 컴포넌트 회로 카드가 사용되는 것을 보장할 것을 요구한다. 이와 같이, 컴포넌트 제조사는 컴포넌트 회로 카드의 기능의 일부로서 지금 당장 호환성 테스팅을 포함해야 한다. FCC 규정은 또한, 각각의 컴포넌트 회로 카드에 대하여, 이것이 인증된 컴퓨터에 연결된다는 것을 확인할 것을 요구함으로써, 컴퓨터 제조사가 상술된 BIOS 루틴을 포함하는 것을 등한시하는 경우 소비자를 보호한다. 도 2는 이 FCC 요건을 준수하는 회로 카드 제조사에 의해 사용된 예시적인 방법을 도시한다. 파워가 회로 카드에 인가되는 경우 (단계 13), 회로 카드는 컴퓨터의 BIOS EPROM으로부터 컴퓨터의 PNP ID 리스트에 액세스한다 (단계 15). 이후, 회로 카드는 엔트리가 카드의 PNP ID와 일치하는지를 알기 위해 수신된 PNP ID 리스트를 체크한다 (단계 17). 회로 카드가 PNP ID 리스트에 포함되는 경우 (테스트 19), 회로 카드는 동작을 계속한다 (단계 23). 그러나, 회로 카드가 컴퓨터의 PNP ID 리스트에 포함되지 않는 경우 (즉, 테스트 19="아니오"), 회로 카드는 정지한다 (단계 21).
상술되고 도 2에 예시된 FCC 규정을 준수하는 방법은 이 호환성 요건을 준수하기 위해 전용 회로 카드에 저장된 소프트웨어와 비휘발성 메모리를 요구한다. 이러한 부가는 회로 카드의 복잡도 및 비용의 면에서 바람직하지 않다.
회로 카드가 컴퓨터의 하드 드라이브에 저장되고 컴퓨터 프로세서에 의해 실행되는 회로 카드의 소프트웨어 다운로드 애플리케이션의 일부로서 특정 컴퓨터에 대하여 인증되었음을 확인하는 다양한 시스템 및 방법의 실시형태가 개시된다. 컴퓨터 프로세서와 컴퓨터의 하드 드라이브 상에 보유된 소프트웨어에 대한 카드-컴퓨터 호환성 테스팅을 없앰으로써, 여러 가지 실시형태는 보다 덜 복잡하고 더욱 저렴한, FCC를 준수하는 회로 카드를 가능하게 한다.
본원에 포함되고 본 명세서의 일부를 구성하는 첨부 도면은 본 발명의 특징을 설명하는 역할을 하는, 상기 주어진 전반적인 설명 및 아래에 주어진 상세한 설명과 함께, 본 발명의 예시적인 실시형태를 나타낸다.
도 1은 컴퓨터에 사용하기 위해 반드시 회로 카드가 인증되게 하기 위한 컴퓨터에 대한 종래 기술의 방법의 프로세스 흐름도이다.
도 2는 호스트 컴퓨터에 사용하기 위해 반드시 회로 카드가 인증되게 하기 위한 회로 카드에 대한 종래 기술의 방법의 프로세스 흐름도이다.
도 3은 실시형태에서 사용하는데 적합한 통상적인 컴퓨터의 시스템 블록도이다.
도 4는 실시형태의 프로세스 흐름도이다.
도 5는 대안적인 실시형태의 프로세스 흐름도이다.
도 6은 대안적인 실시형태의 프로세스 흐름도이다.
여러 가지 실시형태를 첨부 도면을 참고로 하여 상세하게 설명한다. 어느 곳에서라도, 동일한 도면 부호는 도면 전체에 걸쳐서 동일하거나 비슷한 부분을 지칭하는 것으로 사용된다. 특정 실시예 및 구현들에 대한 언급은 예시적인 목적이며, 본 발명이나 청구의 범위를 제한하는 것으로 의도하지 않는다.
본원에 사용된 바와 같이, 용어 "컴퓨터"는 특정 노트북 컴퓨터 및 휴대용 컴퓨팅 디바이스를 포함하여, 임의의 형태의 컴퓨팅 디바이스를 지칭한다. 본원에 사용된 바와 같이, 용어 "카드", "회로 카드", 및 "내장형 데이터 카드"는, 특정 송신기 기능을 제공하고 별개의 FCC 인증이 요구되는, 컴퓨터 시스템에 포함될 수 있는 회로 컴포넌트를 지칭한다. 카드는 하나의 집적 회로, 칩셋 또는 컴퓨터 시스템에 인스톨될 수도 있는 다수의 집적 회로와 회로 엘리먼트를 포함하는 회로 카드의 형태일 수도 있다. 바람직한 실시형태에서, 카드는, 이것이 인스톨되는 경우 컴퓨터로 하여금 외부 무선 네트워크와 통신할 수 있게 하는, 무선 송수신기 또는 셀룰러 네트워크 송수신기와 같은 통신 카드이다. 그러나, 여러 가지 실시형태는, 카드 승인이 반드시 확인되어야 하고 기능시키기 위해서 운영 소프트웨어가 회로 엘리먼트에 반드시 다운로드되어야 하는 임의의 회로 엘리먼트에 적용된다.
최근의 FCC 규정은, 노트북을 구입한 후 소비자가 모듈을 구입하고 인스톨할 수 있다면 호스트 컴퓨터 내에서의 사용을 위해 회로 카드가 그 자신의 인증을 확인할 것을 요구한다. 도 2를 참고로 하여 상술된 것과 같은 회로 카드의 인증 확인을 실시하는 것은 회로 카드가 이 테스팅을 실시하기 위한 운영 소프트웨어를 저장하는 비휘발성 메모리를 포함할 것을 요구한다. 대부분의 애플리케이션들에서, 회로 카드가 컴퓨터의 주문자 상표부착 생산자 (OEM) 에 의해 인스톨되기 때문에 이러한 테스팅이 불필요하다. OEM이 조립 동안 부적절한 회로 카드를 인스톨할 가능성이 없고 FCC는 OEM만이 카드를 인스톨할 수 있다면 승인 프로세스를 시연할 것을 카드 제조사에게 요구하지 않는다. 또한, 대부분의 소비자는 구입 후 새로운 또는 교체 회로 카드를 인스톨함으로써 컴퓨터를 개조하지 않는다. 따라서, 대부분의 경우들에서, 확인 테스팅이 불필요하고, 회로 카드 내에 호환성 테스팅 능력을 포함하는 것은, 대부분의 상황들에서 거의 사용되지 않는 비휘발성 메모리와 운영 소프트웨어 복잡도를 요구한다 (따라서, 비용이 추가된다).
FCC 요건을 준수하면서 회로 카드의 복잡도를 최소화하기 위해서, 본원에 기재된 다양한 실시형태들은, 컴퓨터의 하드 디스크로부터 회로 카드로 운영 소프트웨어를 로딩하는 초기화 과정의 일부로서 호환성 테스팅을 컴퓨터 프로세서에서 실행하는 소프트웨어로 시프트한다. 이러한 방식으로, 회로 카드는 비휘발성 메모리를 포함하지 않고 호환성 테스팅을 실시하기 위한 소프트웨어 명령들도 저장하지 않는다.
근래의 컴퓨터 시스템에 사용되는 많은 회로 카드는 카드를 기능시키기 위한 소프트웨어 명령들로 구성되어야 하는 그 자신의 온보드 프로세서를 포함한다. 이러한 프로세서-장착 회로 카드의 예는 무선 전기통신 카드 (예를 들어, WiFi 및 셀룰러 네트워크 송수신기 카드) 및 GPS 수신기 카드를 포함한다. 이러한 회로 카드는 통상적으로, 소프트웨어 명령들뿐만 아니라 데이터를 저장하는 랜덤 액세스 메모리 및 운영 소프트웨어로 구성되는 프로세서를 포함한다. 이러한 회로 카드는 그 자신의 운영 소프트웨어로 프로그래밍되지 않고 기능할 수 없다. 일부 회로 카드는 비휘발성 메모리를 포함하고 그 온보드 프로세서를 프로그래밍하는데 사용된 운영 소프트웨어 명령들을 저장한다. 그러나, 일부 회로 카드는 그 온보드 프로세서를 프로그래밍하기 위해서 회로 카드의 비휘발성 메모리로 운영 명령들이 로딩될 것을 요구한다. 휘발성 메모리를 이용하고 컴퓨터의 하드 드라이브에 저장된 소프트웨어에 의해 프로그래밍되는 회로 카드는, 새로운 운영 소프트웨어를 소비자에게 분배함으로써 (예를 들어, 인터넷을 통한 소프트웨어 업데이트를 제공함으로써), 덜 값비싸질 수 있고 용이하게 업그레이드될 수 있다. 따라서, 이러한 회로 카드가 기능할 수 있으려면 그 전에, 호스트 컴퓨터에서 실행하는 초기화 소프트웨어 루틴 (본원에서 "회로 카드 초기화 소프트웨어 루틴"으로 지칭함) 이 회로 카드의 운영 소프트웨어를 회로 카드의 휘발성 메모리로 다운로드해야 한다. 이러한 회로 카드 초기화 소프트웨어는 호스트 컴퓨터의 부팅 루틴의 일부, 스타트 업 동안 실행되는 소프트웨어 애플리케이션들 중 하나, 또는 컴포넌트 드라이버 소프트웨어의 일부일 수도 있으며, 이들 모두는 컴퓨터 기술에서 잘 알려져 있다.
다양한 컴퓨터 시스템 및 컴퓨터 아키텍쳐 상에서 다양한 실시형태들이 구현될 수도 있다. 도 3은 다양한 실시형태를 구현할 수도 있는 컴퓨터 시스템 (50) 의 기본 엘리먼트의 컴포넌트 도이다. 도 3에 도시된 바와 같이, 통상적인 컴퓨터 (50) 는 마이크로프로세서 또는 마이크로컴퓨터와 같은 프로세서 (51), EPROM과 같은 비휘발성 메모리 (52), 하드 디스크 메모리 (54) 및 회로 카드 (56) 를 포함한다.
회로 카드 (56) 는 FCC 호환성 테스팅 요건의 적용을 받는 다양한 회로 카드, 집적 회로 칩, 회로 보드 또는 컴포넌트 디바이스 중 어느 것일 수도 있다. 회로 카드 (56) 는 휘발성 메모리 (57) 에 저장된 운영 소프트웨어 명령들로 프로그래밍되는 카드 프로세서 (58) 및 휘발성 메모리 (57) 를 포함할 수도 있다. 카드 프로세서 (58) 에는 반드시, 운영 파라미터들이 제공되고/되거나 컴퓨터의 하드 디스크 메모리 (54) 에 저장된 적어도 몇 개의 운영 소프트웨어로 프로그래밍되어야 한다. 회로 카드 (56) 는 내장된 회로 카드로서 컴퓨터 (50) 내에 포함될 수도 있고, 또는 파선으로 도시된 바와 같이 외부 모뎀과 같은 외부 컴포넌트일 수도 있다.
최초 스타트 업 (즉, 콜드 스타트 업; cold start up) 에서, 컴퓨터 프로세서 (51) 는 비휘발성 메모리 (52) 에 저장된 BIOS 소프트웨어 및 구성 데이터로 최초로 구성될 수 있다. 스타트업 시퀀스의 일부로서, 컴퓨터 프로세서 (51) 는 컴퓨터의 하드 디스크 메모리 (54) 로부터 다운로드된 소프트웨어 명령들로 구성된다. 다양한 실시형태에서, 컴퓨터 프로세서 (51) 로 다운로드된 소프트웨어 명령들은 하드 디스크 (54) 에 저장된 회로 카드 초기화 소프트웨어 루틴을 포함한다. 회로 카드 초기화 소프트웨어 루틴은 프로세서 (51) 로 하여금, 다양한 실시형태 방법의 단계들을 실시하게 할 뿐만 아니라 카드 프로세서 (58) 가 그 기능을 실시하는데 필요한 운영 데이터 및/또는 소프트웨어 명령들을 회로 카드의 휘발성 메모리 (57) 로 로딩하게 한다. 특히, 아래에 더욱 상세하게 기재되는 바와 같이, 컴퓨터 프로세서 (51) 는, 컴퓨터의 비휘발성 메모리 (52) 에 저장된 컴퓨터의 PNP ID 리스트에 액세스하여 회로 카드 (56) 가 컴퓨터 (50) 와 호환성이 있는지 여부를 결정하기 위한, 하드 디스크 메모리 (54) 에 저장된 소프트웨어 명령들로 구성될 수 있다. 추가적으로, 컴퓨터 프로세서 (51) 는 또한 노트북 시스템과 회로 카드의 호환성을 결정하는데 유용한, 제조 스트링, 시스템 ID 등과 같은 회로 카드 (56) 와 관련된 다른 정보에 액세스할 수도 있다. 도 4 내지 도 6을 참고로 하여 아래에 더욱 상세하게 기재된 호환성 테스트가 성공적인 경우, 프로세서 (51) 는 하드 디스크 (54) 로부터 회로 카드 운영 소프트웨어를 회로 카드 (56) 내 비휘발성 메모리 (57) 로 다운로드할 수 있다. 일단 이렇게 프로그래밍되면, 회로 카드 프로세서 (58) 는 회로 카드 (56) 의 기능을 실시할 수 있다.
다양한 실시형태들에서, 컴퓨터 프로세서 (51) 에서 동작하는 회로 카드 초기화 소프트웨어 루틴은 회로 카드의 운영 소프트웨어를 다운로드 하기 전에 프로세서 (51) 로 하여금 회로 카드 호환성 테스팅을 실시하게 한다. 회로 카드 초기화 소프트웨어 루틴은 통상적으로, 대응하는 회로 카드가 인스톨되는 시각에 컴퓨터의 하드 드라이브 메모리 (54) 에 저장된다. 예를 들어, 회로 카드 (56) 가 OEM에 의해 컴퓨터 (50) 에 인스톨되는 경우, OEM은, 이것이 컴퓨터 (50) 에 제공된 하드 디스크 메모리 (54) 에 저장된 적절한 회로 카드 초기화 소프트웨어 루틴을 구비하도록 보장한다. 회로 카드 (56) 가 소비자가 구매하고 스스로 인스톨할 수도 있는 애프터-마켓 제품으로 판매되는 경우, 제품 패키지는, 콤팩트 디스크와 같은 유형의 저장 매체를 포함할 수도 있으며, 이러한 유형의 저장 매체를, 컴퓨터의 하드 드라이브 메모리 (54) 로 회로 카드 초기화 소프트웨어 루틴 준비를 업로드하기 위해 대응하는 레코더 (예를 들어, 컴팩트 디스크 드라이브 (미도시)) 로 소비자가 삽입할 수 있다. 대안으로는, 소비자가 인터넷으로부터 회로 카드 초기화 소프트웨어 루틴을 다운로드하도록 프롬프트될 수도 있다. 일부 애플리케이션들에서, 회로 카드 초기화 소프트웨어 루틴은 자기 디스크 메모리보다는 전자식 메모리를 사용하는 이동 디바이스들 (예를 들어, 셀룰러 전화기, PDA 등) 과 같이, 하드 드라이브 메모리 (54) 대신 (FLASH 메모리와 같은) 비휘발성 메모리 (52) 에 저장될 수도 있다.
일 실시 형태에서, 컴퓨터 (50) 에 인스톨된 각각의 회로 카드 (56) 에 대하여 컴퓨터의 하드 디스크 메모리 (54) 에 포함된 특정 회로 카드 초기화 소프트웨어 루틴이 존재한다. 대안적인 실시형태에서, 컴퓨터 (50) 는, 테스트될 각각의 회로 카드에 대하여 하드 디스크 메모리 (54) 에 저장된 PNP ID 번호를 이용하여 아래에 기재된 실시형태의 회로 카드 호환성 테스트를 실시할 수 있는 일반적인 회로 카드 소프트웨어 인스톨레이션 루틴을 실행할 수도 있다. 이러한 방식으로, 회로 카드 (56) 에 먼저 동력을 공급하거나 그 ID를 컴퓨터의 프로세서 (51) 로 제공할 수 있는 회로 카드 (56) 에 비휘발성 메모리 또는 회로를 포함시킬 필요 없이 호환성 테스트가 완료될 수 있다.
도 4는 실시형태의 예시적인 프로세스 흐름도를 도시한다. 종종 "부팅" 루틴으로 지칭되는 컴퓨터 초기화 루틴 동안, 회로 카드 초기화 소프트웨어 루틴이 작동한다 (단계 30). 이 루틴은 컴퓨터의 BIOS 프로세스의 일부로 지칭될 수도 있다. 회로 카드 (56) 로 소프트웨어의 다운로드를 시작하기 전에, 회로 카드 초기화 소프트웨어 루틴은 컴퓨터의 프로세서 (51) 로 하여금 컴퓨터의 PNP ID 리스트를 문의하게 한다 (단계 32). 이것은 프로세서 (51) 가 컴퓨터의 BIOS EPROM 메모리 (52) 로부터 PNP ID 리스트에 액세스함으로써 완성될 수도 있다. 예를 들어, PNP ID 리스트는 표준 마이크로소프트 호를 이용하여 BIOS 정보에 대하여 액세스될 수도 있다.
PNP ID 리스트가 수신되면, 회로 카드 초기화 소프트웨어 루틴은 프로세서 (51) 로 하여금 회로 카드 (56) 의 PNP ID에 대한 PNP ID 리스트를 체크하게 한다 (단계 34). 이렇게 하여, 회로 카드 초기화 소프트웨어 루틴은 컴퓨터의 하드 디스크 메모리 (54) 에 저장된 데이터 필드로부터 회로 카드의 ID를 회수할 수도 있다. 대안으로, 회로 카드의 ID는 호환성 테스트 소프트웨어 루틴의 코드 내에서 프로그래밍될 수도 있다. 회로 카드가 컴퓨터의 PNP ID 리스트에 나열되어있는 경우 (테스트 36), 회로 카드 초기화 소프트웨어 루틴은 회로 카드에 운영 소프트웨어를 다운로드하도록 진행할 수도 있다 (단계 38). 일단 회로 카드가 프로그래밍되면, 회로 카드는 통상의 동작을 시작할 수 있다 (단계 40). 그러나, 회로 카드 초기화 소프트웨어 루틴이, 회로 카드가 컴퓨터의 PNP ID 리스트에 나열되어 있지 않음을 결정한다면 (즉, 테스트 36= "아니오"), 회로 카드 운영 소프트웨어 다운로드가 종료될 수도 있다 (단계 42). 이것은 인에이블되거나 활성되기 전 소프트웨어 다운로드 스테이지에서 발생된 미인증 카드 (즉, 인증되지 않은 카드 또는 PNP ID 리스트에 나열되지 않은 카드) 를 남겨둔다. 일 실시형태에서, 회로 카드 초기화 소프트웨어 루틴은 또한 프로세서로 하여금, 회로 카드의 ID가 컴퓨터의 PNP ID 리스트에 나열되어 있지 않은 경우, 회로 카드에 대해 파워를 제거하게 할 수도 있다 (단계 44).
회로 카드의 운영 소프트웨어는, 회로 카드 (56) 가 전원이 끊어질 때마다 회로 카드의 휘발성 메모리로부터 삭제될 것이기 때문에, 이 실시형태는 콜드 파워 업 (cold power up) 시에 회로 카드 인증을 위한 FCC의 요건을 본질적으로 준수한다. 회로 카드 (56) 가 운영 소프트웨어 없이는 실행되지 않기 때문에, 호환성 테스트가 실시되지 않더라도, 회로 카드 (56) 가 동작하지 않을 것이다.
컴퓨터의 초기화 루틴 내에서 호환성 테스트의 시기는 제조사의 선호에 따라서 변할 수 있다. 예를 들어, 컴퓨터 (50) 가 스스로 시작될 때마다 (즉, 콜드 파워 업부터) 회로 카드 초기화 소프트웨어 루틴을 실행할 수도 있다. 이러한 방식으로, 회로 카드 (56) 는 컴퓨터의 전체 스타트 업 시퀀스의 일부로서 체크되고 활성될 것이다. 대안으로, 회로 카드 초기화 소프트웨어 루틴은, 사용자가 특정 기능을 활성시킬 것을 택하는 경우와 같이 회로 카드 (56) 가 활성되는 경우 실행될 수도 있다. 예를 들어, 무선 통신 카드가 활성되지 않도록 컴퓨터 (50) 가 구성되는 경우 (예를 들어, 민간 항공사의 컴퓨터를 이용하는데 적절한 세팅들), 호환성 테스트가 실시될 필요가 없다. 그러나, 사용자가 후속하여 컴퓨터의 무선 통신 능력을 활성시킬 것을 택한다면, 회로 카드 초기화 소프트웨어 루틴은 호환성 테스트가 그때에 실행되게끔 활성된다.
"하이버네이트" 또는 "스탠바이"의 부분적인 운영 모드들을 포함하는 컴퓨터 시스템에서 구현될 수도 있는 대안적인 실시형태가 도 5에 설명된다. 하이버네이트 또는 스탠바이 모드에서, 컴퓨터 (50) 는 신속한 재시작이 가능한 상태로 남아있다. 일부 실시형태들에서, 소프트웨어 및/또는 데이터를 메모리에서 유지시키기 위해서 파워가 일부 메모리 모듈들에 계속해서 공급될 수도 있다. FCC는 오로지, 컴퓨터 (50) 가 콜드 파워 업을 실시할 때마다 호환성 테스트가 실시될 것을 요구하기 때문에, 도 4를 참고로 하여 상술된 프로세스의 단계들을 실시하는데 필요한 규제가 존재하지 않는다. 도 5를 참고하면, 컴퓨터가 스탠바이 또는 하이버네이트 조건으로부터 통상의 동작으로 복귀되는 경우, 회로 카드 초기화 소프트웨어 루틴이 활성될 수도 있다 (단계 30). 이 실시형태에서, 회로 카드 초기화 소프트웨어 루틴은 먼저 컴퓨터의 프로세서 (51) 로 하여금 인스턴트 스타트 업 프로세스가 하이버네이트 또는 스탠바이 조건 중 어느 하나로부터의 복원인지를 결정하게 할 수도 있다 (테스트 46). 이것은 이미 시작된 스타트 업의 타입을 나타내는 메모리 내의 플래그를 테스팅함으로써 완성될 수도 있다. 스타트 업이 콜드 파워 업의 일부인 경우 (즉, 테스트 46="아니오"), 프로세스는 도 4를 참고로 하여 상술된 방식으로 계속될 수도 있다 (단계 32-44). 그러나, 회로 카드 초기화 소프트웨어 루틴이 하이버네이트 또는 스탠바이 조건으로부터의 복원의 일부로서 활성되었다면 (즉, 테스트 46="예"), 소프트웨어 루틴은 컴퓨터 프로세서 (51) 로 하여금 회로 카드 (56) 로 운영 소프트웨어를 다운로드하는 단계를 점프하게 할 수도 있다 (단계 38).
도 5에 예시된 실시형태는 호환성 테스트를 실시할 필요성을 제거함으로써 어떤 하이버네이트 또는 스탠바이 조건으로부터도 더욱 신속한 재시작을 가능하게 한다. 콜드 파워 업이 수행되는 경우 호환성 테스트 필요성만이 수행되기 때문에, 이 실시형태는 FCC 요건을 준수한다. 하이버네이트 또는 스탠바이 조건으로부터 재시작한 후 비호환성 회로 카드에 동력이 공급되지 않는 것을 보장하기 위해서 일부 추가적인 단계들이 또한 포함될 수도 있다.
도 6에 예시된 추가적인 실시형태에서, 회로 카드 초기화 소프트웨어 루틴은 또한, 회로 카드 호환성 테스트의 이전 수행이 성공적이었는지 여부를 나타내는 하이버네이트 또는 스탠바이 상태들 동안 유지되는 컴퓨터의 메모리 (예를 들어, 52 또는 54) 에 저장된 가변 플래그의 테스트 (48) 를 포함할 수도 있다. 컴퓨터 프로세서 (51) 가 회로 카드의 ID가 PNP ID 리스트에 나열되어 있음을 결정한다면 이 호환성 플래그가 세팅될 수도 있다 (즉, 테스트 36="예")(단계 37). 이것은, 회로 카드 (56) 가 호환성이 있는 것으로 결정되었음을 나타내기 위해 컴퓨터의 메모리의 특정 어드레스에 플래그 (예를 들어, "1") 를 저장하는 프로세서 (51) 를 통해 달성될 수도 있다. 그런 다음, 하이버네이트 또는 스탠바이 조건으로부터의 후속하는 복원에서, 회로 카드 (56) 가 하이버네이트 또는 스탠바이 조건 이후 초기화되었음을 결정 한 후 (테스트 46), 회로 카드 초기화 소프트웨어 루틴이 프로세서로 하여금 플래그를 체크하게 할 수도 있다 (테스트 48). 호환성 플래그가 세팅되는 경우 (예를 들어, "1"과 같음), 프로세서 (51) 는 소프트웨어 다운로드 단계로 점프할 수도 있다 (단계 38). 그러나, 이전 호환성 테스트가 실패임을 나타내는, 호환성 플래그가 설정되지 않은 경우 (즉, 테스트 48="아니오"), 프로세서 (51) 는 도 4를 참고로 하여 상술된 바와 같이 단계 32 내지 36을 실행함으로써 다시 호환성 테스트를 실시하도록 진행할 수도 있다. 대안으로, 도 6의 파선으로 나타낸 바와 같이, 프로세서 (51) 는 소프트웨어 다운로드를 종료시키기 위해 진행할 수도 있고 (단계 42), 회로 카드 (56) 로부터 파워를 제거하기 위해 진행할 수도 있다 (단계 44).
도 6에 도시된 실시형태는, 컴퓨터 (50) 가 하이버네이트 또는 스탠바이 조건으로부터 복원되는 경우에도 비호환성 회로 카드가 반드시 작동되지 않게 한다. 이 실시형태는 또한, 앞의 테스트가 이미, 회로 카드 (56) 가 호환성이 없는 것으로 나타냈다면 호환성 테스트의 실시를 걸러뛸 수도 있다.
이 실시형태는 다수의 이점을 갖는다. 컴퓨터의 프로세서 (51) 및 컴퓨터의 하드 디스크 드라이브 메모리 (54) 에 저장된 소프트웨어를 이용한 호환성 테스트를 실시함으로써, 회로 카드 (56) 는 덜 복잡해지고 따라서 덜 값비싸질 수 있다. (호환성 테스트를 실시하기 위한 소프트웨어 명령들을 저장하는데 요구되는) 회로 카드 (56) 의 비휘발성 메모리를 필요로 하지 않을 수도 있음으로써, 회로 카드의 설계에서 값비싼 컴포넌트를 잠재적으로 제거한다. 비휘발성 메모리가 다른 기능적인 목적을 위한 회로 카드 (56) 의 일부이더라도, 비휘발성 메모리는 호환성 테스트 소프트웨어 명령들로 채워질 필요 없이, 다른 카드 기능을 위해 이용가능한 더 많은 메모리를 남긴다. 이 실시형태는 또한, 컴퓨터의 BIOS에서 메모리에 액세스할 수 있는 회로 카드 (56) 에 소프트웨어를 제공하는 것과 연관된 복잡도를 제거한다. 회로 카드는 아직 설계되고 개발되지 않은 컴퓨터를 비롯하여, 다양한 컴퓨터들에 대하여 제조될 수도 있기 때문에, 다양한 상이한 컴퓨터 아키텍쳐에서 특정 메모리에 액세스할 수 있는 회로 카드 소프트웨어를 설계하는 도전을 제거한다는 이점이 있다. 요컨대, 이 실시형태는, FCC요건을 준수하기 위해 요구되는 것보다 설계면에서 회로 카드 (56) 를 더 단순하고 덜 값비싸게 할 수 있다.
컴퓨터의 하드 드라이브 상에 회로 카드 호환성 테스트 소프트웨어를 저장하는 것은 소프트웨어가 회로 카드의 비휘발성 메모리 내에 내장되는 경우보다 사용자에 의해 변경에 더 취약하게 한다는 것을 주목한다. 그러나, 이것은, FCC 요건이 컴퓨터 시스템에 비호환성 회로 카드를 부주의하게 인스톨하는 것으로부터 소비자를 보호하려는 의도이지 컴퓨터 시스템을 개조하거나 파괴하려는 결연한 노력을 좌절시키기 위한 것이 아니기 때문에 우려할 바가 아닐 수도 있다. 이것은 해커에 대한 보호보다는 통상의 소비자를 보호한다. 그럼에도 불구하고, 회로 카드 초기화 소프트웨어 루틴이 디지털 시그니쳐로 암호화되거나 보호될 수도 있으므로, 컴퓨터 프로세서는 소프트웨어 루틴이 개조었는지 여부를 검출하고 개조되었다면 동작을 막을 수 있다. 또한, 사용자가 소프트웨어 파일들을 위치시키고 변경하는 것을 더욱 곤란하게 하기 위해서, 회로 카드 초기화 소프트웨어 루틴이 하드 드라이브 상의 히든 메모리 위치 또는 히든 파일에 저장될 수도 있다.
앞의 실시형태를 구현하는데 사용된 하드웨어는 명령들의 세트를 실행하도록 구성된 프로세싱 엘리먼트 및 메모리 엘리먼트일 수도 있으며, 명령들의 세트는 상기 방법에 대응하는 방법의 단계들을 실시하기 위한 것이다. 대안으로, 일부 단계들 또는 방법들은 특정 기능에 한정된 회로에 의해 실시될 수도 있다.
당업자는 본 명세서에 개시된 실시예들과 관련되어 설명되는 다양한 예시적인 논리 블록들, 모듈들, 회로들, 방법들 및 알고리즘들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이 둘의 조합으로서 구현될 수도 있음을 또한 이해한다. 하드웨어 및 소프트웨어의 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 방법들 및 알고리즘들이 일반적으로 이들의 기능적 관점에서 설명되었다. 이러한 기능이 하드웨어로 구현되는지, 또는 소프트웨어로 구현되는지는 특정 애플리케이션 및 전체 시스템에 대해 부과된 설계 제한들에 의존한다. 당업자는 설명된 기능들을 각각의 특정 애플리케이션에 대해 다양한 방식으로 구현할 수 있지만, 이러한 구현 결정이 본 발명의 영역을 벗어나는 것으로 해석되어서는 안 된다.
도면에 도시되고 상술된 방법의 단계들은 단지 일부 단계들의 순서로서 예시의 목적이고, 이 순서는 본 발명 및 청구범위의 사상 및 범위로부터 벗어나지 않고 본원에 기재된 것으로부터 변경될 수도 있다. 여기에 개시된 실시형태들과 연결하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어, 프로세서에 의해 실행되는 소프트웨어 모듈, 또는 이들의 조합으로 직접 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 착탈형 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 저장 매체일 수도 있는, 프로세서 판독가능 메모리에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 커플링되어, 그 프로세서가 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있게 한다. 대안적으로, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서 및 저장 매체는 ASIC에 상주할 수도 있다. ASIC는 사용자 단말에 상주할 수도 있다. 대안적으로, 프로세서 및 저장 매체는 사용자 단말 내의 별도의 컴포넌트들로서 상주할 수도 있다. 추가적으로, 일부 양태들에서, 방법 또는 알고리즘의 단계 및/또는 동작들은, 컴퓨터 프로그램 제품에 포함될 수도 있는, 머신 판독가능 매체 및/또는 컴퓨터 판독가능 매체 상의 코드들 및/또는 명령들 중 하나 또는 임의의 조합 또는 세트로서 상주할 수도 있다.
개시된 실시형태들의 이전 설명은 당업자가 본 발명을 제조 또는 이용할 수 있도록 제공된다. 이들 실시형태들에 대한 다양한 변형들은 당업자에게는 자명할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 사상 또는 범위를 벗어나지 않고도 다른 실시형태들에 적용될 수도 있다. 따라서, 본 발명은 여기에 설명된 실시형태들로 제한되도록 의도되지 않으며, 여기에 개시된 원리들 및 신규한 특성들에 부합하는 최광의 범위를 따른다.

Claims (20)

  1. 식별 정보를 제공하는 비휘발성 메모리 또는 회로가 포함되어 있지 않은 회로 카드가, 상기 회로 카드에 동력을 공급하지 않으면서 특정 모델 컴퓨터와의 사용을 위해 호환성이 있음이 인증되었는지 확인하는 컴퓨터 실행 방법으로서,
    상기 컴퓨터의 각각의 스타트 업 (start up) 에 따라 상기 컴퓨터의 프로세서 상에서, 상기 컴퓨터의 하드 디스크에 저장된 회로 카드 초기화 소프트웨어를 실행하는 단계;
    상기 컴퓨터의 비휘발성 메모리에 저장된, 인증된 호환성 회로 카드들의 리스트들에 액세스하는 단계;
    상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함되는지를 결정하는 단계; 및
    상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함되는 경우에만 상기 회로 카드 상의 휘발성 메모리에 운영 소프트웨어 명령들을 저장하는 단계를 포함하는, 컴퓨터 실행 방법.
  2. 제 1 항에 있어서,
    상기 인증된 호환성 회로 카드들의 리스트는 상기 컴퓨터의 BIOS 데이터에 저장된 플러그-앤드-플레이 식별 (PnP ID) 리스트인, 컴퓨터 실행 방법.
  3. 제 1 항에 있어서,
    상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함되지 않는 경우 상기 회로 카드로부터 파워를 제거하는 단계를 더 포함하는, 컴퓨터 실행 방법.
  4. 제 1 항에 있어서,
    상기 컴퓨터가 스탠바이 또는 하이버네이트 조건으로부터 복원 중인지를 결정하는 단계; 및
    상기 컴퓨터가 스탠바이 또는 하이버네이트 조건으로부터 복원 중인 경우, 상기 인증된 호환성 회로 카드들의 리스트에 액세스하는 단계와 상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함되는지를 결정하는 단계를 실시하지 않고, 상기 회로 카드 상의 상기 휘발성 메모리에 운영 소프트웨어 명령들을 저장하는 단계를 더 포함하는, 컴퓨터 실행 방법.
  5. 제 1 항에 있어서,
    스탠바이 또는 하이버네이트 조건으로부터 복원되는 단계;
    상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함된다는 것을 상기 컴퓨터가 미리 결정했는지를 결정하는 단계; 및
    상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함된다는 것을 상기 컴퓨터가 미리 결정한 경우, 상기 인증된 호환성 회로 카드들의 리스트에 액세스하는 액세스 단계와 상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함되는지를 결정하는 단계를 반복하지 않고, 상기 회로 카드 상의 상기 휘발성 메모리에 운영 소프트웨어 명령들을 저장하는 단계를 더 포함하는, 컴퓨터 실행 방법.
  6. 프로세서;
    상기 프로세서에 연결된 하드 디스크 메모리;
    상기 프로세서에 연결된 비휘발성 메모리로서, 상기 비휘발성 메모리에는 BIOS 데이터 및 소프트웨어 명령들이 저장되는, 상기 비휘발성 메모리; 및
    상기 프로세서에 연결된 회로 카드로서, 상기 회로 카드는 휘발성 메모리를 포함하지만, 식별 정보를 제공하는 비휘발성 메모리 또는 회로를 포함하지 않는, 상기 회로 카드를 포함하고,
    상기 하드 디스크 메모리에는, 상기 프로세서로 하여금, 상기 회로 카드가 컴퓨터 시스템의 각각의 스타트 업 (start up) 에 따라 상기 컴퓨터 시스템과의 사용을 위해 인증되는지 확인하기 위한 호환성 테스팅를 수행하기 위해,
    상기 비휘발성 메모리에 저장된, 인증된 호환성 회로 카드들의 리스트에 액세스하는 단계;
    상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함되는지를 결정하는 단계; 및
    상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함되는 경우에만 상기 회로 카드 상의 상기 휘발성 메모리에 운영 소프트웨어 명령들을 저장하는 단계를
    포함하는 단계들을 실시하게 하도록 구성된 프로세서 실행가능 회로 카드 초기화 소프트웨어 명령들이 저장되는, 컴퓨터 시스템.
  7. 제 6 항에 있어서,
    상기 인증된 호환성 회로 카드들의 리스트는 플러그-앤드-플레이 식별 (PnP ID) 리스트로서 컴퓨터의 BIOS 데이터에 저장되는, 컴퓨터 시스템.
  8. 제 6 항에 있어서,
    상기 하드 디스크 메모리에는, 상기 프로세서로 하여금,
    상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함되지 않는 경우 상기 회로 카드로부터 파워를 제거하는 단계를 포함하는 단계들을 추가로 실시하게 하도록 구성된 프로세서 실행가능 소프트웨어 명령들이 저장되는, 컴퓨터 시스템.
  9. 제 6 항에 있어서,
    상기 하드 디스크 메모리에는, 상기 프로세서로 하여금,
    컴퓨터가 스탠바이 또는 하이버네이트 조건으로부터 복원 중인지를 결정하는 단계; 및
    상기 컴퓨터가 스탠바이 또는 하이버네이트 조건으로부터 복원 중인 경우, 상기 인증된 호환성 회로 카드들의 리스트에 액세스하는 단계와 상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함되는지를 결정하는 단계를 실시하지 않고, 상기 회로 카드 상의 상기 휘발성 메모리에 운영 소프트웨어 명령들을 저장하는 단계를
    포함하는 단계들을 추가로 실시하게 하도록 구성된 프로세서 실행가능 소프트웨어 명령들이 저장되는, 컴퓨터 시스템.
  10. 제 6 항에 있어서,
    상기 하드 디스크 메모리에는, 상기 프로세서로 하여금,
    컴퓨터가 스탠바이 또는 하이버네이트 조건으로부터 복원 중인지를 결정하는 것;
    상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함된다는 것을 상기 컴퓨터가 미리 결정했는지를 결정하는 것; 및
    상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함된다는 것을 상기 컴퓨터가 미리 결정한 경우, 상기 인증된 호환성 회로 카드들의 리스트에 액세스하는 액세스 단계와 상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함되는지를 결정하는 단계를 반복하지 않고, 상기 회로 카드 상의 상기 휘발성 메모리에 운영 소프트웨어 명령들을 저장하는 단계를
    포함하는 단계들을 추가로 실시하게 하도록 구성된 프로세서 실행가능 소프트웨어 명령들이 저장되는, 컴퓨터 시스템.
  11. 컴퓨터에 연결된 회로 카드가 상기 컴퓨터의 각각의 스타트 업 (start up) 에 따라 상기 컴퓨터와의 사용을 위해 호환성이 있음이 인증되었는지 확인하도록 구성된 컴퓨터로서,
    상기 회로 카드는 휘발성 메모리를 포함하지만, 식별 정보를 제공하는 비휘발성 메모리 또는 회로는 포함하지 않고,
    상기 컴퓨터는,
    컴퓨터의 비휘발성 메모리에 저장된, 인증된 호환성 회로 카드들의 리스트에 액세스하는 수단;
    상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함되는지를 결정하는 수단; 및
    상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함되는 경우에만 상기 회로 카드 상의 휘발성 메모리에 운영 소프트웨어 명령들을 저장하는 수단을 포함하는, 컴퓨터.
  12. 제 11 항에 있어서,
    상기 인증된 호환성 회로 카드들의 리스트는 상기 컴퓨터의 BIOS 데이터에 저장된 플러그-앤드-플레이 식별 (PnP ID) 리스트인, 컴퓨터.
  13. 제 11 항에 있어서,
    상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함되지 않는 경우 상기 회로 카드로부터 파워를 제거하는 수단을 더 포함하는, 컴퓨터.
  14. 제 11 항에 있어서,
    상기 컴퓨터가 스탠바이 또는 하이버네이트 조건으로부터 복원 중인지를 결정하는 수단; 및
    상기 컴퓨터가 스탠바이 또는 하이버네이트 조건으로부터 복원 중인 경우, 상기 인증된 호환성 회로 카드들의 리스트에 액세스하는 단계와 상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함되는지를 결정하는 단계를 실시하지 않고, 상기 회로 카드 상의 상기 휘발성 메모리에 운영 소프트웨어 명령들을 저장하는 수단을 더 포함하는, 컴퓨터.
  15. 제 11 항에 있어서,
    상기 컴퓨터가 스탠바이 또는 하이버네이트 조건으로부터 복원 중인지를 결정하는 수단;
    상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함된다는 것을 상기 컴퓨터가 미리 결정했는지를 결정하는 수단; 및
    상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함된다는 것을 상기 컴퓨터가 미리 결정한 경우, 상기 인증된 호환성 회로 카드들의 리스트에 액세스하는 액세스 단계와 상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함되는지를 결정하는 단계를 반복하지 않고, 상기 회로 카드 상의 상기 휘발성 메모리에 운영 소프트웨어 명령들을 저장하는 수단을 더 포함하는, 컴퓨터.
  16. 유형의 프로세서-판독가능 저장 매체로서,
    상기 유형의 프로세서-판독가능 저장 매체에는, 프로세서로 하여금,
    회로 카드가 상기 회로 카드에 동력을 공급하지 않고, 상기 회로 카드 상에 식별 정보 제공을 위한 비휘발성 메모리 또는 회로를 포함하지 않으면서,
    상기 프로세서를 포함하는 특정 모델 컴퓨터와의 사용을 위해 호환성이 있음이 인증되었는지, 상기 컴퓨터의 각각의 스타트 업 (start up) 시에 확인하기 위해,
    비휘발성 메모리에 저장된, 인증된 호환성 회로 카드들의 리스트에 액세스하는 단계;
    상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함되는지를 결정하는 단계; 및
    상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함되는 경우에만 상기 회로 카드 상의 휘발성 메모리에 운영 소프트웨어 명령들을 저장하는 단계를
    포함하는 단계들을 실시하게 하도록 구성된 프로세서 실행가능 소프트웨어 명령들이 저장되는, 유형의 프로세서-판독가능 저장 매체.
  17. 제 16 항에 있어서,
    상기 인증된 호환성 회로 카드들의 리스트는, 플러그-앤드-플레이 식별 (PnP ID) 리스트로서 컴퓨터의 BIOS 데이터에 저장되는, 유형의 프로세서-판독가능 저장 매체.
  18. 제 16 항에 있어서,
    상기 저장된 프로세서 실행가능 소프트웨어 명령들은, 상기 프로세서로 하여금,
    상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함되지 않는 경우 상기 회로 카드로부터 파워를 제거하는 단계를 포함하는 단계들을 추가로 실시하게 하도록 구성되는, 유형의 프로세서-판독가능 저장 매체.
  19. 제 16 항에 있어서,
    상기 저장된 프로세서 실행가능 소프트웨어 명령들은, 상기 프로세서로 하여금,
    컴퓨터가 스탠바이 또는 하이버네이트 조건으로부터 복원 중인지를 결정하는 것; 및
    컴퓨터가 스탠바이 또는 하이버네이트 조건으로부터 복원 중인 경우, 상기 인증된 호환성 회로 카드들의 리스트에 액세스하는 단계와 상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함되는지를 결정하는 단계를 실시하지 않고, 상기 회로 카드 상의 휘발성 메모리에 운영 소프트웨어 명령들을 저장하는 단계를
    포함하는 단계들을 추가로 실시하도록 구성되는, 유형의 프로세서-판독가능 저장 매체.
  20. 제 16 항에 있어서,
    상기 저장된 프로세서 실행가능 소프트웨어 명령들은, 상기 프로세서로 하여금,
    컴퓨터가 스탠바이 또는 하이버네이트 조건으로부터 복원 중인지를 결정하는 단계;
    상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함된다는 것을 상기 컴퓨터가 미리 결정했는지를 결정하는 단계; 및
    상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함된다는 것을 상기 컴퓨터가 미리 결정한 경우. 상기 인증된 호환성 회로 카드들의 리스트에 액세스하는 액세스단계와 상기 회로 카드가 상기 인증된 호환성 회로 카드들의 리스트에 포함되는지를 결정하는 단계를 반복하지 않고. 상기 회로 카드 상의 휘발성 메모리에 운영 소프트웨어 명령들을 저장하는 단계를
    포함하는 단계들을 추가로 실시하게 하도록 구성되는, 유형의 프로세서-판독가능 저장 매체.
KR1020117028258A 2009-04-28 2010-04-28 디바이스 하드웨어에 데이터 모듈 록을 제공하는 방법 및 시스템, 회로 카드가 컴퓨터와 호환성이 있음을 확인하기 위한 시스템 및 방법 KR101379522B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/431,075 US8209528B2 (en) 2009-04-28 2009-04-28 Method and system for certifying a circuit card lacking any non-volatile memory as being compatible with a computer
US12/431,075 2009-04-28
PCT/US2010/032765 WO2010129336A2 (en) 2009-04-28 2010-04-28 Method and system for providing a data module lock to device hardware

Publications (2)

Publication Number Publication Date
KR20120002552A KR20120002552A (ko) 2012-01-05
KR101379522B1 true KR101379522B1 (ko) 2014-03-28

Family

ID=42993153

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117028258A KR101379522B1 (ko) 2009-04-28 2010-04-28 디바이스 하드웨어에 데이터 모듈 록을 제공하는 방법 및 시스템, 회로 카드가 컴퓨터와 호환성이 있음을 확인하기 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US8209528B2 (ko)
EP (1) EP2435910A2 (ko)
JP (1) JP5526225B2 (ko)
KR (1) KR101379522B1 (ko)
CN (1) CN102414662A (ko)
WO (1) WO2010129336A2 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775709B2 (en) * 2009-10-30 2014-07-08 Feitian Technologies Co., Ltd. Method for recognizing a card reader with multiple card holders and method for communicating between a host and the card reader and system thereof
US8930939B2 (en) * 2011-06-25 2015-01-06 International Business Machines Corporation Comparing system engram with product engram to determine compatibility of product with system
US9058190B2 (en) * 2011-06-25 2015-06-16 International Business Machines Corporation Comparing system engram with product engram to determine compatibility with system
US9558329B2 (en) 2014-06-19 2017-01-31 Dell Products L.P. License management using a basic input/output system (BIOS)
JP6492835B2 (ja) 2015-03-23 2019-04-03 富士通クライアントコンピューティング株式会社 ポータブル機器、及び情報処理装置
US10764942B2 (en) * 2015-04-09 2020-09-01 Echelon Corporation Systems, apparatuses, and methods for provisioned networking
TWI697772B (zh) * 2019-05-08 2020-07-01 立端科技股份有限公司 自動測試主機操作系統的測試方法及其測試系統

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491804A (en) * 1987-03-13 1996-02-13 International Business Machines Corp. Method and apparatus for automatic initialization of pluggable option cards
US5930496A (en) * 1997-09-26 1999-07-27 Compaq Computer Corporation Computer expansion slot and associated logic for automatically detecting compatibility with an expansion card

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69117498D1 (de) 1991-05-31 1996-04-04 Ibm Kommunikationssteuergerät mit Leitungsanpassern die mit Anwenderprogramm ladbar sind
PT870222E (pt) * 1995-08-21 2002-10-31 Cornel Sirbu Dispositivo e processo de acesso condicional
US5822614A (en) 1996-05-31 1998-10-13 Unisys Corporation Self-identifying peripheral device
EP1042893A1 (en) 1997-12-19 2000-10-11 Vivid Technology Pte. Ltd. Multiprotocol reconfigurable network adapter
US7072728B2 (en) * 1999-11-19 2006-07-04 Dell Products L.P. Method for assembling hardware components in a computer system
US7522614B1 (en) * 2003-02-28 2009-04-21 3Com Corporation Multi-service access platform for telecommunications and data networks
CN1612117A (zh) * 2003-10-29 2005-05-04 林晖 网际网络通关安全认证方法及ic卡认证硬件
JP2005352826A (ja) * 2004-06-11 2005-12-22 Oki Electric Ind Co Ltd プラグアンドプレイ機能対応自動機システム
US20060136338A1 (en) * 2004-12-16 2006-06-22 Intel Corporation Techniques for filtering attempts to access component core logic
US8214541B2 (en) 2006-06-07 2012-07-03 Dell Products L.P. Method and system for uniquely identifying peripheral component devices
CN201348781Y (zh) * 2008-12-26 2009-11-18 鸿富锦精密工业(深圳)有限公司 电路板

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491804A (en) * 1987-03-13 1996-02-13 International Business Machines Corp. Method and apparatus for automatic initialization of pluggable option cards
US5930496A (en) * 1997-09-26 1999-07-27 Compaq Computer Corporation Computer expansion slot and associated logic for automatically detecting compatibility with an expansion card

Also Published As

Publication number Publication date
JP5526225B2 (ja) 2014-06-18
WO2010129336A3 (en) 2011-02-17
JP2012525647A (ja) 2012-10-22
US20100274998A1 (en) 2010-10-28
CN102414662A (zh) 2012-04-11
US8209528B2 (en) 2012-06-26
KR20120002552A (ko) 2012-01-05
WO2010129336A2 (en) 2010-11-11
EP2435910A2 (en) 2012-04-04

Similar Documents

Publication Publication Date Title
KR101379522B1 (ko) 디바이스 하드웨어에 데이터 모듈 록을 제공하는 방법 및 시스템, 회로 카드가 컴퓨터와 호환성이 있음을 확인하기 위한 시스템 및 방법
US10142104B2 (en) Securely recovering a computing device
JP4647300B2 (ja) 特定の装置または装置のクラスにおいてのみソフトウェアの更新のインストールまたは稼動を確実に行えるようにする方法及びシステム
TWI534610B (zh) 用於安全選項唯讀記憶體控制的方法、媒體及計算裝置
US8688967B2 (en) Secure booting a computing device
US8789037B2 (en) Compatible trust in a computing device
US8010959B2 (en) System and method for updating device drivers
US8566937B2 (en) Information processing apparatus and method for preventing unauthorized cooperation of applications
US8291480B2 (en) Trusting an unverified code image in a computing device
TWI420879B (zh) 限制作業系統及其他軟體之安裝之反駭客保護
EP2829978B1 (en) Mobile terminal detection method and mobile terminal
US9069939B2 (en) Method and apparatus for storing a software license
EP3163489A1 (en) Token-based control of software installation and operation
CN102223441A (zh) 个性化定制手机恢复出厂设置的方法
EP3176723B1 (en) Computer system and operating method therefor
US8117431B2 (en) Method for loading system locked pre-installation certification
KR101207066B1 (ko) 저작권 보호가 가능한 gpos 기반의 통합형 애플리케이션 개발 환경 제공 시스템, 서버 및 방법

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee