KR20060046261A - 소프트웨어 제품 면허의 단일 재가동을 위한 방법 및시스템 - Google Patents

소프트웨어 제품 면허의 단일 재가동을 위한 방법 및시스템 Download PDF

Info

Publication number
KR20060046261A
KR20060046261A KR1020050045451A KR20050045451A KR20060046261A KR 20060046261 A KR20060046261 A KR 20060046261A KR 1020050045451 A KR1020050045451 A KR 1020050045451A KR 20050045451 A KR20050045451 A KR 20050045451A KR 20060046261 A KR20060046261 A KR 20060046261A
Authority
KR
South Korea
Prior art keywords
restart
software product
application
hardware
policy group
Prior art date
Application number
KR1020050045451A
Other languages
English (en)
Other versions
KR101159316B1 (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 KR20060046261A publication Critical patent/KR20060046261A/ko
Application granted granted Critical
Publication of KR101159316B1 publication Critical patent/KR101159316B1/ko

Links

Images

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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

소프트웨어 제품의 재가동을 위한 방법은 재가동 정책 그룹과 연관된 제1 소프트웨어 제품을 가동하는 단계를 포함한다. 컴퓨터 하드웨어 구성으로부터 유도되는 하드웨어 식별자는 제1 소프트웨어 제품 가동에 의해 한정된다. 연관된 재가동 바인딩 리스트(binding list)를 갖는 제2 소프트웨어 제품이 가동된다. 제1 소프트웨어 제품에 대해 재가동이 요구되고, 업데이트된 하드웨어 식별자는 제1 소프트웨어 제품의 재가동 정책 그룹과 연관된다. 바인딩 리스트가 재가동 정책 그룹과 호환가능한 경우 제2 제품이 제1 소프트웨어 제품의 재가동과 연관될 수 있으면 제2 소프트웨어 제품은 재가동 요구가 면해진다.
소프트웨어 제품, 하드웨어 식별자, 재가동, 바인딩 리스트

Description

소프트웨어 제품 면허의 단일 재가동을 위한 방법 및 시스템{METHOD AND SYSTEM FOR SINGLE REACTIVATION OF SOFTWARE PRODUCT LICENSES}
도 1a는 면허 소프트웨어의 다중 재가동에 대한 종래 기술의 시나리오의 시간선.
도 1b는 면허 소프트웨어의 다중 재가동을 많이 제거할 수 있는 보다 바람직한 시나리오의 시간선.
도 2는 본 발명의 가동 특성에 대한 흐름도.
도 3은 본 발명의 재가동 특성에 대한 흐름도.
도 4는 본 발명의 특성이 실시될 수 있는 예시적인 컴퓨팅 환경을 도시하는 블록도.
〈도면의 주요 부분에 대한 부호의 설명〉
600: 컴퓨팅 환경
620: 프로세싱 유닛
630: 시스템 메모리
634: 운영 시스템
635: 어플리케이션 프로그램
636: 다른 프로그램 모듈
637: 프로그램 데이터
640: 비-제거가능 비휘발성 메모리 인터페이스
644: 운영 시스템
645: 어플리케이션 프로그램
646: 다른 프로그램 모듈
647: 프로그램 데이터
650: 제거가능 비휘발성 메모리 인터페이스
660: 사용자 입력 인터페이스
661: 마우스
662: 키보드
670: 네트워크 인터페이스
671: LAN
672: 모뎀
673: WAN
680: 리모트 컴퓨터
685: 리모트 어플리케이션 프로그램
690: 비디오 인터페이스
691: 모니터
695: 출력 주변 인터페이스
696: 프린터
697: 스피커
본 발명은 일반적으로 컴퓨터 소프트웨어 면허 분야에 관한 것이다. 보다 구체적으로, 본 발명은 하나 이상의 소프트웨어 어플리케이션 면허의 재가동 방법에 관한 것이다.
소프트웨어 저작권 침해는 소프트웨어 제작자에게 큰 재정적 관심사이다. 비록 소프트웨어 제작자로부터의 기존 경향이 어플리케이션의 하나 이상의 복사물을 개인적으로 사용하도록 사용자에게 면허를 부여하는 것이지만, 사용자는 때로 면허를 위반하여 허가된 수 보다 많은 컴퓨터에서 그 어플리케이션을 사용하도록 의도한다. 다른 방법으로, 소프트웨어는 그를 사용하도록 의도하는 비면허 사용자의 손에 들어갈 수 있다.
이러한 비면허 활동을 방지하는 한가지 방법은 초기 인스톨 이후에 바로 면허 사용자가 소프트웨어 어플리케이션의 가동에 참여하도록 요구하는 것이다. 이 프로세스 동안, 사용자는 소프트웨어의 제품 및 일련 번호와 같은 정보를 다시 소프트웨어 제작자에게 제공한다. 이는 요구되는 정보를 나타내는 디지트의 키 처리(keying)에 의해 온라인이나 전화로 실행될 수 있다. 때로, 제품과 일련 번호는 수십개의 디지트 길이가 된다. 소프트웨어 제작자는 특정한 제품에 대한 소프트웨어 면허가 유효함을 검증할 수 있다. 프로세스의 일부로, 특정한 사용자 기계가 아니라 소프트웨어가 인스톨되고 있는 하드웨어의 구성을 식별하는 HWID(hardware identifier)가 전형적으로 발생된다. 이 HWID는 소프트웨어 가동시 사용자가 갖는 초기 하드웨어 구성으로 로그 처리된다.
일반적으로, 제작자는 정보가 유효하다는 확인으로 사용자가 공급한 제품, 일련 번호, 및 HWID 정보에 응답한다. 가동 코드는 소프트웨어가 사용자에 대해 동작되는 것을 가능하게 하도록 사용자 컴퓨터에 발행된다. 동작시, 인스톨된 어플리케이션은 후속 어플리케이션 억세스에서 HWID를 통해 하드웨어 구성이 현저하게 변하지 않았음을 검증할 수 있다. 어플리케이션 억세스에서 HWID가 변하면, 이는 어플리케이션이 소프트웨어 동의에 위반하여 다른 기계로 이동되었다는 표시가 될 수 있다. 이러한 환경에서는 사용자가 어플리케이션을 억세스하는 것이 방지된다. 이 방법으로, 저작권이 침해된 상태에서 소프트웨어 어플리케이션이 사용되는 것을 방지함으로서 가동 프로세스는 소프트웨어 면허 동의의 관리자가 된다.
그러나, 사용자 컴퓨터에서 HWID가 변한 이유가 동의의 위반이 되지 않을 수 있다. HWID의 변화는 합법적인 면허 소유자가 허가된 소프트웨어를 운행하도록 사용하고 있는 주요 하드웨어 업그레이드의 결과일 수 있다. 이러한 상태에서, 어플리케이션은 소프트웨어가 사용자에 의해 억세스되기 이전에 재가동 동작이 성공적으로 완료되도록 요구한다. 재가동에서는 사용자가 제품 및 일련 번호 정보에 대한 모든 정보 또는 일부 정보를 다시 입력하도록 요구한다. 일단 다시 입력하면, 이는 직접 입력할 수십개의 디지트를 포함하여 온라인이나 전화를 통해 실행될 수 있다. 가동 보호를 포함하는 모든 어플리케이션은 주요 하드웨어가 변화된 이후에 재가동을 요구하므로, 각 어플리케이션은 모든 어플리케이션에서 재가동이 실행될 때까지 합법적인 사용자가 허가된 소프트웨어를 억세스하지 못하게 하는 기능을 갖는다. 이는 특히 전화 통신 링크를 통해 수동으로 실행되는 경우 매우 길고 힘든 작업이 될 수 있다.
도 1a는 다수의 재가동이 일어날 수 있는 전형적인 종래 기술의 시나리오를 도시한다. 이 시나리오에서, 사용자는 단일 컴퓨터에서 시간 T=0에 어플리케이션 1을 가동시킨다. 앞서 논의된 바와 같이, 가동으로 특정한 HWID가 구성되어 어플리케이션 1 가동시 컴퓨터의 하드웨어 구성을 나타내게 된다. 두드러진 하드웨어 변화가 이루어지지 않은 것으로 가정하고, 사용자는 각각 T=1 및 T=2에 어플리케이션 2와 어플리케이션 3을 가동시킨다. 시간 T=3에, 합법적인 사용자의 컴퓨터에는 다양한 어플리케이션에서 반-저작권 침해 가동 소프트웨어에 의해 셋업된 허용 한계치를 뛰어넘는 하드웨어 변화가 이루어진다. 한계치를 넘는 하드웨어 변화로, 저작권 침해-보호 어플리케이션의 새로운 억세스는 재가동 요구가 일어나게 한다.
시간 T=4에, 사용자는 어플리케이션 1을 억세스한다. 어플리케이션 반-저작권 침해 소프트웨어는 두드러진 하드웨어 변화가 일어났음을 검출한다. 어플리케이션은 이어서 사용자가 재가동 프로세스를 실행하도록 요구한다. T=5에는 재가동 프로세스가 일어나고, 사용자에게는 소프트웨어에 대한 계속적인 억세스가 부여된다. 사용자는 T=6에 다음 어플리케이션, 랜덤한 순서로 어플리케이션 3을 억세스한다. 저작권 침해 보호 소프트웨어는 다시 한번 두드러진 하드웨어 변화를 검출 하고 재가동을 요구한다. 사용자는 시간 T=7에 그에 동의하여 어플리케이션 3을 재가동한다. 시간 T=8에, 사용자는 다음 어플리케이션, 여기서는 어플리케이션 2를 억세스한다. 다시 한번, 저작권 침해 검출 소프트웨어는 두드러진 하드웨어 변화를 검출하고 어플리케이션 2가 재가동되도록 요구한다. 사용자는 어플리케이션 3을 억세스하도록 원하는 경우 그에 동의하여야 하므로, 시간 T=9에 재가동이 일어난다. 이 프로세스는 원래의 HWID와 연관되어 사용자가 인스톨한 모든 어플리케이션에 대해 계속될 수 있다.
도 1b에는 더 나은 시나리오가 도시된다. 여기서는 T=0 내지 T=5에 대해 똑같은 시간선이 도시된다. 사용자는 T=0 내지 T=2에 소프트웨어를 가동하고, T=3에 두드러진 하드웨어 변화와 마주치고, 시간 T=4 및 T=5에 각각 어플리케이션 1을 억세스하여 재가동한다. 그러나, 시간 T=6 및 T=8에 각각 어플리케이션 3 및 어플리케이션 2를 억세스하는 경우, 재가동이 요구되지 않으면 사용자는 더 편리해진다. 그러나, 이 시나리오는 현재의 반-저작권 침해 가동 구조 하에서 사용자에게 이용가능하지 않으며, 특히 전화 링크 재가동 기술을 사용하는 구조에서 그렇다.
이와 같이, 면허 사용자가 호환가능한 HWID를 갖는 소프트웨어를 재가동하여야 하는 문제점을 줄이기 위해 합법적인 소프트웨어의 재가동 방법을 더 편리하게 허용하는 방법이 필요하다. 본 발명은 상기에 기술된 필요성을 해결하고 여기서 표현된 추가 이점으로 이를 해결한다.
본 발명의 한 실시예는 소프트웨어 면허를 재가동하고 추가 어플리케이션의 재가동을 불필요하게 하도록 그 재가동이 하나 이상의 추가 소프트웨어 어플리케이션에 적용되게 하는 방법을 포함한다. 먼저, 제1 어플리케이션의 가동은 제1 하드웨어 식별자를 제1 재가동 정책 그룹과 연관시킨다. 제1 어플리케이션은 제1 재가동 정책 그룹의 한 멤버이다. 추가 어플리케이션이 제1 재가동 정책 그룹과 호환가능한 경우, 적어도 하나의 추가 어플리케이션은 제1 하드웨어 식별자와 연관될 수 있다. 재가동 정책 그룹 내의 제1 어플리케이션이 재가동되면, 재가동 정책 그룹 내의 다른 소프트웨어 어플리케이션의 재가동은 불필요하다. 제1 어플리케이션의 재가동은 제1 재가동 정책 그룹과 연관된 새로운 하드웨어 식별자를 저장하고, 새로운 하드웨어 식별자는 다른 어플리케이션에 의해 사용되어 사용자가 다른 어플리케이션을 재가동하도록 촉구하는 것을 방지하게 된다.
본 발명의 한 실시예에서, 한 어플리케이션과 또 다른 어플리케이션 사이의 호환가능성은 두 어플리케이션이 똑같은 하드웨어 식별자를 공유함으로서 똑같은 재가동 정책 그룹에 가입되도록 허용할 수 있는 바인딩 리스트(binding list)에서 발견될 수 있다. 그러므로, 한 어플리케이션에서 재가동이 불필요해지면, 다른 어플리케이션은 재가동될 필요가 없이 계속하여 사용자에게 서비스를 제공한다.
예시적인 실시예의 이하의 상세한 설명 뿐만 아니라 전술한 실시예는 첨부된 도면을 참조하여 볼 때 보다 잘 이해될 것이다. 본 발명의 실시예를 나타내는 목적으로, 도면에서 본 발명의 예시의 구성이 나타내어지지만, 본 발명은 개시된 특정 방법 및 수단에 한정되지 않는다.
<실시예>
개관
소프트웨어 저작권 침해와 싸우는 한가지 방법은 한 수단으로 하드웨어 식별자를 사용하여, 소프트웨어 어플리케이션이 하드웨어 환경에서 소프트웨어가 한 기계에서 다른 기계로 이동됨을 나타내는 변화를 검출할 수 있는 것이다. 이러한 트리거는 소프트웨어가 소프트웨어 면허의 재가동을 요구하도록 허용한다. 그러나, 고객은 하드웨어 업그레이드에서 저작권 침해 검출 소프트웨어가 모든 면허를 재가동하도록 강요될 때 소유하고 허가된 소프트웨어의 각 부분을 재가동하게 됨을 쉽게 발견할 수 있다. 모든 면허 소프트웨어를 재가동하는 사용자의 시간 낭비를 방지하기 위해, 본 발명의 한 실시예는 호환가능한 소프트웨어를 단일 재가동 정책 그룹에 배치한다.
재가동 정책 그룹은 소프트웨어 어플리케이션의 1회 재가동이 그 정책 그룹에 속하는 모든 소프트웨어 어플리케이션에 충분해지도록 허용한다. 정책 그룹은 많이 있을 수 있으며, 각각은 하드웨어 변화에 대해 다른 허용치를 갖거나 다른 신용 체인을 갖는다. 재가동은 전화나 온라인을 통해 실행될 수 있다. 본 발명은 단일 재가동이 정책 그룹내의 모든 어플리케이션에 유효해질 수 있게 하여 소프트웨어 가동 고객 경험을 많이 개선시킬 수 있고 기존 제품 가동 기술에 대해 추가 기능이 될 수 있다.
본 발명의 예시적인 실시예
도 2는 본 발명의 가동 특성을 도시하는 흐름도(200)를 나타낸다. 먼저, 사용자는 구매한 소프트웨어의 제품 식별자 및 일련 번호와 같은 정보를 입력함으로 서 컴퓨터에서 소프트웨어 면허를 가동시킨다(단계 205). 그 정보는 고객이 정보를 입력하는데 전화 키패드를 사용하는 전화 링크를 통해 또는 온라인 연결을 통해 전달된다. 또한, 면허 소프트웨어가 가동될 때 사용자 컴퓨터의 하드웨어 구성 상태를 나타내는 하드웨어 식별자(HWID)도 전송된다. 이 HWID는 일반적으로 제품 식별자 및 제품의 일련 번호에 관한 정보와 함께 서버에 저장된다. 사용자 컴퓨터에는 소프트웨어가 사용될 수 있게 하는 확인이 전송되고, HWID는 소프트웨어 어플리케이션 정책 표시와 함께 저장된다(단계 207).
다른 호환가능한 소프트웨어 어플리케이션이 똑같은 재가동 정책을 공유할 수 있는 소프트웨어 면허 재가동 정책이 존재한다. 예를 들어, 똑같은 하드웨어 변화 허용치를 갖는 똑같은 소프트웨어 제작자로부터의 다른 어플리케이션이 몇가지 있으면, 이들은 잠재적으로 똑같은 재가동 정책을 공유할 수 있다. 단일 정책 하에서 이들 어플리케이션을 그룹화함으로서, 호환가능한 모든 어플리케이션은 똑같은 정책을 사용할 수 있다. 다른 하드웨어 변화 허용치를 갖거나 다른 신용 체인을 갖는 소프트웨어 어플리케이션이 제공되어 다른 재가동 정책 그룹으로 맞추어질 수 있다. 본 발명의 한 특성에 따라, 소프트웨어 어플리케이션은 재가동 정책 그룹을 호스트 처리하거나 컴퓨터 시스템에 이미 존재하는 것과 결합될 수 있다. 그룹과 결합되는 한가지 방법으로는 HWID의 호환가능성 비교가 있을 수 있다. 도 2의 흐름도에서는 앞서 인스톨된 재가동 정책 그룹이 존재하지 않고 제1 어플리케이션이 재가동 정책 그룹을 설립한다고 가정한다. 다시 도 2를 참고로, HWID는 가동될 때 제1 어플리케이션에 대해 대응하는 소프트웨어 재가동 정책 그룹 정보와 함께 사용자 컴퓨터에 저장될 수 있다(단계 210). 상기에 기술된 바와 같이, 똑같은 정보는 또한 소프트웨어 제작자 서버에 저장될 수 있다.
유사하게, 제2 어플리케이션은 소프트웨어 일련 번호 및 제품 식별자를 입력함으로서 사용자 컴퓨터에서 가동될 수 있다(단계 215). 본 발명의 한 특성으로, 제2 어플리케이션은 호환가능성이 있는가를 보도록 제1 재가동 정책 그룹에 대해 점검될 수 있다(단계 220). 본 예에서는 호환가능한가를 결정하도록 제2 어플리케이션 소프트웨어 재가동 정책 그룹과 제1 재가동 정책 그룹 사이에 비교가 이루어진다. 이들이 호환가능하지 않으면, 제2 소프트웨어 어플리케이션 정책 그룹 표시는 현재의 컴퓨터 하드웨어 구성의 HWID와 함께 저장된다(단계 230). 소프트웨어 재가동 정책 그룹이 호환가능하면, 제2 어플리케이션에는 제1 재가동 정책의 표시와 함께 제1 어플리케이션 정책 그룹의 HWID가 주어진다(단계 225). 제2 어플리케이션은 단일 재가동 정책 그룹과 결합될 수 있기 이전에 적어도 한번 가동됨을 주목한다. 이는 제1 어플리케이션이 설립된 재가동 정책 그룹에 아직 한정된다고 가정한다.
상기에 기술된 바와 같이, 제2 어플리케이션이 제1 어플리케이션과 호환가능한가를 점검하는 테스트가 실행될 수 있다. 이 테스트는 재가동 정책 그룹과 연관되어 제공되는 하드웨어 변화 허용치 또는 신용 체인의 점검이 될 수 있다. 제2 어플리케이션이 신용하는 어플리케이션을 열거하는 바인딩 리스트를 갖고 제1 어플리케이션이 그 리스트의 멤버이고, 또한 하드웨어 변화 허용치가 수용가능하면, 제2 어플리케이션은 제1 어플리케이션의 재가동 정책 그룹과 결합되어 제1 어플리케 이션 HWID를 자신의 것으로 저장한다(단계 225). 소프트웨어 어플리케이션의 호환가능성은 바인딩 리스트를 사용하여 이루어질 수 있다. 바인딩 리스트는 공지된 호환가능 어플리케이션을 열거하여 어플리케이션과 함께 제공되는 리스트이다. 소정의 제작자로부터 주어지는 이러한 리스트는 어플리케이션의 모음을 형성하도록 제작자가 일반적으로 함께 묶는 어플리케이션을 포함할 수 있다. Redmond, Washington의 Microsoft사로부터 이용가능한 Microsoft Office가 이러한 어플리케이션 모음의 한 예이다. 이 예에서는 Word, Excel, Power Point, Outlook, Access, 및 Visio의 어플리케이션이 면허를 위해 똑같은 하드웨어 변화 허용치를 갖고, 바인딩 리스트를 통해 단일 재가동 정책 그룹에 배치되는 후보가 된다. 그 제작자가 만들지 않은 어플리케이션을 포함하는 다른 어플리케이션이 한 바인딩 리스트에 배치될 수 있다. 바인딩 리스트는 다른 어플리케이션이 재가동되고 있는 소프트웨어 재가동 정책 그룹 면허와 호환가능한가 여부를 평가하기 위해 어플리케이션 재가동이 요구될 때 억세스될 수 있다.
도 3은 본 발명의 단일 재가동 특성을 도시하는 흐름도(300)이다. 도 2에 대해 참고된 사용자가 컴퓨터에 하드웨어 변화를 이룬 것으로 가정한다. 또한, 하드웨어 변화는 단일 재가동 정책 그룹에 존재하는 하드웨어 변화 한계치를 넘는 것으로 가정한다. 사용자가 현재 허용치를 벗어난 재가동 정책 그룹 내의 어플리케이션, 예를 들어 제1 어플리케이션을 억세스하면, 가동 소프트웨어는 두드러지게 변화된 하드웨어 환경을 검출한다(단계 305). 이 단계에서, 제1 어플리케이션에 억세스가능한 위치에 저장된 (신용 저장된) HWID는 현재 발생된 HWID와 비교된다. 제품 재가동 소프트웨어는 업데이트된 HWID가 똑같은 재가동 정책 그룹의 다른 멤버 어플리케이션과 연관되어 저장되었나를 발견하도록 재가동 정책 그룹을 점검한다(단계 310). 이용가능한 더 최근의 HWID가 있고 더 새로운 HWID가 하드웨어 변화 허용치를 넘지 않으면, 제1 어플리케이션은 가장 최근의 HWID를 적용하고 재가동은 실행될 필요가 없다(단계 315). 제1 정책 그룹 재가동 정책의 허용치 내에 드는 새로운 HWID가 없으면, 제1 어플리케이션은 하드웨어 허용치 범위에서 벗어나고 허용치에서 벗어난 상태로 소프트웨어가 저작권 침해됨을 나타내므로 재가동되어야 한다(단계 320). 성공적인 재가동의 일부로, 어플리케이션 제작자로부터 확인이 수신된 이후에 더 새로운 HWID와 기존의 HWID가 발생되고 제1 재가동 정책 그룹과 연관된 저장기에 배치된다(단계 320). 이어서, 제2 어플리케이션이 억세스되고 허용치를 벗어난 하드웨어 확인이 검출된다(단계 325). 다시 한번, 가동시에 제2 소프트웨어 어플리케이션에 대응하여 저장된 HWID와 현재 HWID를 비교함으로서 허용치 범위 외의 하드웨어 표시가 만들어진다. 제품 재가동 소프트웨어는 이어서 더 새로운 다른 HWID가 정책 그룹에 존재하는가를 보도록 제2 어플리케이션 재가동 정책 그룹을 검색한다(단계 330). 본 예에서는 제1 어플리케이션 및 제2 어플리케이션이 똑같은 재가동 정책 그룹에 속하는 것으로 가정하므로, 제품 재가동 소프트웨어는 정책 그룹과 대응하는 더 새로운 HWID를 찾을 수 있다. 더 새로운 HWID는 제1 어플리케이션의 재가동 결과이다. 허용치 내에서 더 새로운 HWID를 검출하면, 제2 어플리케이션에 대해 재가동이 요구될 필요가 없다(단계 335). 이 방식으로, 제1 및 제2 어플리케이션이 똑같은 재가동 정책 그룹에 속하고 그 정책 그룹이 단 계(320)에서 앞서 재가동되었기 때문에, 사용자에게는 제2 어플리케이션에 대해 재가동이 필요치 않다. 결과적으로, 단계(335)에서 제2 어플리케이션에 대해 새로운 재가동이 실행될 필요가 없다.
그러나, 제1 및 제2 어플리케이션이 똑같은 재가동 정책 그룹에 속하지 않으면, 제2 어플리케이션 정책에 대한 새로운 HWID의 상응한 발생으로 제2 어플리케이션의 재가동이 요구된다(단계 340). 본 발명의 한 특성에 따라, 제2 어플리케이션이 가입자인 제2 정책 그룹과 호환가능한 다른 어플리케이션은 사용자에 의해 연속하여 억세스되는 경우 재시동될 필요가 없다.
본 발명의 또 다른 실시예에서, HWID는 지정된 사용자 기계를 특정하게 식별하지 않도록 의사-유일 일반 하드웨어 식별자(pseudo-unique universal hardware)가 될 수 있다. 이 접근법은 사용자 저작권 침해 관심을 감소시키는 이점을 갖는다. 일반적으로, HWID는 일정하지 않고 식별자가 컴퓨터 하드웨어 변화에 응답하여 변한다는 점에서 하드웨어 구성에 종속된다. HWID는 컴퓨터 그룹의 하드웨어 구성을 나타내는 해쉬(hash) 값이 된다. 사용자 소프트웨어 어플리케이션이 가동될 때, 가동시 컴퓨터 하드웨어 구성과 단일 재가동 정책 그룹을 나타내는 HWID는 링크로 생성되어 믿을만한 저장기에 저장된다. 이는 소프트웨어 어플리케이션이 재가동 정책 그룹을 호스트 처리하는 것으로 가정한다. 본 발명의 한 특성에 따라, 어플리케이션은 재가동 정책 그룹, 바인딩 리스트, 또는 둘 모두를 호스트 처리할 수 있다.
본 출원과 공통으로 2003년 11월 12일에 출원된 진행중인 특허 출원 일련 No. 10/706,018 "Obfuscated State Store For Rights Management System And The Like"는 여기서 참고로 포함된다. 진행중인 출원은 사용자 컴퓨터에 저장된 상태 정보 저장을 설명한다. 이 상태 정보는 하드웨어 구성 식별자로 사용될 수 있다. 컴퓨팅 디바이스의 구성에 적어도 거의 유일한 정보가 구해질 수 있고, 상태 저장 중 적어도 일부가 저장될 많은 위치가 결정될 수 있다. 구해진 정보 중 적어도 일부를 근거로 의사-랜덤 파일명 및 대응하는 경로가 발생될 수 있고, 그에 의해 발생된 파일명 및 대응하는 경로도 유사하게 컴퓨팅 디바이스에 적어도 거의 유일해진다. 발생된 파일명과 경로는 쌍을 이루어 위치를 형성한다. 상태 저장은 이후에 발생된 위치에 따라 저장된다. 이 기술이 사용되면, 사용자가 위치를 발견할 가능성이 거의 없이 HWID가 발생되어 사용자 컴퓨터에 저장될 수 있다. 이러한 구조를 사용하면, 두드러진 하드웨어 구성 변화 이후에 저작권 침해 보호 기계의 재가동을 디스에이블시키도록 사용자가 HWID 정보에 억세스하고 이를 변경하는 것을 방지하는데 도움이 된다.
한 실시예에서, 상기에 기술된 구조에 사용되는 믿을만하고 보호되는 저장 위치는 사용자 또는 클라이언트 측에서 영구적이고 소프트웨어 제작자의 서버 사인 일반 의사-유도 HWID에 링크된다. 클라이언트 측 HWID가 변하지 않고 유지되고, 믿을만한 소프트웨어 제품의 재가동 프로세스에 의해 새로운 의사-유일 HWID가 가동될 때, 이전 의사-유일 HWID로 가동되는 다른 소프트웨어 제품은 본 발명의 특성에 따라 재가동을 요구하지 않는다.
본 발명의 한 실시예에서, 재가동 정책 그룹은 다른 정책 그룹을 표현하도록 XrML(eXtensible Right Markup Language)로 발생된다. 다른 실시예에서, 재가동 정책 그룹은 종래 기술에 숙련된 자에게 공지된 다른 적절한 발생 방법을 사용하여 발생될 수 있다. 본 발명의 한 특성으로, 소프트웨어 제품 그룹에 대한 단일 재가동은 그 그룹이 똑같은 면허 하드웨어 변화 허용치 정책을 공유하는 경우 가능하다. 정책 그룹 내의 소프트웨어 제품은 양방향 신용도 또는 단일 방향 신용도로 지정될 수 있다. 양방향 신용도에서, 모든 소프트웨어 제품은 하드웨어의 대응하는 부분이 그룹 내의 소프트웨어 제품 중 하나에 의해 재가동되는 경우 재가동될 수 있다. 단일 방향 신용도에서는 하드웨어의 대응하는 부분이 그룹에서 지정된 하나 이상의 소프트웨어 제품에 의해 재가동되는 경우에만 모든 소프트웨어 제품이 재가동된다. 한 실시예에서서는 양방향 또는 단일 방향 정책 그룹을 결합시킬 때 인증 메카니즘이 있을 수 있다.
상기에 기술된 바와 같이, 소프트웨어 어플리케이션은 재가동 정책 그룹, 바인딩 리스트, 또는 둘 모두를 호스트 처리할 수 있다. 그래서, 다른 시간에 한 컴퓨터에 인스톨되어 가동되는 두 어플리케이션은 다른 2개의 재가동 정책 그룹에 의해 커버됨을 발견할 수 있다. 그러나, 두 어플리케이션이 다른 어플리케이션을 포함하는 바인딩 리스트와 같이 호환가능한 관계를 가지면, 두 어플리케이션은 결국 똑같은 재가동 정책 그룹으로 동기화될 수 있다. 이러한 이벤트는 재가동 이벤트가 어플리케이션 중 하나에 보장되는 경우 일어날 수 있다. 이러한 재가동 이벤트 요구는 허용치 범위 이외에서 정책 그룹을 구동하는 사용자 컴퓨터 사용자 변화에 의해 트리거될 수 있다. 허용치 범위 이외의 어플리케이션이 재가동된 이후에는 그 어플리케이션의 재가동 정책 그룹과 연관되어 새로운 HWID가 제공된다. 제1 재가동 정책 그룹으로부터 허용치 범위를 벗어나게 되는 제2 어플리케이션이 억세스되면, 호환가능성 점검 체크가 실행되고 제2 어플리케이션은 이것이 제1 정책 그룹과 호환가능함을 발견하게 된다. 이때, 제2 어플리케이션은 제1 그룹과 결합되어 재가동 HWID를 적응함으로서 제1 어플리케이션과 동기화 상태가 된다. 그래서, 제2 어플리케이션의 재가동은 이것이 제1 어플리케이션 정책 그룹, HWID, 및 호환가능한 어플리케이션을 열거한 바인딩 리스트로부터 이득을 얻게 되므로 불필요해진다.
예시적인 컴퓨팅 디바이스
도 4 및 이어지는 논의는 본 발명의 실시예가 실시될 수 있는 적절한 컴퓨팅 환경의 일반적인 설명을 간략하게 제공하도록 의도한다. 아래에는 범용 컴퓨터가 설명되지만, 이는 단지 한 예이고, 본 발명의 실시예는 네트워크/버스 상호동작성 및 상호작용을 갖는 클라이언트와 같은 다른 컴퓨팅 디바이스로 실시될 수 있다. 이와 같이, 본 발명의 실시예는 클라이언트 자원이 거의 포함되지 않거나 최소의 자원이 포함되는 네트워크화된 호스트 서비스의 환경에서, 예를 들어 클라이언트 디바이스가 다른 컴퓨팅 디바이스나 가전제품에 배치된 오브젝트와 같이 네트워크/버스에 대한 인터페이스로 단순히 동작하는 네트워크 환경에서 실시될 수 있다. 기본적으로, 데이터가 저장되거나 복원될 수 있는 임의의 위치가 동작에 바람직하거나 적절한 환경이 된다.
비록 요구되지는 않지만, 본 발명의 실시예는 또한 어플리케이션 소프트웨어 내에 포함되어 또한/또는 디바이스에 대한 서비스의 개발에 사용되도록 운영 시스템을 통해 실시될 수 있다. 소프트웨어는 프로그램 모듈과 같은 컴퓨터-실행가능 지시의 일반적인 컨텍스트로 설명되고, 클라이언트 워크스테이션, 서버, 또는 다른 디바이스와 같은 하나 이상의 컴퓨터에 의해 실시된다. 일반적으로, 프로그램 모듈은 특정한 작업을 실행하거나 특정한 추상적 데이터 종류를 실시하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 전형적으로, 프로그램 모듈의 기능은 다양한 실시예에서 원하는 바에 따라 조합되거나 배급될 수 있다. 또한, 종래 기술에 숙련된 자는 본 발명의 다양한 실시예가 다른 컴퓨터 구성으로 실시될 수 있음을 이해하게 된다. 다른 공지된 컴퓨팅 시스템, 환경, 및/또는 사용하기 적절한 구성은, 제한되지 않지만, 개인용 컴퓨터(PC), 자동화 대화 기계, 서버 컴퓨터, 휴대용 또는 랩탑 디바이스, 멀티-프로세스 시스템, 마이크로프로세서-기반의 시스템, 프로그램가능한 소비자 전자부품, 네트워크 PC, 가전제품, 라이트, 환경 제어 소자, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함한다. 본 발명의 실시예는 또한 통신 네트워크/버스 또는 다른 데이터 전송 매체를 통해 링크된 리모트 프로세싱 디바이스에 의해 작업이 실행되는 분포 컴퓨팅 환경에서 실시될 수 있다. 분포 컴퓨팅 환경에서는 프로그램 모듈이 메모리 저장 디바이스를 포함하는 로컬 및 리모트 컴퓨터 저장 매체 모두에 배치될 수 있고, 클라이언트 노드는 서버 노드로 동작할 수 있다.
도 4는 본 발명의 실시예가 실행될 수 있는 적절한 컴퓨팅 시스템 환경의 예를 설명하고, 상기에 명확하게 나타났지만, 컴퓨팅 시스템 환경은 단지 적절한 컴 퓨팅 환경의 한 예로, 본 발명의 실시예에 대한 기능이나 사용의 범위에 대한 어떠한 제한을 제안하도록 의도되지 않는다. 컴퓨팅 환경(600)은 예시적인 운영 환경(600)에서 설명되는 컴포넌트의 조합이나 어느 하나에 관련된 요구조건 또는 의존성을 갖는 것으로 해석되지 말아야 한다.
도 4를 참고로, 본 발명의 한 실시예를 실시하는 예시적인 시스템은 컴퓨터 시스템(610)의 형태로 범용 컴퓨팅 디바이스를 포함한다. 컴퓨터 시스템(610)의 컴포넌트는, 제한되지 않지만, 프로세싱 유닛(620), 시스템 메모리(630), 및 프로세싱 유닛(620)에 시스템 메모리를 포함하는 다양한 시스템 컴포넌트를 연결시키는 시스템 버스(621)를 포함한다. 시스템 버스(621)는 메모리 버스나 메모리 제어기, 주변 버스, 및 다양한 버스 설계를 사용하는 로컬 버스를 포함하여 여러 종류의 버스 구조 중 임의의 것이 될 수 있다. 제한되지 않지만, 한 예로, 이러한 설계는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standard Association) 로컬 버스, 및 PCI(Peripheral Component Interconnect) 버스(또한 Mezzanine 버스라 공지된)를 포함한다.
컴퓨터 시스템(610)은 전형적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터 시스템(610)에 의해 억세스될 수 있고 휘발성 및 비휘발성 매체, 제거가능 및 비-제거가능 매체를 모두 포함하여 이용가능한 매체가 될 수 있다. 제한되지 않지만, 한 예로, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 지시, 데이터 구조, 프로그램 모듈, 또는 다른 데이터와 같은 정보의 저장을 위한 기술이나 방법으로 실시되는 휘발성 및 비휘발성, 제거가능 및 비-제거가능 매체를 포함한다. 컴퓨터 저장 매체는, 제한되지 않지만, RAM(Random Access Memory), ROM(Read Only Memory), EEPROM(Electrically Erasable Programmable Read Only Memory), 플래쉬 메모리나 다른 메모리 기술, CDROM(Compact Disk Read Only Memory), CDRW(Compact disc-rewritable), DVD(digital versatile disk)나 다른 광학 디스크 저장기, 자기 카셋트, 자기 테이프, 자기 디스크 저장기나 다른 자기 저장 디스크, 또는 컴퓨터 시스템(610)에 의해 억세스될 수 있고 원하는 정보를 저장하는데 사용될 수 있는 다른 매체를 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 지시, 데이터 구조, 프로그램 모듈, 또는 반송파나 다른 운송 메카니즘과 같이 변조된 데이터 신호내의 다른 데이터를 구현하고 정보 전달 매체를 포함한다. "변조된 데이터 신호"란 말은 신호의 정보를 인코딩하는 방식으로 변화되거나 특성 세트 중 하나 이상을 갖는 신호를 의미한다. 제한되지 않지만, 한 예로, 통신 매체는 유선 네트워크 또는 직접적인 유선 연결과 같은 유선 매체와 음향, RF, 적외선, 및 다른 무선 매체와 같은 무선 매체를 포함한다. 상기 중 임의의 것들의 조합은 또한 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
시스템 메모리(630)는 ROM(631) 및 RAM(632)과 같은 휘발성 및/또는 비휘발성 메모리의 형태로 컴퓨터 저장 매체를 포함한다. 예를 들어 시동되는 동안 컴퓨터 시스템(610) 내의 소자 사이에서 정보를 전달하는데 도움이 되는 기본 루틴을 포함하는 BIOS(basic input/output system)(633)는 전형적으로 ROM(631)에 저장된 다. RAM(632)은 전형적으로 프로세싱 유닛(620)에 의해 현재 동작되는 또한/또는 즉시 억세스가능한 데이터 및/또는 프로그램 모듈을 포함한다. 제한되지 않지만, 한 예로, 도 4는 운영 시스템(634), 어플리케이션 프로그램(635), 다른 프로그램 모듈(636), 및 프로그램 데이터(637)를 설명한다.
컴퓨터 시스템(610)은 또한 다른 제거가능/비-제거가능, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 한 예로, 도 4는 비-제거가능 비휘발성 자기 매체에서 판독 또는 기록하는 하드 디스크 드라이브(641), 제거가능 비휘발성 자기 디스크(652)에서 판독 또는 기록하는 자기 디스크 드라이브(651), 또한 CD ROM, CDRW, DVD, 또는 다른 광학 매체와 같이 제거가능 비휘발성 광학 디스크(656)에서 판독 또는 기록하는 광학 디스크 드라이브(655)를 설명한다. 예시적인 운영 환경에서 사용될 수 있는 다른 제거가능/비-제거가능, 휘발성/비휘발성 컴퓨터 저장 매체는, 제한되지 않지만, 자기 테이프 카셋트, 플래쉬 메모리 카드, DVD(ditital versatile disk), 디지털 비디오 테이프, 고체 RAM(solid state RAM), 고체 ROM 등을 포함한다. 하드 디스크 드라이브(641)는 전형적으로 인터페이스(640)와 같은 비-제거가능 메모리 인터페이스를 통해 시스템 버스(621)에 연결되고, 자기 디스크 드라이브(651) 및 광학 디스크 드라이브(655)는 전형적으로 인터페이스(650)와 같은 제거가능 메모리 인터페이스에 의해 시스템 버스(621)로 연결된다.
도 4에 도시되어 상기에 논의된 드라이브 및 그와 연관된 컴퓨터 저장 매체는 컴퓨터 시스템(610)에 컴퓨터 판독가능 지시, 데이터 구조, 프로그램 모듈, 및 다른 데이터의 저장을 제공한다. 예를 들어, 도 4에서, 하드 디스크 드라이브 (641)는 운영 시스템(644), 어플리케이션 프로그램(645), 다른 프로그램 모듈(646), 및 프로그램 데이터(647)를 저장하는 것으로 설명된다. 이러한 컴포넌트는 운영 시스템(634), 어플리케이션 프로그램(635), 다른 프로그램 모듈(636), 및 프로그램 데이터(637)와 똑같거나 다를 수 있다. 여기서 운영 시스템(644), 어플리케이션 프로그램(645), 다른 프로그램 모듈(646), 및 프로그램 데이터(647)에는 최소로 이들이 다른 복사물임을 설명하도록 다른 번호가 주어진다. 사용자는 일반적으로 마우스, 트랙볼, 또는 터치 패드라 칭하여지는 포인팅 디바이스(661) 및 키보드(662)와 같은 입력 디바이스를 통해 컴퓨터 시스템(610)에 명령 및 정보를 입력한다. 다른 입력 디바이스로는 (도시되지 않지만) 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너 등이 포함될 수 있다. 이러한 입력 디바이스 및 다른 입력 디바이스는 때로 시스템 버스(621)에 연결된 사용자 입력 인터페이스(660)를 통하여 프로세싱 유닛(620)에 연결되지만, 병렬 포트, 게임 포트, 또는 USB(universal serial bus)와 같은 다른 인터페이스 및 버스 구조에 의해 연결될 수 있다. 또한, 시스템 버스(621)에는 비디오 메모리와 통신하는 (도시되지 않은) 비디오 인터페이스(690)와 같은 인터페이스를 통하여 모니터(691) 또는 다른 종류의 디스플레이 디바이스가 연결된다. 모니터(691)에 부가하여, 컴퓨터 시스템은 또한 스피커(697) 및 프린터(696)와 같은 다른 주변 출력 디바이스를 포함할 수 있고, 이들은 출력 주변 인터페이스(695)를 통해 연결된다.
컴퓨터 시스템(610)은 리모트 컴퓨터(680)와 같은 하나 이상의 리모트 컴퓨터에 대한 논리적 연결을 사용하여 네트워크화되거나 분포된 환경에서 동작된다. 리모트 컴퓨터(680)는 개인용 컴퓨터, 서버, 라우터(router), 네트워크 PC, 피어 디바이스(peer device), 또는 다른 공통 네트워크 노드가 될 수 있고, 전형적으로 컴퓨터 시스템(610)에 관련되어 상기에 설명된 모든 소자 또는 다수의 소자를 포함하지만, 도 4에서는 메모리 저장 디바이스(681)만이 도시된다. 도 4에 도시된 논리적 연결은 LAN(local area network)(671) 및 WAN(wide area network)(673)를 포함하지만, 다른 네트워크/버스도 포함할 수 있다. 이러한 네트워킹 환경은 가정, 사무실, 기업내 컴퓨터 네트워크, 인트라넷, 및 인터넷에서 공통적인 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터 시스템(610)은 네트워크 인터페이스나 어댑터(670)를 통해 LAN(671)에 연결된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터 시스템(610)은 전형적으로 인터넷과 같이 WAN(673)을 통해 통신을 설립하는 다른 수단이나 모뎀(672)을 포함한다. 모뎀(672)은 내부형이거나 외부형일 수 있고, 사용자 입력 인터페이스(660)나 다른 적절한 메카니즘을 통해 시스템 버스(621)에 연결된다. 네트워크 환경에서는 컴퓨터(610)에 관련되어 도시된 프로그램 모듈 또는 그 일부가 리모트 메모리 저장 디바이스에 저장될 수 있다. 제한되지 않지만, 한 예로, 도 4는 메모리 디바이스(681)에 위치하는 리모트 어플리케이션 프로그램(685)을 도시한다. 도시된 네트워크 연결은 예시적인 것이고 컴퓨터 사이에 통신 링크를 설립하는 다른 수단이 사용될 수 있는 것으로 이해된다.
다양한 분포 컴퓨터 프레임워크가 개인용 컴퓨터와 인터넷에 집중되어 개발되었고 개발되고 있다. 개별 사용자 및 사업자 사용자에게는 똑같이 어플리케이션 및 컴퓨팅 디바이스에 대해 연속적으로 상호동작가능하고 웹-인에이블되는 인터페 이스가 제공되어 컴퓨팅 동작이 증가적으로 웹 브라우저 또는 네트워크-지향적이 되도록 만든다.
예를 들어, Microsoft사로부터 이용가능한 MICROSOFT의 .NET(등록상표) 플랫폼은 서버, 웹-기반의 데이터 저장과 같은 설립-블록 서비스, 및 다운로드가능한 디바이스 소프트웨어를 포함한다. 여기서는 예시적인 실시예가 컴퓨팅 디바이스에 위치하는 소프트웨어와 연관되어 설명되지만, 본 발명의 실시예 중 하나 이상의 부분은 또한 운영 시스템, API(application programming interface), 또는 코프로세서, 디스플레이 디바이스, 및 요구 오브젝트 사이의 "미들맨(middle man)" 오브젝트를 통해 실시되므로, 동작은 다른 분포 컴퓨팅 프레임워크에서도 모든 .NET(등록상표)의 언어와 서비스에 의해 실행되고, 지원되고, 또한 억세스될 수 있다.
상기에 설명된 바와 같이, 본 발명의 예시적인 실시예가 다양한 컴퓨팅 디바이스 및 네트워크 설계와 연관되어 설명되었지만, 기본적인 개념은 반-저작권 침해 소프트웨어 메카니즘을 실시하는 것이 바람직한 컴퓨팅 디바이스나 시스템에 적용될 수 있다. 이와 같이, 본 발명의 실시예와 연관되어 설명된 방법 및 시스템은 다양한 어플리케이션 및 디바이스에 적용될 수 있다. 여기서는 다양한 선택을 대표하여 예시적인 프로그래밍 언어, 명칭, 및 예가 선택되었지만, 이러한 언어, 명칭, 및 예는 제한되도록 의도되지 않는다. 종래 기술에 숙련된 자는 본 발명의 실시예에 의해 이루어진 것과 똑같은, 유사한, 또는 동일한 시스템 및 방법을 이루는 오브젝트 코드를 제공하는 방법이 많이 있음을 이해하게 된다.
여기서 설명된 다양한 기술은 하드웨어나 소프트웨어, 또는 적절한 경우 둘 모두의 조합과 연관되어 실시될 수 있다. 이와 같이, 본 발명의 방법 및 장치 또는 그의 특정한 특성이나 일부는 플로피 디스켓, CD-ROM, 하드 드라이브, 또는 다른 기계-판독가능 저장 매체와 같은 유형 매체로 구현되는 프로그램 코드의 형태를 (즉, 지시) 취할 수 있고, 여기서는 프로그램 코드가 컴퓨터와 같은 기계에 의해 로드되어 실행될 때, 그 기계가 본 발명을 실시하는 장치가 된다. 프로그램가능한 컴퓨터에서 프로그램 코드가 실시되는 경우, 컴퓨팅 디바이스는 일반적으로 프로세서, 프로세서에 의해 판독가능한 저장 매체(휘발성 및 비휘발성 메모리 및/또는 저장 소자를 포함하는), 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스를 포함하게 된다. 예를 들어 데이터 프로세싱 API 등을 사용하여 본 발명의 실시예에 대한 신호 프로세싱 서비스를 사용하는 하나 이상의 프로그램은 바람직하게 컴퓨터와 통신하는 고레벨 절차 또는 오브젝트 지향적 프로그래밍 언어로 실시된다. 그러나, 그 프로그램은 원하는 경우 어셈블리 또는 기계어로 실시될 수 있다. 어떠한 경우에서든, 언어는 컴파일 또는 해석되는 언어로, 하드웨어 실시와 조합된다.
본 발명의 특성은 다양한 도면의 바람직한 실시예와 연관되어 설명되지만, 그 범위에서 벗어나지 않고 다른 유사한 실시예가 사용될 수 있고 본 발명의 똑같은 기능을 실행하도록 설명된 실시예에 수정 및 부가가 이루어질 수 있는 것으로 이해되어야 한다. 더욱이, 무선 네트워크 디바이스의 수가 계속하여 증가됨에 따라, 휴대용 디바이스 운영 시스템 및 다른 어플리케이션 지정 운영 시스템을 포함 하는 다양한 컴퓨터 플랫폼이 고려되는 것으로 강조되어야 한다. 그러므로, 청구되는 발명은 단일 실시예에 제한되지 말아야 하고, 첨부된 청구항에 따른 범위와 폭으로 구성되어야 한다.

Claims (27)

  1. 소프트웨어 제품의 재가동에 관한 방법으로서,
    제1 소프트웨어 제품의 가동을 요구하는 단계 - 상기 제1 소프트웨어 제품은 재가동 정책 그룹을 호스트 처리함(host) -;
    상기 제1 소프트웨어 제품과 제1 하드웨어 식별자를 연관시키는 단계;
    제2 소프트웨어 제품의 가동을 요구하는 단계 - 상기 제2 소프트웨어 제품은 바인딩 리스트(binding list)를 가짐 -;
    상기 제2 소프트웨어 제품의 바인딩 리스트가 상기 제1 소프트웨어 제품과 호환가능성을 나타내면 상기 제1 하드웨어 식별자와 상기 제2 소프트웨어 제품을 연관시키는 단계;
    상기 제1 소프트웨어 제품의 재가동 이벤트를 요구하는 단계; 및
    상기 제1 소프트웨어 제품의 재가동 이벤트가 상기 제2 소프트웨어 제품에 속하는 것으로 생각하여, 상기 제2 소프트웨어 제품의 재가동 이벤트에 대한 요구를 방지하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 제1 하드웨어 식별자와 제2 소프트웨어 제품을 연관시키는 단계는 상기 재가동 정책 그룹 및 상기 제1 소프트웨어 제품 중 적어도 하나와 호환가능성을 나 타내는 바인딩 리스트를 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 재가동 정책 그룹과의 호환가능성은 상기 재가동 정책 그룹과 연관된 하드웨어 변화 허용치에 대해 상기 제1 하드웨어 식별자와 현재 하드웨어 식별자를 비교함으로서 나타내지는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 제1 소프트웨어 제품의 가동을 요구하는 단계는 메모리에 저장된 제1 하드웨어 식별자를 구비하는 컴퓨터에서 제1 소프트웨어 제품의 가동을 요구하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 하드웨어 식별자는 상기 제1 소프트웨어 제품의 가동시 하드웨어 구성의 표현을 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 표현은 상기 컴퓨터에 인스톨된 컴포넌트 식별자의 해시값(hash value)을 포함하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    재가동 정책 그룹 식별자는 상기 제1 하드웨어 식별자와 연관되어 메모리에 저장되는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 제1 소프트웨어 제품의 가동을 요구하는 단계는 하드웨어 변화 허용치를 초과하고 상기 제1 소프트웨어 제품이 억세스되는 경우라도 재가동 이벤트를 트리거 하는 하드웨어 변화 허용치를 포함하는 재가동 정책 그룹을 호스트 처리하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  9. 제1항에 있어서,
    상기 제1 소프트웨어 제품을 재가동한 이후에 상기 재가동 정책 그룹과 제2 하드웨어 식별자를 연관시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    상기 제2 하드웨어 식별자는 상기 제1 소프트웨어 제품의 재가동시 하드웨어 구성을 표현하는 것을 특징으로 하는 방법.
  11. 제1항에 있어서,
    상기 제1 소프트웨어 제품의 재가동 이벤트를 요구하는 단계는:
    상기 제1 소프트웨어 어플리케이션을 억세스하는 단계;
    상기 제1 하드웨어 식별자와 현재 하드웨어 식별자를 비교하여 하드웨어 차이 표시를 생성하는 단계; 및
    상기 하드웨어 차이 표시가 상기 재가동 정책 그룹과 연관된 하드웨어 변화 허용치 보다 더 큰 경우 재가동 데이터 트랜잭션(transaction)을 요구하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  12. 다수의 소프트웨어 어플리케이션을 재가동하는 방법으로서,
    제1 어플리케이션의 가동을 요구하고, 재가동 정책 그룹과 제1 하드웨어 식별자를 연관시키는 단계 - 상기 제1 어플리케이션은 상기 재가동 정책 그룹을 소유함 -;
    적어도 하나의 추가 어플리케이션의 가동을 요구하고, 상기 적어도 하나의 추가 어플리케이션이 상기 재가동 정책 그룹과 호환가능한 경우 상기 제1 하드웨어 식별자와 상기 적어도 하나의 추가 어플리케이션을 연관시키는 단계;
    상기 어플리케이션 중 임의의 하나의 재가동을 요구하는 단계; 및
    나머지 어플리케이션이 상기 재가동 정책 그룹과 연관되는 경우 나머지 어플리케이션의 재가동이 불필요한 것으로 결정하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  13. 제12항에 있어서,
    상기 어플리케이션 중 임의의 하나의 재가동 이후에 상기 재가동 정책 그룹과 제2 하드웨어 식별자를 연관시키는 단계
    를 더 포함하는 것을 특징으로 하는 방법.
  14. 제12항에 있어서,
    상기 제1 하드웨어 식별자와 적어도 하나의 추가 어플리케이션을 연관시키는 단계는,
    현재 하드웨어 구성 식별자가 상기 제1 하드웨어 식별자의 허용치 내에 있는 경우, 재가동 바인딩 리스트를 사용하여, 상기 제1 어플리케이션과 상기 적어도 하나의 추가 어플리케이션을 연관시키는 단계를 더 포함하며,
    상기 허용치는 상기 재가동 정책 그룹과 연관되는 것을 특징으로 하는 방법.
  15. 메모리에 억세스하는 프로세서를 포함하고,
    상기 메모리는, 실행될 때,
    제1 소프트웨어 어플리케이션이 억세스될 때 제1 하드웨어 식별자와 현재 하드웨어 식별자를 비교하는 단계 - 상기 제1 하드웨어 식별자는 상기 제1 소프트웨어 어플리케이션의 가동시 재가동 정책 그룹과 연관됨 -;
    상기 현재 하드웨어 식별자가 상기 제1 하드웨어 식별자로부터의 차이에 대한 한계치를 넘는 경우 상기 제1 어플리케이션의 재가동을 요구하는 단계;
    상기 재가동 정책 그룹과 상기 현재 하드웨어 식별자를 연관시키는 단계; 및
    적어도 하나의 다른 소프트웨어 어플리케이션의 바인딩 리스트를 통해 상기 적어도 하나의 다른 소프트웨어 어플리케이션이 상기 재가동 정책 그룹으로 한정되는 경우 상기 적어도 하나의 다른 소프트웨어 어플리케이션의 재가동이 불필요한 것으로 결정하는 단계
    를 포함하는 방법을 수행하는 명령어를 구비하는 것을 특징으로 하는 시스템.
  16. 제15항에 있어서,
    상기 제1 하드웨어 식별자는 믿을만한 저장소에 저장되는 것을 특징으로 하는 시스템.
  17. 제15항에 있어서,
    상기 제1 하드웨어 식별자는 해시값을 포함하는 것을 특징으로 하는 시스템.
  18. 제15항에 있어서,
    상기 적어도 하나의 다른 소프트웨어 어플리케이션의 바인딩 리스트는 제1 소프트웨어 어플리케이션 식별자를 열거하는 것을 특징으로 하는 시스템.
  19. 한 방법을 실행하기 위한 컴퓨터-실행가능 명령어를 구비하는 컴퓨터-판독가 능 매체로서,
    상기 방법은,
    제1 소프트웨어 제품의 가동을 요구하는 단계 - 상기 제1 소프트웨어 제품은 재가동 정책 그룹을 호스트 처리함 -;
    상기 제1 소프트웨어 제품과 제1 하드웨어 식별자를 연관시키는 단계;
    제2 소프트웨어 제품의 가동을 요구하는 단계 - 상기 제2 소프트웨어 제품은 바인딩 리스트를 가짐 -;
    상기 제2 소프트웨어 제품의 바인딩 리스트가 상기 제1 소프트웨어 제품과 호환가능성을 나타내면 상기 제1 하드웨어 식별자와 상기 제2 소프트웨어 제품을 연관시키는 단계;
    상기 제1 소프트웨어 제품의 재가동 이벤트를 요구하는 단계; 및
    상기 제1 소프트웨어 제품의 재가동 이벤트가 상기 제2 소프트웨어 제품에 속하는 것으로 생각하여, 상기 제2 소프트웨어 제품의 재가동 이벤트에 대한 요구를 방지하는 단계
    를 포함하는 것을 특징으로 하는 컴퓨터-판독가능 매체.
  20. 제19항에 있어서,
    상기 제1 하드웨어 식별자와 제2 소프트웨어 제품을 연관시키는 단계는 상기 재가동 정책 그룹 및 상기 제1 소프트웨어 제품 중 적어도 하나와 호환가능성을 나타내는 바인딩 리스트를 포함하는 것을 특징으로 하는 컴퓨터-판독가능 매체.
  21. 제19항에 있어서,
    상기 제1 소프트웨어 제품의 가동을 요구하는 단계는 하드웨어 변화 허용치를 초과하고 상기 제1 소프트웨어 제품이 억세스되는 경우라도 재가동을 트리거 하는 하드웨어 변화 허용치를 포함하는 재가동 정책 그룹을 호스트 처리하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터-판독가능 매체.
  22. 제19항에 있어서,
    상기 제1 소프트웨어 제품을 재가동한 이후에 상기 재가동 정책 그룹과 제2 하드웨어 식별자를 연관시키는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터-판독가능 매체.
  23. 제22항에 있어서,
    상기 제2 하드웨어 식별자는 상기 제1 소프트웨어 제품의 재가동시 하드웨어 구성을 표현하는 것을 특징으로 하는 컴퓨터-판독가능 매체.
  24. 제19항에 있어서,
    상기 제1 소프트웨어 제품의 재가동 이벤트를 요구하는 단계는,
    상기 제1 소프트웨어 어플리케이션을 억세스하는 단계;
    상기 제1 하드웨어 식별자와 현재 하드웨어 식별자를 비교하여 하드웨어 차 이 표시를 생성하는 단계; 및
    상기 하드웨어 차이 표시가 상기 재가동 정책 그룹과 연관된 하드웨어 변화 허용치 보다 더 큰 경우 재가동 데이터 트랜잭션을 요구하는 단계
    를 포함하는 것을 특징으로 하는 컴퓨터-판독가능 매체.
  25. 한 방법을 실행하기 위한 컴퓨터-실행가능 명령어를 구비하는 컴퓨터-판독가능 매체로서,
    상기 방법은,
    제1 어플리케이션의 가동을 요구하고, 재가동 정책 그룹과 제1 하드웨어 식별자를 연관시키는 단계 - 상기 제1 어플리케이션은 상기 재가동 정책 그룹을 소유함 -;
    적어도 하나의 추가 어플리케이션의 가동을 요구하고, 상기 적어도 하나의 추가 어플리케이션이 상기 재가동 정책 그룹과 호환가능한 경우 상기 제1 하드웨어 식별자와 상기 적어도 하나의 추가 어플리케이션을 연관시키는 단계;
    상기 어플리케이션 중 임의의 하나의 재가동을 요구하는 단계; 및
    나머지 어플리케이션이 상기 재가동 정책 그룹과 연관되는 경우 나머지 어플리케이션의 재가동이 불필요한 것으로 결정하는 단계
    를 포함하는 것을 특징으로 하는 컴퓨터-판독가능 매체.
  26. 제25항에 있어서,
    상기 어플리케이션 중 임의의 하나의 재가동 이후에 상기 재가동 정책 그룹과 제2 하드웨어 식별자를 연관시키는 단계
    를 더 포함하는 것을 특징으로 하는 컴퓨터-판독가능 매체.
  27. 제25항에 있어서,
    상기 제1 하드웨어 식별자와 적어도 하나의 추가 어플리케이션을 연관시키는 단계는,
    현재 하드웨어 구성 식별자가 상기 제1 하드웨어 식별자의 허용치 내에 있는 경우, 재가동 바인딩 리스트를 사용하여, 상기 제1 어플리케이션과 상기 적어도 하나의 추가 어플리케이션을 연관시키는 단계를 더 포함하며,
    상기 허용치는 상기 재가동 정책 그룹과 연관되는 것을 특징으로 하는 컴퓨터-판독가능 매체.
KR1020050045451A 2004-07-30 2005-05-30 소프트웨어 제품 면허의 단일 재활성화를 위한 방법 및 시스템 KR101159316B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/903,942 US7379918B2 (en) 2004-07-30 2004-07-30 Method and system for single reactivation of software product licenses
US10/903,942 2004-07-30

Publications (2)

Publication Number Publication Date
KR20060046261A true KR20060046261A (ko) 2006-05-17
KR101159316B1 KR101159316B1 (ko) 2012-06-22

Family

ID=35241323

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050045451A KR101159316B1 (ko) 2004-07-30 2005-05-30 소프트웨어 제품 면허의 단일 재활성화를 위한 방법 및 시스템

Country Status (5)

Country Link
US (1) US7379918B2 (ko)
EP (1) EP1622061A3 (ko)
JP (1) JP4794217B2 (ko)
KR (1) KR101159316B1 (ko)
CN (1) CN100478828C (ko)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7273415B2 (en) 2000-09-07 2007-09-25 Igt Gaming device having a bonus scheme with multiple selection groups
US7788496B2 (en) * 2003-10-08 2010-08-31 Microsoft Corporation First computer process and second computer process proxy-executing code on behalf thereof
US8103592B2 (en) * 2003-10-08 2012-01-24 Microsoft Corporation First computer process and second computer process proxy-executing code on behalf of first process
US7979911B2 (en) * 2003-10-08 2011-07-12 Microsoft Corporation First computer process and second computer process proxy-executing code from third computer process on behalf of first process
US7379918B2 (en) * 2004-07-30 2008-05-27 Microsoft Corporation Method and system for single reactivation of software product licenses
US7666093B2 (en) 2004-08-03 2010-02-23 Igt Gaming method and device involving progressive wagers
US7892093B2 (en) 2004-08-19 2011-02-22 Igt Gaming system having multiple gaming machines which provide bonus awards
CN101043922A (zh) * 2004-08-19 2007-09-26 Igt公司 具有多个提供奖金奖励的游戏机的游戏系统
US8251791B2 (en) 2004-08-19 2012-08-28 Igt Gaming system having multiple gaming machines which provide bonus awards
US8021230B2 (en) 2004-08-19 2011-09-20 Igt Gaming system having multiple gaming machines which provide bonus awards
US7963847B2 (en) 2004-08-19 2011-06-21 Igt Gaming system having multiple gaming machines which provide bonus awards
WO2006089352A1 (en) * 2005-02-22 2006-08-31 United Electrical Software P/L Method and system for monitoring computer systems
US9547780B2 (en) 2005-03-28 2017-01-17 Absolute Software Corporation Method for determining identification of an electronic device
US8738822B2 (en) * 2005-05-03 2014-05-27 Flexera Software Llc System and method for controlling operation of a component on a computer system
US7841939B2 (en) 2005-09-09 2010-11-30 Igt Server based gaming system having multiple progressive awards
US8128491B2 (en) 2005-09-09 2012-03-06 Igt Server based gaming system having multiple progressive awards
US8137188B2 (en) 2005-09-09 2012-03-20 Igt Server based gaming system having multiple progressive awards
US7676803B2 (en) * 2005-12-06 2010-03-09 Dell Products L.P. Method of defining packaging applicability
US7780520B2 (en) 2006-03-15 2010-08-24 Igt Gaming device having multiple different types of progressive awards
JP4769608B2 (ja) * 2006-03-22 2011-09-07 富士通株式会社 起動検証機能を有する情報処理装置
US8909746B2 (en) 2006-07-25 2014-12-09 Nvidia Corporation System and method for operating system installation on a diskless computing platform
US9003000B2 (en) * 2006-07-25 2015-04-07 Nvidia Corporation System and method for operating system installation on a diskless computing platform
US8070597B2 (en) * 2006-08-03 2011-12-06 Igt Gaming device and method having multiple progressive award levels and a secondary game for advancing through the progressive award levels
US8839451B1 (en) * 2006-08-07 2014-09-16 Moka5, Inc. Activation and security of software
US8523665B2 (en) * 2006-10-11 2013-09-03 Igt Gaming system and method having multi-level mystery triggered progressive awards
US20080108430A1 (en) 2006-11-08 2008-05-08 Igt Gaming system and method which provides players an opportunity to win a progressive award
US7963845B2 (en) 2006-11-08 2011-06-21 Igt Gaming system and method with multiple progressive award levels and a skill based determination of providing one of the progressive award levels
US9047733B2 (en) * 2006-11-08 2015-06-02 Igt Gaming system and method for providing multiple level progressive awards with increased odds of winning higher level progressive awards
US8105149B2 (en) 2006-11-10 2012-01-31 Igt Gaming system and method providing venue wide simultaneous player participation based bonus game
US9002745B2 (en) * 2006-12-21 2015-04-07 Igt Secure media distribution in a wager gaming system
US20090171747A1 (en) * 2007-12-26 2009-07-02 Microsoft Corporation Product activation/registration and offer eligibility
EP2260427A4 (en) * 2008-02-20 2016-11-16 Ericsson Telefon Ab L M FLEXIBLE NODEIDENTITY FOR TELECOM NODES
US8037693B2 (en) * 2008-05-13 2011-10-18 Ge Intelligent Platforms, Inc. Method, apparatus, and system for cooling an object
US8376836B2 (en) * 2008-11-07 2013-02-19 Igt Server based gaming system and method for providing deferral of bonus events
US20100293103A1 (en) * 2009-05-12 2010-11-18 Microsoft Corporation Interaction model to migrate states and data
US20100293536A1 (en) * 2009-05-12 2010-11-18 Microsoft Corporation Enhanced product functionality based on user identification
US9424399B2 (en) 2009-05-12 2016-08-23 Microsoft Technology Licensing, Llc Availability of permission models in roaming environments
US8781985B2 (en) * 2010-12-14 2014-07-15 Microsoft Corporation Addressing system degradation by application disabling
CN103186725B (zh) * 2011-12-31 2016-10-05 北大方正集团有限公司 软件授权方法和装置
US8708804B2 (en) 2012-06-22 2014-04-29 Igt Gaming system and method providing a collection game including at least one customizable award collector
CN112667973B (zh) * 2020-11-30 2023-12-26 新华三技术有限公司 一种网络设备的管理软件的激活方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291598A (en) * 1992-04-07 1994-03-01 Gregory Grundy Method and system for decentralized manufacture of copy-controlled software
US6360362B1 (en) * 1998-02-20 2002-03-19 Intel Corporation Automatic update of camera firmware
US6243468B1 (en) 1998-04-29 2001-06-05 Microsoft Corporation Software anti-piracy system that adapts to hardware upgrades
US7503072B2 (en) * 1998-04-29 2009-03-10 Microsoft Corporation Hardware ID to prevent software piracy
JP2002328874A (ja) * 2001-05-01 2002-11-15 Shunji Sugaya 電子メールの管理方法と管理装置
US7152243B2 (en) * 2002-06-27 2006-12-19 Microsoft Corporation Providing a secure hardware identifier (HWID) for use in connection with digital rights management (DRM) system
WO2004019182A2 (en) 2002-08-24 2004-03-04 Ingrian Networks, Inc. Selective feature activation
US7302590B2 (en) * 2003-01-06 2007-11-27 Microsoft Corporation Systems and methods for providing time-and weight-based flexibly tolerant hardware ID
US7379918B2 (en) * 2004-07-30 2008-05-27 Microsoft Corporation Method and system for single reactivation of software product licenses

Also Published As

Publication number Publication date
US20060026604A1 (en) 2006-02-02
CN1728036A (zh) 2006-02-01
CN100478828C (zh) 2009-04-15
JP4794217B2 (ja) 2011-10-19
US7379918B2 (en) 2008-05-27
EP1622061A3 (en) 2012-03-21
JP2006048648A (ja) 2006-02-16
EP1622061A2 (en) 2006-02-01
KR101159316B1 (ko) 2012-06-22

Similar Documents

Publication Publication Date Title
KR101159316B1 (ko) 소프트웨어 제품 면허의 단일 재활성화를 위한 방법 및 시스템
EP1861815B1 (en) Systems and methods for using machine attributes to deter software piracy in an enterprise environment
JP4870937B2 (ja) ソフトウエアのアップデートを制限する方法およびシステム
US8001596B2 (en) Software protection injection at load time
KR101301332B1 (ko) 보안 기계 카운팅
US7665139B1 (en) Method and apparatus to detect and prevent malicious changes to tokens
US20080295174A1 (en) Method and System for Preventing Unauthorized Access and Distribution of Digital Data
US20060069653A1 (en) First computer process and second computer process proxy-executing code on behalf of first process
JP2008536244A (ja) P2pネットワーク・ソフトウェアを検出するシステム及び方法
US7890756B2 (en) Verification system and method for accessing resources in a computing environment
GB2403827A (en) Kernel cryptographic module signature verification system and method
US7516495B2 (en) Hardware-based software authenticator
US7979911B2 (en) First computer process and second computer process proxy-executing code from third computer process on behalf of first process
US8433798B2 (en) Altering software behavior based on internet connectivity
WO2006021132A1 (en) Method for protecting the computer data

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee