KR100740446B1 - 사용후 지불 비지니스 모델들용에 구성가능한 소프트웨어 라이센스 관리 시스템 - Google Patents

사용후 지불 비지니스 모델들용에 구성가능한 소프트웨어 라이센스 관리 시스템 Download PDF

Info

Publication number
KR100740446B1
KR100740446B1 KR1020057014975A KR20057014975A KR100740446B1 KR 100740446 B1 KR100740446 B1 KR 100740446B1 KR 1020057014975 A KR1020057014975 A KR 1020057014975A KR 20057014975 A KR20057014975 A KR 20057014975A KR 100740446 B1 KR100740446 B1 KR 100740446B1
Authority
KR
South Korea
Prior art keywords
notification
authenticatable
information
software
license
Prior art date
Application number
KR1020057014975A
Other languages
English (en)
Other versions
KR20060079139A (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 KR20060079139A publication Critical patent/KR20060079139A/ko
Application granted granted Critical
Publication of KR100740446B1 publication Critical patent/KR100740446B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • 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
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing

Abstract

사용후 지불 비지니스 모델용에 구성가능한 소프트웨어 라이센스 관리 시스템이 기술된다. 프런트-엔드 서버는 상기 프런트-엔드 서버를 포함하는 네트워크내의 컴퓨터들상에 분배된 라이센스된 소프트웨어의 사용을 제어하고, 통지 스케줄에 따라 이런 사용의 인증가능 통지를 발생하며, 벤더 지정 목적지에 인증가능 통지를 안전하게 전송하도록 구성된다. 목적지에 대응하는 백-엔드 서버는 인증가능 통지를 수신, 인증 및 처리하여 처리된 정보를 발생하고, 소프트웨어 벤더들에 대해 다른 비지니스 동작 목적들 및 사용후 지불 비지니스 모델 목적들을 위해 처리된 정보를 비지니스 동작 소프트웨어에 제공하도록 구성된다.
사용후 지불 비지니스 모델, 라이센스된 소프트웨어, 백-엔드 서버, 프런트-엔드 서버, 인증가능 통지

Description

사용후 지불 비지니스 모델들용에 구성가능한 소프트웨어 라이센스 관리 시스템{Software license management system configurable for post-use payment business models}
본 발명은 일반적으로 소프트웨어 라이센스 관리 시스템들에 관한 것으로서, 특히 사용후 지불 비지니스 모델들(post-use payment business model)을 위해 구성가능한 소프트웨어 라이센스 관리 시스템에 관한 것이다.
종래의 소프트웨어 라이센스 관리 시스템은 그 라이센스 조건들에 따라 라이센스된 소프트웨어의 사용을 관리(또는 관리하는데 도움을 주기 위한)하기 위한 라이센스 관리자를 사용한다. 이러한 라이센스 관리자의 예로는 캘리포니아 산타 클라라에 본부를 둔 마이크로비전 기업의 제품인 FLXMlm®를 들 수 있다.
서비스의 거부(denial)는 라이센스된 소프트웨어의 사용을 그 라이센스 조건내에 머무르게 하는 것(예를 들어, 시스템이 "해킹(hacked)"되지 않는다고 가정함)을 합당하게 보장하도록 소프트웨어 라이센스 관리 시스템들에 흔히 사용되는 기술이다. 예를 들어, 소프트웨어 라이센스가 기간 라이센스(term license)인 경우, 이 기간이 만료된 이후에 소프트웨어를 액세스 또는 사용을 위한 어떤 요청도 거부될 것이다. 다른 예로서, 소프트웨어가 동시 사용자 라이센스인 경우, 동시 사용자들의 최대수가 도달된 이후에 소프트웨어의 액세스 또는 사용을 위한 어떤 요청도 거부될 것이다. 이런 시스템들에서, 라이센스는 라이센스된 소프트웨어의 라이센스 조건을 초과한다. 라이센스 조건들이 사용자 요청을 허용함으로써 초과되어야 하는 경우, 이 정보는 요청을 거부하는 라이센스된 소프트웨어에 통신된다.
그러나, 특정 응용에서, 라이센스 구매자들은 서비스의 거부를 수용 불가능한 라이센싱 관습으로 여긴다. 예를 들어, 생명 또는 재산이 중대한 위험에 처한 중요한 응용을 수행하는데 있어 서비스의 거부는 일반적으로 수용 불가능하다. 또한, 서비스의 중단으로부터 몹시 불리한 비지니스 영향이 초래되는 비지니스 응용에서도 서비스의 거부는 또한 수용 불가능하다. 다른 예로는 소프트웨어에 대한 예상치 못한 최대수요가 발생하고, 부가적인 라이센스들이 구매되기 위해 기다림을 필요로 하는 경우, 소프트웨어의 상기 수요가 재발되지 않는 응용을 들 수 있다.
이 응용들에서, 그 소프트웨어를 라이센싱하기 위해, 라이센스 소유자는 사용자 요청이 라이센스 조건들을 초과한다는 라이센스 관리자에 의한 결정에도 불구하고 서비스를 계속 제공하도록 라이센스된 소프트웨어 구성하거나, 단순히 라이센스 관리자를 디스에이블(disable) 또는 제거하도록 흔히 강제된다. 이렇게 계속된 서비스는 경고들 또는 감소된(중요한) 기능이 제공되지만, 라이센스 소유자가 이러한 확장된 사용에 대한 보상을 받도록 합당하게 보장하기 위한 매커니즘이 이러한 시스템들엔 존재하지 않는다. 그러므로, 이들 시스템들은 라이센스 구매자가 경고들을 주의하고 있다가, 나중에 부가적인 사용에 대한 권리를 라이센스 소유자로부터 구매한다는 것을 믿는 신뢰-기반 시스템들(trust-based systems) 경향을 가진다.
라이센스 소유자가 이러한 확장된 사용(여기서 "초과사용(overusage)"이라 칭함)에 대한 보상을 받는다는 것을 합당하게 보장하기 위한 매커니즘은 그들의 사용이 그들의 라이센스 조건을 초과했다는 경고를 간단히 무시하는 라이센스 구매자를 다루는 것이 라이센스 소유자에게 유리할 것이다. 이러한 매커니즘은 라이센스 소유자들 및 라이센스 구매자들 모두에 공정하고, 그 라이센스 조건을 초과하여 라이센스된 소프트웨어를 사용하는 것이 특히 유리하거나 필요로 될 때, 라이센스 구매자가 위와 같이 사용하는데 방해를 받아서는 안된다. 양자들간의 계약상 비지니스 기간들과 조합된 이러한 매커니즘은 라이센스 구매자들을 희생하여 라이센스 소유자들에 유리한 서비스 거부 기술 및 라이센스 소유자들을 희생하여 라이센스 구매자들에 유리한 신뢰-기반 기술간에 공정한 타협(compromise)이 되어야 한다. 따라서, 이러한 매커니즘은 라이센스 소유자 또는 소프트웨어 벤더에 증가된 수익 및 라이센스 구매자 또는 소프트웨어 소비자에 증가된 만족을 가져와야 한다.
따라서, 이들 및 다른 응용들에서, 소프트웨어를 라이센싱하기 위한 사용후 지불(PUP) 비지니스 모델은 서비스 거부 또는 신뢰-기반 라이센스 관리 체계를 대신하는데 유용하다. 이 라이센싱 모델에서, 초과사용이 허용(즉, 라이센스된 소프트웨어의 사용은 라이센스 조건에 규정된 한도를 초과하는 것이 허용됨)되기 때문에, 초과사용을 기억하고 있다가, 사용당 지불 라이센싱 체계상에서 이러한 초과사용에 대해 소비자 또는 라이센스 구매자에게 요금이 부과되거나, 이전의 사용에 기초하여 부가적인 라이센스가 소비자 또는 라이센스 구매자에게 판매되는 것이 필요하다.
따라서, 본 발명의 목적은 사용후 지불 비지니스 모델들용에 구성가능한 소프트웨어 라이센스 관리 시스템을 제공하는 것이다.
다른 목적은 라이센스된 소프트웨어의 라이센스 구매자들 또는 라이센스 소유자들에 지나치게 부담되지 않은 보안 실시 레벨들을 제공하는 사용후 지불 비지니스 모델들의 범위에 구성가능한 소프트웨어 라이센스 관리 시스템을 제공하는 것이다.
다른 목적은 신뢰할 수 있는 사용후 지불 비지니스 모델용에 구성가능한 소프트웨어 라이센스 관리 시스템을 제공하는 것이다.
다른 목적은 인증가능 통지들을 발생하고, 미리 지정된 시간들에서 벤더 지정 목적지로 이 통지들을 전송하는, 사용후 지불 비지니스 모델용에 구성가능한 소프트웨어 라이센스 관리 시스템을 제공하는 것이다.
이들 및 부가적인 목적들은 본 발명의 다양한 특징들에 의해 달성되며, 여기서, 간단히 진술하면, 일 특징은, 라이센스된 소프트웨어의 사용을 제어하고, 통지 스케줄에 따라 상기 사용의 정보를 포함하는 인증가능 통지를 발생하고, 상기 인증가능 통지를 지정된 목적지에 안전하게 전송하도록 구성된 프런트-엔드 서버(front-end server); 및 상기 지정된 목적지에 대응하며, 상기 인증가능 통지를 수신, 인증 및 처리하여 처리된 정보를 발생하도록 구성되며, 상기 처리된 정보를 사용후 지불 비지니스 모델 목적들용의 비지니스 동작 소프트웨어(business operations software)에 제공하도록 구성된 백-엔드 서버(back-end server)를 포함하는 사용후 지불 비지니스 모델용에 구성가능한 소프트웨어 라이센스 관리 시스템이다.
다른 특징은 통지 스케줄에 따라 소비자에 의한 라이센스된 소프트웨어의 사용의 정보를 포함하는 인증가능 통지를 발생하고, 상기 인증가능 통지를 상기 라이센스된 소프트웨어의 벤더에 의해 지정된 목적지에 안전하게 전송하기 위한 인증가능 통지 발생 및 전송 수단; 및 상기 목적지에 대응하며, 사용후 지불 비지니스 모델 목적들용의 비지니스 동작 소프트웨어에 제공될 처리된 정보를 발생하기 위해, 상기 인증가능 통지를 수신, 인증 및 처리하기 위한 수단을 포함하는 사용후 지불 비지니스 모델들용에 구성가능한 소프트웨어 라이센스 관리 시스템이다.
다른 특징은 통지 스케줄에 따라 라이센스 구매자(licensee)에 의한 라이센스된 소프트웨어의 사용의 정보를 포함하는 인증가능 통지를 발생하는 단계; 상기 인증가능 통지를 소비자 지정 소스로부터 벤더 지정 목적지로 전송하는 단계; 상기 인증가능 통지를 상기 벤더 지정 목적지에서 수신 및 인증하는 단계; 및 상기 인증가능 통지가 인증된 경우, 사용후 지불 비지니스 모델 목적용의 비지니스 동작 소프트웨어에 제공되도록 상기 인증된 통지로부터 처리된 정보를 발생하는 단계를 포함하는 사용후 지불 비지니스 모델용의 라이센스된 소프트웨어의 사용을 통지하는 방법이다.
다른 특징은 라이센스 조건을 라이센스 소프트웨어의 초과사용(overusage)을 조건부로 허용하고, 상기 초과사용의 정보를 포함하는 인증가능 통지를 발생하고, 사용후 지불 비지니스 모델용의 목적지에 상기 인증가능 통지를 전송하도록 구성된 적어도 하나의 컴퓨터를 포함하는 장치이다.
다른 특징은 복수의 인증가능 통지들 각각이 소프트웨어 모듈에 의해 발생된 상기 복수의 인증가능 통지들 중 직전 및 직후의 인증가능 통지와 중복하는 복수의 시간 기간들에 대한 라이센스된 소프트웨어의 사용의 정보를 포함하도록, 스케줄링된 시점에 상기 복수의 인증가능 통지들을 발생하도록 적응된 소프트웨어 모듈을 제공하는 단계를 포함하는 라이센스된 소프트웨어 사용 통지 방법이다.
다른 특징은 카운트된 컴퓨터 리소스의 N, N-1, N-2 ... M개가 상기 라이센스된 소프트웨어의 특정 기능(feature)을 사용하여 활성화될 때, 총 시간이 통지 기간을 초과하도록 구성된 라이센스된 소프트웨어의 사용의 정보를 포함하는 인증가능 통지를 발생하도록 적응된 소프트웨어 모듈을 제공하는 단계를 포함하는 라이센스된 소프트웨어 사용 통지 방법이며, 여기서 N은 상기 통지 기간들에 있어서의 상기 기능을 동시에 사용하는 상기 카운트된 컴퓨터 리소스의 최대수이고, M은 0이상의 정수이다.
다른 특징은 사용후 지불 비지니스 모델용의 비지니스 동작 소프트웨어에 이용가능하게 되도록, 라이센스된 소프트웨어의 초과사용의 정보를 포함하는 인증가능 통지를 안전하게 수신하고, 상기 인증가능 통지를 인증하며, 상기 인증된 인증가능 통지로부터 정보를 저장하도록 구성된 적어도 하나의 컴퓨터를 포함하는 장치이다.
또 다른 특징은 라이센스된 소프트웨어의 사용의 정보를 포함하는 인증가능 통지를 수신하는 단계; 상기 인증가능 통지를 인증하는 단계; 및 사용후 지불 요청을 트리거하기 위해, 상기 사용이 미리 결정된 양만 라이센스 조건들을 초과하는 사례(instance)들을 식별하도록 상기 라이센스된 소프트웨어의 상기 사용의 상기 정보를 처리하는 단계를 포함하는 사용후 지불 비지니스 모델을 구현하는 방법이다.
본 발명의 다양한 특징들의 부가적인 목적들, 측면들 및 이점들은 바람직한 실시예의 이하의 기술(description)에서 명백해질 것이며, 이 기술은 첨부 도면과 관련하여 기술된다.
도 1 내지 5는 본 발명의 특징들을 활용하는, 사용후 지불 비지니스 모델용에 구성가능한 소프트웨어 라이센스 관리 시스템의 블록도를 예로서 예시하는 도면.
도 6은 본 발명의 특징들을 활용하는, 사용후 지불 비지니스 모델용에 구성가능한 소프트웨어 라이센스 관리 시스템의 프런트-엔드 서버상에 있는 소프트웨어 모듈들 및 파일들의 블록도를 예로서 예시하는 도면.
도 7은 본 발명의 특징들을 활용하는 통지 스케줄 라인의 필드들로 입력할 수 있는 속성들을 예로서 예시하는 도면.
도 8은 본 발명의 특징들을 활용하는, 사용후 지불 비지니스 모델들용에 구성가능한 소프트웨어 라이센스 관리 시스템의 백-엔드 서버에 있는 소프트웨어 모듈 및 파일들의 블록도를 예로서 예시하는 도면.
도 9는 월달력의 날들 각각에 대해 소비자의 일간 최고 라이센스 사용의 그래프를 예로서 예시하는 도면.
도 10은 본 발명의 특징들을 활용하는, 사용후 지불 비지니스 모델들을 위해 라이센스된 소프트웨어의 사용을 통지하기 위한 방법의 프런트-엔드부를 예로서 예시하는 도면.
도 11은 본 발명의 특징들을 활용하는, 사용후 지불 비지니스 모델들을 위해 라이센스된 소프트웨어의 사용을 통지하기 위한 방법의 백-엔드부를 예로서 예시하는 도면.
도 12는 본 발명의 특징들을 활용하는, 사용후 지불 비지니스 모델용의 라이센스된 소프트웨어의 사용을 통지하기 위한 방법의 백-엔드부의 성 실행동안 인증 및 검증 실패의 핸들링을 예로서 예시하는 도면.
본 명세서에서 사용된 다음의 용어들은 그의 대문자 또는 소문자의 사용에 상관 없이 다음의 의미들을 가져야 한다.
"인증가능 통지(Authenticatable Report)"는 예를 들어, 디지털 서명을 통해 인증될 수 있는 통지를 의미한다.
"백-엔드(Back-end)"는 벤더(Vendor)에 의해 소비자에게 라이센스된 소프트웨어를 사용하는 소비자로부터 수신된 정보를 수신 및 처리하도록 소프트웨어 벤더에 의해 인증 또는 제어하의 서버, 컴퓨터 또는 시스템을 언급한다.
"비지니스 동작 소프트웨어(Business Operations Software)"는 고객 요금청구(billing), 라이센스 컴플라이언스, 자료 수집용 회계 감사(auditing) 및 제품 마케팅, 지원 또는 제품 개발 목적들을 위한 분석을 포함하는 비지니스 엔티티의 비지니스 동작들에 주로 사용되는 소프트웨어를 의미한다.
"소비자(Customer)"는 라이센스된 소프트웨어의 라이센스 구매자를 의미한다.
"디지털 서명(Digital Signature)"은 정보 또는 다른 정보상에 메시지 다이제스트(예를 들어, MD5) 또는 보안 해쉬 알고리즘(예를 들어, SHA-1)을 사용하여 단방향 해쉬 값을 산출하고, 개인키를 소유한 사람 또는 소프트웨어에 의해 암호화된 데이터 또는 암호화된(또는 "서명된") 다른 정보를 검증하기 위해 공개키(복호화를 수행하는 부(party)에 이용가능함)로 복호화 할 수 있도록 해쉬값을 개인키(바람직하게는, 암호화를 수행하는 부에게만 알려짐)로 암호화함으로써 발생되는 디지털 서명을 의미한다.
"파일(File)"은 컴퓨터 파일로서 일반적으로 이해될 수 있는 것을 언급하지만, 데이터 베이스 관리자들, 등록기들, 디렉토리들 및 데이터 객체들을 포함하는 디지털 데이터를 저장 및 검색하기 위한 임의의 시스템을 포함하는 것으로서도 사용된다.
"프런트 엔드(front-end)"는 소비자에 라이센스된 소프트웨어를 실행, 관리 및/또는 통지하도록 소비자에게 인가 또는 제어하의 서버, 컴퓨터 또는 시스템을 언급한다.
"사용후 지불 비지니스 모델(Post-Use-Payment Model)"은 소프트웨어가 소비자에 의해 사용된 이후에, 소비자가 벤더로부터 소프트웨어 라이센스들을 구매하거나, 소프트웨어의 사용에 대해 요금을 지불하는 공식 또는 비공식적 소프트웨어 라이센싱을 의미하며, 이는 소비자의 실제 사용이 이런 사용을 반영하는 소프트웨어 라이센스들의 구매를 조사 또는 구매를 위한 필요 조건들 또는 구매를 "트리거들(triggers)"하는 경우의 사용당 지불 비지니스 모델들(pay-per-use business models) 및 다른 비지니스 모델들을 포함한다.
"서버(Server)"는 다른 애플리케이션, 운용 체제, 시스템 소프트웨어또는 컴퓨터 서비스와 상호작용하는 컴퓨터 프로세스를 의미한다. 이 정의 내, 용어들" 클라이언트-서버", "다중-계층 컴퓨팅(multi-tier computing)", "3-계층 컴퓨팅"에 사용된 서버, 네트워크 서비스들, 또는 웹 서비스들이 포함된다.
"벤더(Vendor)"는 저작권 소유자 및 라이센스된 소프트웨어를 사용하기 위한 소비자들에게 라이센스는 분배하거나 팔 수 있도록 저작권 소유자에 의해 권리가 승인된 다른 자를 포함하는 라이센스된 소프트웨어의 라이센스 소유자 의미한다.
도 1 내지 5는 본 발명의 특징들을 활용하는, 사용후 지불 비지니스 모델용에 구성가능한 소프트웨어 라이센스 관리 시스템의 블록도를 예로서 예시한다. 이 시스템들 외에도, 본원의 다양한 학설(teaching)을 채용하는 다른 시스템들이 본 발명의 다양한 특징들을 실시하기 위해 또한 사용될 수 있어서, 그 자체가 전체 범위내에 있다고 고려된다는 것을 알 수 있다. 또한, 방화벽들을 포함하는 프록시 서버들은 보안 목적들을 위해 또는 다른 네트워킹 기술들을 지원하도록 이 시스템들내에 종래적으로 삽입될 수 있지만, 다음의 기술들을 간략하게 하기 위해 여기서는 도시되지 않고, 이런 생략은 어떤 방식으로도 본 발명의 전체 범위를 제한하지 않는다는 것을 알 수 있다.
도 1에서, 프런트-엔드 서버(101)는 라이세스된 소프트웨어의 사용을 제어하고, 이런 사용 정보를 포함하는 인증가능 통지를 발생하며, 직접적인 다이얼-업 전화 번호, 인터넷 URL(Uniform Resource Locator), 이메일 어드레스 또는 다른 네트워킹 어드레스와 같은 지정된 목적지에 대응하는 백-엔드 서버(102)에 인증가능 통지를 안전하게 전송하도록 구성할 수 있다. 라이센스된 소프트웨어는 프런트-엔드 서버(101) 및 컴퓨터들(104 내지 106)로서 표현된 다른 컴퓨터들을 포함하는, 네트워크(107)에 접속된 다양한 프런트-엔드 컴퓨터에 분배되어 동작한다. 네트워크(107)는 로컬 영역 네트워크(LAN), 와이드 영역 네트워크(WAN), 가상 개인 네트워크(VPN), 또는 라이센스된 소프트웨어의 소비자에 의해 제어되거나 관리될 수 있는 다른 네트워크가 될 수 있다. 라이센스된 소프트웨어의 소비자에 의해 지정 또는 인가된 위치에 바람직하게 있는 프런트-엔드 서버(101)와 라이센스된 소프트웨어의 벤더에 의해 지정 또는 인가된 위치에 바람직하게 있는 백-엔드 서버(102)간의 통신은 인터넷, 개인용 네트워크 또는 직접적인 다이얼-업 접속과 같은 통신 매체(103)를 통해 수행된다. 인터넷의 경우, 인증가능 통지의 보안 전송은 예를 들어, SSL(Secure Sockets Layer Protocol), VPN(Virtual Private Network) 및/또는 암호화된 이메일 첨부들을 사용하여 수행되는 것이 바람직하다.
대안적으로, 네트워크상의 프런트 엔드 컴퓨터들(104 내지 106)로 표현된 임의의 하나 이상의 프런트 엔드 컴퓨터들은 다른 이런 컴퓨터들의 라이센스된 소프트웨어 및/또는 자신의 라이센스된 소프트웨어의 사용을 제어하고, 인증가능 통지를 백-엔드 서버(102)에 안전하게 전송하도록, 프런트-엔드 서버(101)에 부가하여 또는 대신에 구성될 수 있다. 따라서, 여기에서 및 다음의 청구범위에서 사용된 바와 같이, 용어 "프런트-엔드 서버"는 상기 기능들을 수행할 때, 상기 프런트-엔드 컴퓨터들을 또한 포함한다고 이해될 수 있다. 라이센스된 소프트웨어를 실행하기 위해 구성되는 특정 프런트-엔드 컴퓨터들 외에, 프런트-엔드 서버(101)도 또한 구성될 수 있다.
백-엔드 서버(102)는 인증가능 통지를 인증 및 처리하여 처리된 정보를 발생하고, 사용후 지불 비지니스 모델 목적들 및 다른 사용을 위해 비지니스 동작 소프트웨어에 이 처리된 정보를 제공하도록 구성된다. 이러한 비지니스 동작 소프트웨어의 예들은 ERP(enterprise resource planning software), 전자 상거래 소프트웨어(인터넷을 통해 거래를 수행하기 위해 사용되는 것과 같은), CRM(customer relationship management software) 및 SFA(sales force automation software)를 포함한다.
도 2는 사용후 지불 비지니스 모델용에 구성가능한 소프트웨어 라이센스 관리 시스템의 변형을 도시하며, 여기서, 인증가능 통지는 처리를 위해 하나 이상의 백-엔드 서버로 전송될 수 있다. 이 예에서, 백-엔드 서버(202 및 208)는 동일한 인증가능 통지를 여분으로 수신하거나, 대안으로 이러한 처리 액션을 분할함으로써 인증가능 통지를 처리하기 위해 협력할 수 있는 반면, 프런트-엔드 컴퓨터들(204 내지 206)로 표현된 컴퓨터들, 프런트-엔드 서버(201), 네트워크(207) 및 통신 매체들(203)은 도 1에서 그들 각각의 대응부들과 같이 바람직하게 기능한다.
도 3은 사용후 지불 비지니스 모델용에 구성가능한 소프트웨어 라이센스 관리 시스템의 다른 변형을 도시하며, 하나 이상의 프런트-엔드 서버가 백-엔드 서버(302)로 인증가능 통지를 안전하게 전송한다. 이 예에서, 프런트-엔드 서버(301 및 309)는 백-엔드 서버(302)로 동일한 인증가능 통지들을 제공하는 여분의 서버들일 수 있고, 또는 이들은 백-엔드 서버(302)로 상이한 인증가능 통지들을 제공하는 독립 서버들일 수 있다. 여분의 프런트-엔드 서버들이 사용되는 경우, 인증가능 통지의 성공적인 전송은 프런트-엔드 서버들 중 하나가 "다운(down)"(즉, 작동하지 않게 됨)될 때에도 합리적으로 안전하게 된다. "다운" 프런트-엔드 서버가 "업(up)"으로 돌아온 이후에, 다른 프런트-엔드 서버와 동기되어서, 이들은 동일한 정보(예를 들어, 그들 각각의 통지 로그들)를 저장하고, 이런 정보는 여분의 프런트-엔드 서버들 중 하나가 "다운" 되어도 결코 "손실(lost)"되지 않는다. 독립 서버들이 사용된 경우, 통지 로그 및/또는 통지 발생 의무들은 두 프런트-엔드 서버들(301 및 309)간에 분할될 수 있다. 이런 분할하는 경우의 일례로는 프런트-엔드 서버들 각각이 소비자의 상이한 부서(division) 또는 사업 조직(profit center)에 대한 사용을 통지한다. 여분 또는 독립 프런트-엔드 서버 경우들에서, 프런트-엔드 컴퓨터들(304 내지 306), 네트워크(307), 통신 매체들(303), 및 백-엔드 서버(302)는 도 1의 그들 각각의 대응부와 같이 기능하는 것이 바람직하다.
도 4는 사용후 지불 비지니스 모델용에 구성가능한 소프트웨어 라이센스 관리 시스템의 다른 변형을 도시하며 여기서, 하나 이상의 프런트-엔드 서버는 하나 이상의 인증가능 통지들을 하나 이상의 백-엔드 서버에 안전하게 전송한다. 이 실시예에서, 프런트-엔드 컴퓨터들(404 내지 406)은 도 1의 그들 각각의 대응부들과 같이 기능하는 것이 바람직하고, 네트워크(407) 및 프런트-엔드 서버들(401 및 409)은 도 3의 그들 각각의 대응부들과 같이 기능하는 것이 바람직하며, 통신 매체(403) 및 백-엔드 서버(402 및 408)는 도 2의 그들 각각의 대응부들과 같이 기능하는 것이 바람직하다.
도 5는 사용후 지불 비지니스 모델용에 구성가능한 소프트웨어 라이센스 관리 시스템의 또 다른 변형을 도시하며, 여기서, 하나 이상의 네트워크가 소비자에 의해 사용된다. 이 예에서, 제 1 네트워크(507)는 제 1 프런트-엔드 서버(501) 및 대표적 프런트-엔드 컴퓨터들(504 내지 507)에 접속되어 통신 매체(503)를 통해 백-엔드 서버들(502 및 508)들 중 하나 또는 둘 모두 및 다른 네트워크와 통신하며, 이들 모두는 도 2의 그들 각각의 대응부들과 같이 동작하는 것이 바람직하며, 제 2 네트워크(517)는 제 2 및 제 3 프런트-엔드 서버들(511 및 519) 및 대표적 프런트-엔드 컴퓨터들(514 내지 516)과 접속되어 통신 매체(503)를 통해 백-엔드 서버들(502 및 508)중 하나 또는 둘 모두 및 다른 네트워크와 통신하며, 이들 모두는 도 4의 그들 각각의 대응부들과 같이 동작하는 것이 바람직하다. 상이한 네트워크들은 소비자의 부서들 또는 지역 회사들(subsidiaries)에 의해 사용될 수 있다.
도 6은 도 1을 참조하여 상술된 기능들을 수행하기 위해 백-엔드 서버(101)를 구성하도록 역할하는 프런트-엔드 서버(101)상에 있는 소프트웨어 모듈 및 파일들의 블록도를 예로서 예시한다. 이 예에서, 정보가 파일에 저장된 바와 같이 도시되었지만, 정보는 마이크로소프트 윈도우 레지스트리 또는 LDAP와 같은 네트워크-와이드 시스템 디렉토리 또는 데이터를 저장하는데 사용되는 다른 유사한 시스템들에도 저장될 수 있다는 것을 알 수 있다. 도 1 내지 5를 참조하여 기술된 것과 같은 다른 프런트-엔드 서버들 또는 프런트-엔드 컴퓨터들이 이 기능들을 또한 또는 대안적으로 수행하는 경우, 다음의 기술된 소프트웨어 모듈 및 파일들의 대응하는 카피들(copies)은 이들 서버들 또는 컴퓨터들에 있거나 또는 적어도 이용가능하다. 라이센스 파일(605)은 통지 스케줄 라인들(6051)(여기서, 간단히 "리프트 스케줄"이라고도 언급됨), 기능 라인들(feature lines)(6052) 및 라이센스된 소프트웨어를 위한 라이센스 조건(6053)을 포함한다. 대안으로, 라인들 대신, 이러한 데이터는 그들 각각의 통지 스케줄, 기능 또는 라이센스 조건을 기술하는 태그된 데이터(tagged data) 또는 데이터베이스 체계 또는 레지스트리내의 데이터로서 저장될 수 있다. 라이센스 관리자(604)는 라이센스 조건(6053)에 따라 라이센스된 소프트웨어의 사용을 제어하고, 이런 사용의 통지 로그(606)를 적절히 발생한다.
통지 스케줄 라인들(6051) 각각은 통지 발생기(610)에 의해 발생될 통지들에 대한 정보를 제공하고, 기능 라인들(6052) 각각은 라이센스된 소프트웨어의 하나 이상의 기능들(features)에 대한 라이센싱 정보를 제공한다. 일반적으로, 라이센스된 소프트웨어 제품에 다수의 기능들이 존재하고, 때때로, 하나의 기능은 다수의 라이센스된 소프트웨어 제품들에 스프레드(spread)될 수 있다. 기능 라인들 및 통지 스케줄의 분리는 다수의 기능 라인들이 동일한 통지 스케줄 라인들에 인덱싱(indexed)될 수 있어서, 예를 들어, 상이한 기능 라인들에서 개별적으로 식별된 상이한 벤더 비지니스 유닛들이 그들 제품들과 관련된 기능 사용의 동일하게 포맷팅된 통지를 수신할 수 있다. 대안적으로, 동일한 기능들의 사용은 상이한 비지니스 유닛들을 대해 상이하거나 고유한 방식들로 통지 될 수 있다.
프런트-엔드 서버(101)상에서 배경 처리(background process)로서 실행하는 에이전트, 서비스 또는 데몬(daemon)(이하, 간단히 "에이전트"라 언급함)(608)은 통지 로고(606)내의 정보로부터 인증가능 통지(612)를 발생하도록 통지 발생기(610)를 실행할 시간을 라이센스 관리자(604)에 알려주는 스케줄러로서 역할한다. 에이전트(608)는 통지 스케줄 라인들(6051)의 스케줄 정보로부터 이런 액션을 위한 스케줄링된 시간을 판독한다. 에이전트(608)가 도 6에 도시된 바와 같이 별도의 모듈일 수 있지만, 항상 실행중인 라이센스 관리자(604)의 부분인 것이 바람직하다. 인증가능 통지(612)는 통지 스케줄 라인의 구성 데이터를 사용하여 발생되며 여기서, 이러한 데이터는 통지 스케줄 라인들(6051)을 실행시에 "Report_Validation_Code"를 사용하여 인증된다. 바람직하게는, 결과적인 인증가능 통지(612)는 인증가능 통지 소프트웨어의 개발을 간단하게 하고, 특별 목적용 소프트웨어에 대한 요구없이 사람들이 쉽게 볼 수 있는 데이터를 만들기 위해 XML 태크들을 갖는 HTML 또는 SGML이다.
구성 파일(611)은 인증가능 통지(612)를 발생하기 위해 요구되는 포맷 및 데이터 필터링 파라미터들을 통지 발생기(610)에 나타낸다. 바람직하게는, 구성 정보는 XML 파일이다. 이 파일들의 일부는 인증가능 통지(612)와 같은 인증가능 통지를 위한 HTML/XML 출력용 템플릿(template)이다. 이러한 방식으로, 라이센스된 소프트웨어의 벤더는 무슨 디스플레이 라벨들이 웹 브라우저들을 통해 디스플레이되는지를 포함하는 통지들을 그 링킹(linking)을 위해 포맷할 수 있다. 통지 발생기(610)가 테이블들을 발생할 때, 테이블이 포맷되는 방법의 제어도 구성 파일(611)에 또한 포함되는 것이 바람직하다. 디지털 서명은, 바람직하게는 XML 태깅된 필드들 중 하나로서 인증가능 통지(612)에 삽입된다. 이 경우, 디지털 서명의 산출은 헤더 및 풋터(footer) 텍스트를 제외한, 통지 텍스트의 전체 본문(body)을 해쉬한다.
라이센스 관리자(604)는 다른 기능들과 함께, 인증가능 통지(612)를 발생하기에 앞서 통지 발생기(601) 및 그 구성 파일(611)의 진정성(authenticity)을 검증한다. 바람직하게는, 이런 인증은 적어도 라이센스 관리자의 시작시에 이루어지고, 그 이후에 한시간 간격과 같이 주기적으로 수행될 수 있다.
구성 파일(611)을 통해 선택 가능한 통지 포맷의 일 예로는 전체 기능 캐스캐이드(full feature cascade)가 있다. 전체 기능 캐스캐이드에서, N, N-1, N-2,...등으로 M까지 감소하는 사용자들 또는 카운트된 컴퓨터 리소스(호스트들 또는 CPU들과 같은)이 라이센스된 소프트웨어의 특정한 기능을 사용하여 활성화 될 때 통지 기간을 초과한 총 회수가 제공되며, 여기서, N은 시간 기간에 기능을 동시에 사용하는 카운트된 컴퓨터 리소스 또는 사용자의 최대수이고, M은 0 이상의 정수이다. 이는 기능 단위 기반(feature-by-feature basis)으로 이루어져서, 기능들의 사용들뿐만 아니라 라이센스된 소프트웨어의 사용도 판단될 수 있다. 이 정보는 소프트웨어의 라이센싱이 기능 단위 기반이 될 수 있는 경우 특히 유용하다. 통지 기간은 일간, 월간, 또는 다른 주기적인 기반이 될 수 있다. 이런 통지 포맷을 위한 구성 정보의 부분으로서, 트리거 시간이 또한 제공된다. 트리거 시간은 초과사용(overusage)을 커버하기 위해 부가적인 라이센스의 구매가 트리거되기 이전에, 라이센스된 소프트웨어의 초과사용이 허용되는 최대 시간 기간을 지정한다. 이런 정보의 중요성으로 인해, 인증가능 통지의 소정 방식이 강조되는 것이 바람직하다.
유용한 통지 포맷의 다른 예는 초과사용 기능 캐스캐이드가 있다. 이 통지는 초과사용만을 통지한다는 것을 제외하고 전체 기능 캐스캐이드와 유사하다. 유용한 통지 포맷들의 다른 예들은 소프트웨어 사용이 그 라이센스 조건을 초과할 때 통지 로그 데이터의 부가적인 상세들을 제공하는 상세된 초과사용 통지, 명명된 사용자 또는 호스트 컴퓨터에 의한 누적 사용 추적 통지, 누적 거래 라이센싱 통지 및 사용당 지불 라이센싱 장치하에서 만기 양을 산출하기 위한 데이터를 제공하도록 구성된 사용당 지불 통지(pay-per-use report)를 포함한다.
유용한 통지 포맷들의 또 다른 실시예들은 상세된 초과사용 통지 로그, 누적 사용 추적(명명된 사용자 또는 호스트에 의한), 누적 거래 라이센싱, 사용당 지불을 포함한다. 상세된 초과사용 통지 로그 포맷에서, 통지 로그(606)의 데이터는 라이센스 조건들(6053)이 초과할 때 제공된다. 데이터 무결성을 합리적으로 보장하기 위해, 라이센스 관리자(604)의 구성 또는 상태는 통지 시간 기간 전후에 데이터와 함께 제공된다. 사용자 및 호스트 식별은 소비자에 의해 코딩될 수 있어서, 벤더는 사용자 프라이버시를 합리적으로 보장하기 위해 사용자들 및 그들의 사용을 상호관련시킬 수 없다. 그러나, 이러한 정보는 계획 작성용(planning purposes)으로 사용자가 이용가능할 수 있어야 한다. 누적 사용 추적 포맷에서, 장시간 기간들에 걸친 개별 사용자들 또는 호스트들에 의한 사용이 추적된다. 이 모드에서, 통지 발생기(610)는 몇몇의 통지 발생을 위해 정보를 누적하는 인증가능 통지들을 스케줄 당 발생하고, 도 8을 참조하여 기술되는 백-엔드 소프트웨어는 보다 긴 기간 사용 요약 통지들(longer-term usage summary reports)을 발생하기 위해 수신된 통지들을 추가로 누적한다. 누적 거래 라이센싱 포맷에서, 날짜, 시간, 기능, 호스트 및/또는 사용자에 의한 사용 또는 거래들의 항목별로 작성(itemize) 또는 요약된 정보가 제공된다. 정보는 모든 정보 또는 라이센스 조건들(6053)에 따라 라이센스된 것을 초과한 사용만을 위한 것일 수 있다. 이 경우에서 초과사용이 허용되는 것이 바람직하지만, 예를 들어 소비자가 부가적인 소프트웨어 라이센스의 구매를 트리거하도록 백-엔드 비지니스 동작 소프트웨어에 제공된다. 사용당 지불 포맷에서, CPU 시간, 사용된 I/O, 플렛폼 타입(예를 들어, 윈도우 XP 대 애플 대 유닉스)의 정보 및/또는 기능이 사용된 시간이 항목별로 작성되거나(예를 들어, 체크-인/체크-아웃) 또는 요약된(예를 들어, 날짜, 호스트 및/또는 사용자의 조합에 의해)원리로 제공된다.
기능이 상호작용성 라이센스된 소프트웨어를 위해 사용된 시간을 제공하여, 백-엔드 비지니스 동작 소프트웨어는 라이센스된 소프트웨어가 확장된 시간의 기간(예를 들어, 10분)동안 유휴 처리(idle process)에 있을 때 사용후 지불 비지니스 모델의 시간에 대해 소비자에게 요금을 청구하지 않도록 타임-아웃 조정 또는 프래그를 인증가능 통지내에 구현하는 것이 바람직하다. 이것은 많은 경우들에서, 소프트웨어 소비자들이 확장된 시간 기간들 동안 라이센스된 소프트웨어가 유휴일 때 라이센스된 소프트웨어 사용에 대해 요금을 청구하는 것이 부당하다고 생각하기 때문에 중요하다(예를 들어, 비지니스 애플리케이션을 사용하는 피고용인은 애플리케이션을 먼저 종료하지 않고 주말동안 집에 간다).
도 6에 도시된 소프트웨어 모듈들 및 파일들의 동작의 보다 분명한 이해는 통지 스케줄 라인들(6051) 및 기능 라인들(6052) 각각의 엔트리들 또는 필드들의 상세한 기술에 의해 제공된다. 벤더에 의해 제공된 기능 라인들(6052)은 Report_Schedule_Name 및 Report_Ready와 같은 통지 스케줄 속성들을 위한 엔트리들을 포함한다. Report_Schedule_Name은 통지 스케줄 라인들(6051) 중 대응하는 하나에 포함된 이름을 정합시킴으로써 기능이 "묶여 있는(tied to)" 통지 스케줄을 식별하는 고유 이름이다. Report_Ready의 값은 인증가능 통지(612)가 어떻게 처리될지를 나타낸다. "REQUIRE"의 값은 인증가능 통지(612)가 도 1 내지 5를 참조하여 기술된 바와 같이 하나 이상의 지정된 목적지들로 전송되는 것이 요구된다는 것을 의미한다. 이 경우, 통지 발생기(610)는 기능 라인들에서 식별된 임의의 라이센스들을 인에이블하기 이전에 라이센스 관리자(604)에 의해 양호한 구성을 갖는다는 것이 검증되어야 한다. 한편, "WARN-ONLY"의 값은 또는 "NOT-REQUIRE"의 값은 인증가능 통지(612)가 임의의 지정된 목적지에 전송될 필요가 없다는 것을 의미한다. 이런 경우, 기능 라인에서 식별된 기능들에 대한 라이센스 권리들은 통지 발생기(610)가 양호한 구성을 갖는지 여부에 관계없이 라이센스 관리자(604)에 의해 인에이블된다. "WARN-ONLY" 모드에서, 실패의 경고는 라이센스된 소프트웨어에 제공되어, 사용자들 및/또는 시스템 관리자들은 라이센스된 소프트웨어에 이를 디스플레이하도록 구성된 경우 경고를 볼 수 있다. "NOT-REQUIRE"모드에서, 어떠한 이런 경고도 라이센스된 소프트웨어에 제공되지 않는다. 그러나, 임의의 상기 경우들에서, 검증이 실패하는 경우, 이런 실패의 경고는 디버그 로그(도시되지 않음) 및 통지 로그(606)에 제공된다.
도 7은 라이센스된 소프트웨어의 인에이블링의 부분으로서 벤더에 의해 도 1의 백-엔드 서버(102)(또는 도 2 내지 5를 참조하여 기술된 것과 같은 다른 백-엔드 서버) 및 라이센스에 제공된 리프트 스케줄 라인들(6051) 각각의 필드들 또는 엔트리들을 예로서 예시한다. 그렇지 않고, 지정되지 않은 경우, 모든 필드들은 통지 스케줄 라인의 디지털 서명 산출에 포함된다.
"Vendor_Identification" 은 고유 벤더 이름 또는 다수의 소프트웨어 벤더들이 사용후 지불 비지니스 모델을 위해 그 자신의 고유 라이센싱 및/또는 사용 통지 체계를 갖도록 허용하는 식별 코드이다.
"Report_Schedule_Name"은 기능 라인들(6052)의 기능에 링크 또는 "묶여진" 통지 스케줄을 식별하는 고유 이름이다.
"Report_Name"은 통지 발생기(610)의 실행을 위한 디렉토리 경로 및 파일 이름이다. 이 필드는 통지 스케줄 라인의 디지털 서명에 포함될 필요가 없고, 인증가능 통지가 발생되지 않는 경우 공란(empty)일 수 있다.
"Report_Configuration"은 구성 파일(611)로의 디렉토리 경로 및 파일 이름이다. 이 필드는 통지 스케줄 라인의 디지털 서명에 포함될 필요가 없고, 인증가능 통지가 발생되지 않는 경우 공란일 수 있다.
"Start_Date"는 Report_Schedule이 유효한 처음 날짜가다. 동일한 Report_Schedule_Name을 갖는 하나 이상의 통지 스케줄 라인 존재하면, 다수의 통지 스케줄 라인들에서의 늦은 날짜는 통지 스케줄이 End-Date로 인해 이미 만료되지 않는 경우 사용될 것이다.
"End_Date"는 통지 스케줄 라인(6051)이 유효한 마지막 날짜가다. 이 속성은 사용후 지불 모델의 비용을 지불하지 않은 소비자가 프로그램으로부터 차단될 수 있고, 다른 비지니스 방식들을 지원하도록 벤더에 의해 사용될 수 있다. 시작 및 종료 날짜들은 벤더가 통지 스케줄 라인들(6051)의 주기적인 업데이트를 실시할 수 있게 한다.
"Report_Validation_Code"는 3 부분 코드이다. 코드의 제 1 부분("코드 A")는 통지 발생기(610)의 진정성을 검증하도록 챌린지-응답 매커니즘(challenge-response mechanism)을 위해 사용된다. 한 방식으로, 이는 라이센스 관리자(604)가 통지 발생기에게 난수("RN")를 전해주기 위해 수행된다. 통지 발생기(610) 내부에서, RN은 통지 발생기(610)으로 사전-로딩된 비밀 숫자("코드 B") 및 날짜와 함께 사용되며, 여기서;
Code B = F (Code A)이며,
여기서, F는 어떤 1 대 1 함수이다. 통지 발생기의 각 고유 버전(version)을 위해, 고유한 코드 B, 코드 A 쌍은 소프트웨어 벤더에 의해 선택된다. 통지 발생기(610)는,
Code C = G( F-1 (Code B), Date, RN)
로 라이센스 관리자(604)에 응답하며, 여기서, G는 해싱 함수이며, F-1은 F의 역함수이다. 따라서, 라이센스 관리자(604)는,
Code C = G (Code A, Date, RN)
로 코드 C를 산출함으로써 통지 발생기(610)를 인증할 수 있다.
C 의 두 산출들이 정합하는 경우, 라이센스 관리자(604)는 통지 발생기(610)를 진정성을 위한 상기 시험을 통과한 것으로서 간주하고, 코드 C의 산출과 같은 보정 버전은 통지 발생기(610)의 특정 버전을 위해 소프트웨어 벤더에 의해 선택된 고유한 코드 A, 코드 B 쌍에 의존한다.
코드의 제 2 부분은 구성 파일(611)이 진정한 것임을 검증하기 위해 라이센스 관리자(604)가 사용하는 구성 파일(611)의 디지털 서명이다. 이 디지털 서명은 구성 파일(611)의 컨텐츠의 단방향 해쉬값이며, 그 후, 이 해쉬값은 개인키, 바람직하게는 라이센스 파일(605)의 컨텐츠를 디지털로 사인(sign)하는데 사용된 키와 동일한 키를 사용하여 암호화된다. 그 후, 구성 파일(611)의 "Digital_Signature" 는 라이센스 파일(605)에 사용된 것과 동일한 공캐키로 디지털 서명을 복호화하고, 그 후 구성 파일(611)의 커텐츠들상에서 동일한 단방향 해쉬 산출을 수행할 때 라이센스 관리자(604)가 획득한 결과가 정합하는지를 검증함으로써 라이센스 관리자에 의해 검증된다.
부가적인 보안을 위해, 구성 파일(611)을 위한 해쉬 산출은 구성 파일(611)과 함께 코드의 제 1 및 제 3 부분들을 또한 포함한다.
코드의 제 3 부분은 예를 들어, 도 6을 참조하여 기술된 소프트웨어 모듈의 벤더에 의해 제공된 디지털 서명이며, 이는 라이센스된 소프트웨어의 벤더에 고유하다. 이런 경우, 라이센스된 소프트웨어의 벤더는 라이센스 관리자 및 통지 발생기(610)를 포함하는 소프트웨어 모듈의 벤더(라이센스 소유자)의 소비자(라이센스 구매자)이다. 코드의 상기 제 3 부분은 소프트웨어 모듈들의 제공자가 이들을 다수의 소프트웨어 밴드들에게 제공할 때 2개의 능력들을 제공한다. 제 1 능력은 소프트웨어 벤더들이 동일한 소프트웨어 모듈들을 사용하게 될 다른 벤더들에 대한 것이 아닌 그들 자신의 제품들에 대한 라이센싱만을 지정할 수 있다. 제 2 능력은 소프트웨어 모듈의 벤더가 소프트웨어 벤더가 사용 권리를 가진 기능들 및 모듈들의 사용에 대한 만료 날짜들과 같은 제어들을 가진 소프트웨어 벤더들에 소프트웨어 모듈들을 전기적으로 라이센싱하는 것을 허용하는 것이다.
디지털 서명(즉, 코드의 제 3 부분)을 위한 해쉬 값은 "Vendor_Identification" 및 소프트웨어 모듈을 다른 소프트웨어벤더들에 라이센싱할 때 소프트웨어 모듈들의 벤더가 선택하는 다양한 다른 라이센싱 파라미터들에 대해 단방향 해쉬를 사용함으로써 산출된다. 이들 다른 파라미터들은 모듈 라이센스 시작 날짜, 모듈 라이센스 종료 날짜, 소프트웨어 모듈들의 버전, 및 소프트웨어 모듈들의 개선된 기능들의 라이센싱을 포함할 수 있다. 소프트웨어 모듈들의 벤더는 (소프트웨어 모듈의) 벤더의 개인키로 결과적인 해쉬값을 암호화한다. 그 후, 소프트웨어 모듈은 소프트웨어 모듈들에 임베딩된 공개키를 사용하여 상기 디지털 서명을 검증하고, "Vendor_Identification" 및 소프트웨어 모듈들의 벤더에 의해 지정된 다른 라이센스된 파라미터들을 해쉬함으로써 산출되는 해쉬값에 대해 복호화된 해쉬값이 정합할 것이다. 이 경우, 라이센스된 소프트웨어의 벤더는 라이센스 관리자(604) 및 통지 발생기(610)를 포함하는 소프트웨어 모듈들의 벤더(또는 라이센스 소유자)의 소비자(또는 라이센스 구매자)이다.
"Report_Validation_code"를 위한 엔트리는, 라이센스된 소프트웨어의 소비자에 대해 라이센스된 소프트웨어를 인에이블할 때 라이센스된 소프트웨어의 벤더에 의해 동작되는 도 1의 백-엔드 서버(102)(또는 도 2 내지 5를 참조하여 기술된 것과 같은 다른 백-엔드 서버)상에 있는 것이 바람직한 서명자 모듈(도시되지 않음)에 의해 발생된다. 서명자 모듈을 위한 입력들은 통지 발생기(610), 구성 파일(611), 및 도 7에 예시된 것과 같은 대응 통지 스케줄 라인을 실행가능한 입력이다. 서명자 모듈의 출력은 통지 스케줄 라인 또는 대안적으로 "Report_Validation_Code" 필드에서 "filled-in"을 갖는 통지 스케줄 라인을 위한 "Report_Validation_Code"이다. 서명자 모듈이 라이센스된 소프트웨어의 특정 벤더를 위해 고유한 엔트리를 발생하도록 "Report_Validation_Code"의 제 3 부분을 통해 구성되기 때문에, 다른 라이센스된 소프트웨어의 다른 벤더는, 통지 발생기(610), 구성 파일(611) 및 도 7에 도시된 것과 같은 대응 통지 스케줄 라인을 동일한 실행가능한 입력을 입력한 경우에도 "Report_Validation_Code" 필드의 엔트리를 복사할 수 없어야 한다. 따라서, 라이센싱에 이 기술을 사용하도록 상기 PUP 시스템의 벤더를 위한 라이센싱 매커니즘 뿐만 아니라 라이센스된 소프트웨어의 벤더를 위한 부가적인 보안이 제공된다.
"Host_ID"는 도 6을 참조하여 기술된 파일을 이용하고 소프트웨어를 실행하도록 인증된 도 1의 프런트-엔드 서버(101)(또는 도 1 내지 5를 참조하여 기술된 것과 같은 다른 프런트-엔드 서버 또는 프런트-엔트 컴퓨터)의 고유한 식별이 바람직한 엔트리를 포함한다. 예를 들어, 도 3 내지 5에서 도시된 바와 같은 여분의 서버 구성에서, 엔트리는 여분의 서버들 각각에 대해 만들어진다.
"Schedule"은 시간 인터벌(또는 시간 주기) 통지들이 통지 발생기(610)에 의해 발생될 때 날짜 및 시간을 식별하는 엔트리들의 리스트이다. 시간 인터벌 통지들은 인증가능 통지가 이하에 기술된 바와 같이 다수의 시간 간격 통지들을 포함할 수 있기 때문에, 인증가능 통지(612)와 같은 개별적인 인증가능 통지로부터 구분될 수 있다. 바람직하게는, 날짜 및 시간은 유사하게 지정되지만, 유닉스 "cron" 파일들과 신택스(syntax)가 동일한 것이 바람직하다. 시간은 그리니치 표준시(GMT) 또는 백-엔드 서버(102)의 것과 같은 다른 특정 시간 존(zone)으로 지정되는 것이 바람직하다. 소비자 규정가능 시간 존은 보통 수용되지 않는다. 그 이유로는, 백-엔드 서버는 통지들이 적절한 방식으로 제공되었는지를 판단하기 위해 실제 스케줄을 알 필요가 있기 때문이다.
"Overdue_Schedule"은 지정된 시간 윈도우내에서, 스케줄링된 통지가 도 1의 백-엔드 서버(102)(또는 도 2 내지 5를 참조하여 기술된 것과 같은 다른 백-엔드 서버)에 의해 수신되었을 때 확대 정책(escalation policy)을 규정하는 3개의 필드를 포함한다. 제 1 필드는 이메일(또는 다른 통신)이 백-엔드 서버로부터, 체납(delinqeuncy)의 소비자를 통지하는 "에러" 이메일 또는 다른 소비자 어드레스로 보내질 때 트리거 기간을 나타낸다. 제 2 필드는 이메일(또는 다른 통신)이 백-엔드 서버로부터 확대된 소비자 신청자(escalated customer contact person)로 보내질 때 다른 트리거 기간을 나타낸다. 제 3 필드는 이메일(또는 다른 통신)이 벤더의 소비자 지원 신청자(vendor's customer support contact person)로 보내질 때 트리거 시간을 나타낸다. 이들 3 필드들의 포맷은 DD:HH:MM(날:시간:분)이다. 필드들 각각은 주말 또는 공휴일동안 추적하지 않고, 정규 비지니스 시간들을 표현하는 스킴(scheme)으로 국부 시간에 기초하여 비지니스 시간들(예를 들어, 월요일부터 금요일까지 오전 9:00에서 오후 5:00)이 추적 시간으로서 지정될 수 있다.
"To_URL"은 인증된 통지들이 보내질 모든 인터넷 URL들을 위한 엔트리들을 포함한다. 바람직하게는, 부가적인 URL들은 소비자의 시스템 관리자에 의해 부가적인 URL들을 옵션 파일(6054)의 적절한 필드들에 포함시킴으로써 원 리스트에 부가될 수 있다. 예를 들어, URL들(HTTP, HTTPS 또는 FTP가 사용될 때)의 신택스는 다음과 같다;
https:domain/path/ nameYYMMDDHHMMSS . fbr
여기서, 도메인은 인터넷 도메인이고; 경로는 디렉토리 경로이고, 이름은 이들 파일들(예를 들어, 소비자 이름, 약어 또는 식별 번호)의 명명을 위한 고정된 텍스트 프리픽스(prefix)이고; YYMMDDHHMMSS는 GMT에서 년, 달, 일, 시간, 분, 초에 대한 위치보유자(placeholder)이며, 전송되는 파일의 타입이 인증가능 통지임을 나타낸다. 인증가능 통지(612) EH는 통지 로고(606)의 사본을 지정된 URL(들)로 보내기 위한 프로토콜은 URL 신택스에 기초하는 HTTPS(SSL을 사용함) 또는 URL 신택스에 기초하는 mailto인 것이 바람직하다.
"From_URL"은 사전-인증된 이메일, URL 또는 HTTPS 및 mailto 전송 모드들이 사용될 때 인증가능 통지들 또는 통지 로그들에 대한 유효한 소스들로서 벤더 백-엔드 모듈(도 8의 제어기 캡쳐 제어기(capture controller;801))을 참조하여 기술된 것과 같음)에 의해 인지되는 네트워크 어드레스들을 나타내는 엔트리들을 포함한다. 비-인지된 소스들로부터 수신된 통지들은 벤더 사이트의 에러 로그에서 엔트리를 발생하거나 및/또는 무시될 것이다.
"Retain_Log_Window"는 통지 로그(606)의 데이터가 수집소(607)에 수집되기 전에 보관되는 시간 윈도우에 대한 엔트리를 포함한다. 엔트리에 대한 포맷은 DD:HH:MM(날:시간:분)이다. 다수의 통지 스케줄들이 도 1 내지 5를 참조하여 기술된 것과 같은 소프트웨어 라이센스 관리 시스템에서 사용되는 경우에는, 가장 긴 시간 윈도우가 우위(precedence)를 점한다. 통지 로그(606)에서 가장 오래된 엔트리의 수집은 통지 스케줄(6051)(또는 시스템의 다른 통지 스케줄)이 도 1의 백-엔드 서버(102)(또는 도 2 내지 5를 참조하여 기술된 것과 같은 다른 백-엔드 서버)로의 인증가능 통지(612) 또는 통지 로고(606)의 사본의 전송을 트리거한 이후에 발생한다.
"Report_Window"는 통지 발생기(610)에 의한 인증가능 통지들의 발생사이의 시간 기간에 대한 엔트리를 포함한다. 엔트리에 대한 포맷은 DD:HH:MM(날:시간:분)이다.
바람직하게는, "Report_Window"에 따른 각 전송동안, 하나가 아닌, 최종의 "N" 발생된 시간 인터벌 통지들이 전송되어, 시간 인터벌 통지들 각각은 "N"의 상이한 스케줄링된 전송을 통해 실제로 "N" 번 전송될 수 있다. 예를 들어, "N"이 3일 때, 통지 발생기(610)에 의해 발생된 최종 3의 시간 간격 통지들은 매번 전송되어서, 순차적으로 발생된 통지들(R(1), R(2) 및 R(3))은 제 1 전송에 포함되고, 시간 간격 통지들(R(2), R(3) 및 (R4))는 제 2 전송에 포함되며, 시간 간격 통지들(R(3), R(4) 및 R(5))은 제 3 전송에 포함된다. 따라서, "스케줄" 리스트는 이 예의 경우에, "Report_Window" 당 3의 시간 간격 통지들 발생을 포함한다. 이 여분(redundancy)은 인증가능 통지들의 모든 전송이 성공적이라는 확신이 없을 때 특히 유용하다. 예를 들어, 전송의 90%만이 성공적으로 수신된 경우, "N"이 1이면, 10번의 시간 간격 통지들에서 1번은 통과할 수 없다. 그러나, "N"이 3이면, 평균적으로 1000번 중 1번만 통과할 수 없다. "Retain_Log_Window"는 최종 "N" 발생된 시간 간격 통지들이 전송에 항상 이용가능하다는 것을 합리적으로 보장하기 위해 적어도 (N+1)번 "Report_Window"가 되도록 선택되어야 한다는 것에 주의한다.
"Verify_Config_Freq"는 구성 파일(611)이 얼마나 자주 라이센스 관리자(604)에 의해 검증될 것인지를 지정하는 엔트리를 포함한다. 이런 지정의 예들은 "하지 않음", 라이센스 관리자(604)의 "시작"시에, "매일" 및 "시간마다"를 포함한다. 대응 기능 라인의 "Report_Ready" 속성이 REQUIRE 모드인 경우에는, (상술된 바와 같이 통지 관리자(610)뿐만 아니라)구성 파일(611)은 대응 기능 라인의 기능이 라이센스 인에이블되기 이전에 정당한 것으로서 검증되어야 한다. 그렇지 않으면, 소비자는 초과사용 허용 모드에서 기능에 대한 액세스를 잃고, 이 문제는 error_email, 디버그 로그(도시되지 않음) 및 통지 로그(606)에서 로깅된다.
"Complete_Log_List"는 전체 통지 로그(606)의 사본이 보내질 모든 인터넷 URL들에 대한 엔트리들을 포함한다. 바람직하게는, 부가적인 URL들은 소비자의 시스템 관리자에 의해, 옵션 파일(6054)의 적절한 필드에 이들을 포함시킴으로써 원 리스트에 부가될 수 있다. URL들의 신택스는 "To_URL" 필드와 동일하다. 필드는 디지털 서명 산출에 포함될 필요가 없다.
"Error_Email"은 에러 메시지들이 보내질 모든 이메일 어드레스들에 대한 엔트리들을 포함한다. 각 이메일 어드레스에서, 보조 필드는 메시지의 언어(영어가 디폴트임)을 지정하기 위해 부가될 수 있다.
"Customer_Info"는 이름 및/또는 계약 번호 뿐만 아니라 다른 접촉 식별 번호에 의해 소비자를 식별하는 엔트리를 포함한다.
"Digital_Signature"는 통지 스케줄의 사전 지정된(예를 들어, "사인된") 필드들의 디지털 서명이며, 도 1의 백-엔드 서버(102)(또는 도 2 내지 5를 참조하여 기술된 것과 같은 다른 백-엔드 서버)에 의해 산출되는 엔트리가 포함된다.
라이센스 관리자(604)는 단방향 해쉬값(여기서 언급한 필드들을 배제하는)을 산출하고, "Digital_Signature" 필드를 암호화하는데 사용된 개인키에 대응부인 예를 들어, 공개키로 "Digital_Signature" 필드를 복호화하고, "Digital_Signature" 필드의 복호화된 값에 대해 산출된 단방향 해쉬값을 비교함으로써 통지 스케줄 라인이 검증된다. 2개의 값들이 정합하면, 라이센스 관리자(604)는 통지 스메줄 라인에 대응하는 기능을 인에이블(또는 라이센스된 소프트웨어에 이런 정합을 알려주어서, 상기와 같이 할수 있게 함)한다. 한편, 값들이 정합하지 않는 경우에는, 라이센스 관리자(604)에 의해 취해진 액션(들)은 대응하는 기능 라이센스 라인(들)의 "Report_Ready" 속성의 값에 의존한다. 그 값이 "REQUIRE"인 경우에는, 라이센스 관리자(604)는 기능을 인에이블하지 않고(또는 라이센스된 소프트웨어에 이런 비정합을 알려주어서, 상기 액션을 취하게 할 수 있게 함), 대응하는 에러 메시지 또는 경고는 "Error_Email" 어드레스, 디버그 로그(도시되지 않음) 및 통지 로그(606)에 보내진다. 그 값이 "WARNING-ONLY"인 경우에는, 라이센스 관리자(604)는 기능을 인에이블하고(또는, 라이센스된 소프트웨어에 인에이블 할수 있게 알려줌), 대응 에러 메시지 또는 경고는 "Error_Email" 어드레스, 디버그 로그(도시되지 않음) 및 통지 로그(606)에 보내진다. 그 값이 "NOT-REQUIRED"인 경우에는, 라이센스 관리자(604)는 기능을 인에이블하고(또는 라이센스된 소프트웨어에 인에이블 할 수 있도록 알려줌), 어떠한 경고도 "Error_Email" 어드레스로 보내지 않는다. 그러나, 이 경우에도, 에러는 디버그 로그(도시되지 않음) 및 통지 로그(606)에 여전히 보내진다.
라이센스의 통지 및 제어는 상술한 예에서, 기능 기반으로 수행되었기 때문에, 사용이 소프트웨어 제품 기반으로 인증가능 통지(612)에 또는 백-엔드 서버(102)(또는 도 2 내지 5를 참조하여 기술된 것과 같은 다른 백-엔드 서버)상에서 바람직하게 실행하는 백-엔드 소프트웨어에 통지될 수 있도록, 기능-제품 변환기를 통지 발생기(610)에 포함시키는 것이 유용하다. 영어 라벨에서 다른 언어들로의 통지의 번역을 용이하게 하기 위한 유틸리티가 옵션 파일(6054)에 나타난 소비자 선택들을 통해 통지 발생기(610)에 포함되는 것이 바람직하다.
인증가능 통지(612)를 발생할 때, 통지 발생기(610)는 라이센스된 소프트웨어에 대한 사용 정보 이외에 일정한 관리 정보를 인증가능 통지(612)에 포함한다. 예를 들어, 수정은 통지(612)를 더 이상 인증가능지 않게 하고, 따라서, 통지(612)를 수신하는 백-엔드 시스템들이 처리를 거절하게 할 수 있기 때문에, 통지(612)를 포함하는 파일이 임의의 방식으로 수정될 수 없다는 통지가 통지(612)의 상단에 제공된다. 일정한 다른 정보는 통지(612)의 헤더 또는 푸터(footer)에 배치되는 것이 또한 바람직하다. 통지(612)가 도 8을 참조하여 기술된 바와 같은 웹 쿼리 모듈(815) 또는 XML 태그들 사이의 "히든(hidden)"을 통해 보여질 때, 이전 정보가 디스플레이될 수 있는지를 나타내는 구성 스위치가 제공될 수 있다. 이러한 정보들의 예들로는 통지(612)에 대응하는 전체 통지 스케줄 라인, 사용이 통지되는 라이센스된 소프트웨어에 대해 라이센스 파일(605)에 포함된 라이센스 조건, 통지 로그들(606)의 시간 갭들 또는 통지상의 정보, 및 도 1의 프런트-엔드 서버(101)(또는 통지(612)를 발생 및/또는 송신하는 다른 프런트-엔드 서버 또는 컴퓨터)가 셧다운(shotdown) 및/또는 재시작될 때마다의 정보를 포함한다.
위에서 논의한 것 대부분은 인증가능 통지(612)가 소프트웨어 라이센스 사용 또는 기능에 대해 도 1의 프런트-엔드 서버(101)(또는 도 1 내지 5를 참조하여 기술된 바와 같은 다른 프런트-엔드 서버 또는 다른 프런트-엔드 컴퓨터)상에서 자동을 발생되는 상황에 관한 것이다. 그러나, 기능 라인들(6052) 및 통지 스케줄 라인들(6051)의 적절한 구성에 의해, 통지(612)의 자동 전송은 소비자 또는 라이센스 구매자만이 자발적인 방식에 기초하여 통지(612)를 전송할 수 있도록 억제될 수 있다. 또한, 라이센스 조건(6053)은 서비스의 거부(deny)가 라이센싱 모드이어야 함을 나타내는 경우, 라이센스 관리자(604)는 라이센스된 소프트웨어의 사용을 알맞게 제어하여 초과사용이 허용되지 않을 것이고, 통지 발생기(610)에 의해 발생된 임의의 통지들이 이것이 상기 경우라는 것을 나타낼 것이다.
도 8은 도 1을 참조하여 기술된 기능들을 수행하도록 구성하기 위한 백-엔드 서버(102)에 있는 소프트웨어 모듈 및 파일들의 블록도를 예로서 예시한다. 도 1 내지 5를 참조하여 기술된 것과 같은 다른 백-엔드 서버들 또는 컴퓨터들이 이 기능들을 또한 또는 대안적으로 수행하는 경우, 이하에 기술된 소프트웨어 모듈들 및 파일들은 상기 기능들을 수행하도록 이들을 구성하기 위해서 백-엔드 서버들상에 또한 있다.
캡쳐 제어기(801)는 도 1의 프런트-엔드 서버(101)와 같은 프런트-엔드 서버 또는 컴퓨터로부터 전송된 인증가능 통지(612)를 수신하고, 원 데이터(raw data)로서 이 인증가능 통지(612)를 데이터베이스 또는 파일 시스템(816)에 저장하고, 및 소비자 접촉 이름, 식별 번호, 파일 또는 리코드 위치 및 수신된 날짜/시간과 같은 정보를 포함하는 캡쳐 로그(804)의 리코드 또는 엔트리를 통해 인증가능 통지(612)의 수신을 나타내는 캡쳐 표시를 발생한다.
스케줄 테이블(803)은 다음 인증가능 통지들의 수신될 시기를 예상하는 정보를 포함하는 프런트-엔드 서버 또는 컴퓨터로부터 수신되도록 예상되는 전송 리스트를 포함한다. 전송에 대한 인증 정보는 스케줄 테이블에 또한 포함된다. 라이센스된 소프트웨어의 활성화 또는 재개시에 프런트-엔드 서버 또는 컴퓨터에 이전에 제공되었던, 라이센스 파일(605)의 통지 스케줄 라인들(6051)에 포함된 정보는 타이밍 및 인증에 대한 정보와 정합한다. 인증가능 통지(612)를 수신한 이후에(뿐만 아니라 그 후 각 통지를 수신한 이후), 캡쳐 제어기(801)는 다음 인증가능 통지가 수신될 때를 나타내도록 스케줄 테이블(803)의 정보를 업데이트한다.
검증 제어기(805)는 캡쳐 로그(804)에 다음 기록을 판독하고, 인증가능 통지(612)(도 12를 참조하여 기술된 바와 같은)를 인증함으로써 저장된 캡쳐 표시에 응답하고, 및 스케줄 테이블(803)의 정보에 따라 그 수신의 적시성을 검증한다. 수신된 인증가능 통지(612)는 인증되고, 그 타이밍이 적절히 검증되는 경우, 검증 제어기(805)는 스케줄 테이블(803)에 이러한 것을 나타내고, 검증 로그(806)에 리코드 또는 엔트리를 발생함으로써 검증 표시를 발생한다. 한편, 수신된 인증가능 통지(612)에 대한 인증 또는 타이밍이 실패하면, 도 11을 참조하여 기술된 에러 메시지 라우팅 및 복구 액션들이 수행된다.
계산기(807)는 검증 로그(806)의 다음 엔트리를 판독하고, 데이터 베이스 또는 파일 시스템(816)의 원 데이터(802)와 함께 바람직하게 저장된 정보 또는 처리된 데이터를 발생하도록 원 데이터(802)로서 저장된 인증가능 통지(612)로부터의 정보를 처리하기 위해 저장된 검증 표시에 응답한다. 그 후, 처리된 데이터(810)는 BOS 인터페이스(811)을 통해 ERP 소프트웨어(811), CRM 소프트웨어(812) 및 SFA 소프트웨어(813)와 같은 비지니스 동작 소프트웨어(BOS)에 액세스할 수 있다. 정보의 처리는 룰 파일(rules file; 808)로부터 판독된 룰들 및 파라미터 파일(809)로부터 판독된 파라미터들에 따라(또는 애플리케이션 소프트웨어를 통해) 수행된다. 예를 들어, 계산기(807)는 주간 사용 통지(weekly report)와 같이 짧은 기간들동안의 통지들을 분기별 사용 통지(quarterly report)와 같은 보다 긴 기간 동안의 요약 통지와 조합하는 단순 부가 기능을 수행할 수 있다.
BOS 목적을 위해, 처리된 정보는 라이센스된 기간(6053)이 초과했는지에 관한 정보 및 이러한 초과사용 정보를 포함한다. BOS 인터페이스(811)는 처리된 정보를 비지니스 동작 소프트웨어에 사용하기에 적절한 포맷으로 변환한다.
사용후 지불 비지니스 모델용 계산기에 의해 수행되는 중요 활동(significant activity)은 데이터베이스 또는 파일 시스템(816)의 사용 정보에 기초한 부가적인 라이센스들이 소비자에 의해 구매될 때를 나타내는 라이센스 트리거링 정보의 발생이다. 이 경우, 룰 파일(808)은 테스트 조건들을 지정하고, 테스트 조건이 만족되는 경우 액션이 수행되는 룰들의 XML 파일이다. 파라미터 파일(809)은 룰들을 규정하는데 사용된 파라미터들의 XML 파일이다. 룰들 및 파라미터들은 소비자가 현재 가지고 있는 라이센스의 수 및 소비자가 초과사용에 대한 임의의 특정 제한들 및 특권들을 제공받았는지 여부와 같은 소비자 특정 정보를 사용하여 정책들의 공통 세트가 인가될 수 있도록 분할된다.
다수의 단순한 예들은 이러한 라이센스 트리거링 정보의 발생을 예시하는 역할을 한다. 도 9는 월달력의 날들 각각에 대해 소비자의 일간 최고 라이센스 사용의 그래프인, 데이터 베이스 또는 파일 시스템(816)의 원 데이터(802)로부터 발생된 그래프를 예로서 예시한다. 이 예에서, 소비자는 30 라이센들을 소유하지만, 초과사용이 이 소비자에 허용되었기 때문에, 한달 중 다수의 경우, 30 보다 많이 사용된다. 다음의 표는 이 초과사용을 요약한다.
날짜 05 06 17 25 26 27 28 29
초과사용 4 6 8 2 4 9 6 1
다양한 다른 룰들은 라이센스 트리거링 정보를 발생하도록 상기 데이터를 처리하기 위해 계산기(807)에 의해 사용될 수 있다. 예를 들어, 소비자는 한달동안 최대 초과사용과 동일한 부가적인 라이센스들을 구매하는 것이 요구된다는 룰이 규정될 수 있다. 이 경우에, 한달동안의 최대 초과사용은 27일에 발생한 9 라이센스들이다. 이 룰은 보통 "벤더" 친향적으로 고려될 수 있다. 소비자는 한달동안 3일과 같은 협의된 임계치를 초과하는 초과사용과 동일한 부가적인 라이센스들을 구매하는 것이 요구되는 다른 룰이 규정될 수 있다. 이 경우에, 9라이센스들의 초과사용은 한달동안 단 1번(27일)만 발생했고, 8 이상의 라이센스들의 초과사용은 한달동안 단 2번(17일 및 27일)만 발생했지만, 6 이상의 라이센스들의 초과사용은 한달동안 4번(6일, 17일, 27일 및 28일) 발생했다. 그러므로, 이 룰을 사용하면, 계산기(807)에 의해 발생된 트리거링 정보는 6의 부가적인 라이센스들이 소비자에 의해 구매되어야 함을 나타낸다. 소비자는 3 일 연속과 같이 협의된 임계치를 초과하는 초과사용과 동일한 부가적인 라이센스들을 구매하는 것이 요구되는 또 다른 룰이 규정될 수 있다. 이 경우에, 계산기(807)에 의해 발생된 트리거링 정보는 한달 중 26일, 27일 및 28일에 발생한 4 이상의 라이센스들의 초과사용 때문에, 4 부가저인 라이센스들이 소비자에 의해 구매되어야 함을 나타내어야 한다. 이해한 것 처럼, 많은 다른 룰들이 도 9에 도시된 그래프 또는 다른 그래프들을 사용하여 소비자 사용에 기초하여 트리거링 라이센스 구매들을 위해 규정될 수 있다. 예를 들어, 라이센스된 소프트웨어 프로그램의 동시 사용자들의 수가 달, 주, 날의 시간 등에 대해 구획된(plotted) 다른 그래프가 발생될 수 있다. 이 예에서, 동시 사용자들의 라이센스된 수 이상의 초과사용을 가지는 누적된 시간들이 미리 규정된 수의 시간들을 초과하는 경우, 소비자는 일정한 수의 부가적인 라이센스들을 구매하는 것이 요구되는 다른 룰이 규정될 수 있다. 이는 이건에 논의된 캐스케이스 통지를 사용하여 이루어질 수 있다. 또한, 이런 및 다른 사용후 지불 비지니스 모델 룰들은 이전에 기술된 전체 기능 캐스케이드, 초과사용 기능 캐스캐이드, 상세된 초과사용 통지 로그, 누적 사용 추적, 누적 거래 라이센싱 및 사용당 지불과 같은 다양한 상이한 방식들로 구성된 사용 정보에 인가될 수 있다.
도 8을 다시 참조하여, 웹 쿼리 모듈(815)는 도 1의 프런트-엔드 컴퓨터들(104 내지 106) 또는 프런트-엔드 서버(101)와 같은 컴퓨터 또는 다른 컴퓨터상에서 실행중인 웹 브라우저를 통해 파일 시스템(816) 또는 데이터베이스의 쿼리들을 용이하게 한다. 웹 쿼리 모듈(815)로의 액세스는 예를 들어, 종래의 사용자 식별 및 패스워드 보호 체계를 통해 제어된다. 웹 쿼리 모듈(815)은 XML/HTML 파일들에서 대화하는 소프트웨어 성분들의 세트이다. 이는 XML의 태킹된 데이터 및 선택적인 HTML 포멧팅을 제공하여 일부 다른 시스템들이 HTML 페이지를 쉽게 열수 있다. 바람직하게는, 쿼리들은 소비자 이름, 소비자 접촉, 호스트 컴퓨터 식별, 통지 스케줄 이름 또는 쿼리를 만드는 부(party) 또는 소비자 또는 벤더에 의해 인가된 부들에만 인가되는 기능 이름과 같은 파라미터들을 포함하는 특정 검색들로 제한된다. 또한, 예를 들어, ERP 시스템이 라이센스된 소프트웨어에 대한 인보이스 스테이트먼트(invoice statement)를 소비자에게 되돌려 보내는 시스템에서, 웹 쿼리 모듈(815)를 통해 지정된 시간 기간동안 라이센스된 소프트웨어의 사용 및/또는 초과사용과 같은, 인증된 통지에 전송된 다른 정보 뿐만 아니라, 현재 및 과거 인보이스 및 사용서를 사용자가 판독하는 데 유용하다. XML 태깅을 갖는 데이터를 사용하는 이런 웹 인터페이스를 통해, 소프트웨어 소비자는 웹 서비스 접근을 사용하여 소프트웨어 자산 관리 정보를 제공하도록 인보이싱 및 사용 정보를 추출할 수 있고, 상기 웹 서비스 접근은 그 후, 소비자의 ERP 또는 소프트웨어자산 관리 또는 소프트웨어 인벤토리 시스템내에 집적될 수 있다.
도 10 내지 12는 사용후 지불 비지니스 모델 목적들을 위해 라이센스된 소프트웨어의 사용을 이포팅하는 방법을 예로서 예시하며, 여기서, 도 10은 도 1의 프런트-엔드 서버(101)(도 1 내지 5를 참조하여 기술된 것과 같은 것을 포함하는 다른 프런트-엔드 서버 또는 컴퓨터)와 같은 프런트-엔드 서버상에서 수행되는 방법의 프런트-엔드 부분을 예시하고, 도 11은 도 1의 백-엔드 서버(102)(도 1 내지 5를 참조하여 기술된 것과 같은 것을 포함하는 다른 백-엔드 서버 또는 컴퓨터)와 같은 백-엔드 서버상에서 수행되는 방법의 백-엔드 부분을 예시하며, 도 12는 상기 방법의 백-엔드 부분에 대한 에러 핸들링의 부가적인 상세들을 기술한다. 도 1 내지 5를 참조하여 기술된 바와 같이, 이 경우, 라이센스된 소프트웨어는 도 1의 101과 같은 백-엔드 서버들에서 뿐만 아니라 도 1의 104 내지 106과 같은 프런트-엔드 컴퓨터들상에서 또한 분배된다.
도 10의 1001에서, 통지 스케줄(6051)에 저장된 정보와 함께 라이센스된 소프트웨어 사용의 인증가능 통지를 벤더 목적지(destination)로 송신하는 시간이 예를 들어, 도 6의 에이전트(608)와 같은 에이전트에 의해 결정된다. 인증가능 통지를 발생하기 이전, 1002 및 1003에서, 통지 발생기 및 구성 파일의 진정성, 및 라이센스 관리자 및 통지 발생기의 구성이 검증된다. 이 경우, 도 6의 통지 발생기(610)와 같은 통지 발생기가 통지를 발생시키기 위해 사용된다. 도 6의 통지 로그(606)와 같은 통지 로그의 정보로부터 통지를 발생하기 이전에 또는 동시에, 통지 발생기 또는 라이센스 관리자는 통지 로그 데이터가 변조(tamper)되었는지를 인증 또는 검증하는 것이 또한 바람직하다.
도 6의 구성 파일(611)과 같은 구성 파일은 통지의 선택된 컨텐츠 및 포맷을 규정하기 위해 사용된다. 도 6의 라이센스 관리자(604)와 같은 라이센스 관리자는 무엇보다도 통지의 전송을 스케줄링하기 위해 사용되는 것이 바람직하다. 대안적으로, 이 기능은 도 6의 에이전트(608)처럼 수행하는 다른 독립된 에이전트에 의해 수행될 수 있다. 1004에서, 통지 발생기는 구성 파일에 규정된 통지 포맷에 따라 라이센스 구매자에 의한 라이센스된 소프트웨어의 사용의 정보를 포함하는 인증가능 통지를 발생하도록 활성화된다. 통지의 발생은 통지가 시작하는 미리 지정된 날짜 및 시간 인터벌, 통지가 전송될 위치 및 보안 목적을 위해 사용되는 적어도 하나의 디지털 서명(도 7을 참조하여 기술된 것과 같은)과 같은 통지 스케줄에 포함된 정보에 따른다. 인증가능 통지의 발생에서, 디지털 서명은 통지의 본문상의 단방향 해쉬값을 산툴하고, 통지 스케줄을 복호화하는데 사용되는 공개키로 단방향 해쉬값을 암호화하며, 인증가능 통지에 포함된 헤더 또는 푸터의 "Digital_Signature" 필드에 암호화된 단방향 해쉬값(즉, 디지털 서명)을 삽입함으로써 발생된다. 1005에서, 그 후, 인증가능 통지는 SSL(Secure Sockets Layer) 프로토콜 또는 암호화된 이메일 첨부 또는 메시징을 위해 사용된 다른 네트워킹 프로토콜을 사용하여, 직접-다이얼 업 또는 인터넷을 통해 소비자 소스 사이트로부터 벤더 목적지에 안전하게 전송된다.
도 11의 1101에서, 인증가능 통지는 벤더의 지정된 목적지에서 수신된다. 1102에서, 수신된 인증가능 통지는 데이터베이스 또는 파일 시스템에 원 데이터로서 저장된다. 1103에서, 도달할 새로운 통지가 스케줄링된 시점을 나타내는 엔트리를 포함하는 스케줄 테이블은 업데이트된다. 스케줄 테이블의 정보는 통지 스케줄의 정보와 정합 및 대응하여, 인증가능 통지는 프런트-엔드 서버측에서 공지된 시간에 발생될 수 있고, 그 후, 백-엔드 서버측에서 인증된다. 1104에서, 인증가능 통지가 수신되었음을 나타내는 캡쳐 로그에서 엔트리가 만들어진다. 1105에서, 인증가능 통지는 스케줄 테이블(도 12의 동작(1201)를 참조하여 기술된 것과 같은)의 정보에 따라 인증된다. 1106에서, 인증가능 통지의 적시성(timeliness)이 스케줄 테이블의 정보에 따라 검증되고, 1107에서, 성공적인 수신 및 검증이 스케줄 테이블에 나타난다. 1108에서, 인증가능 통지가 수신 및 검증되었을을 나타내는 검증 로그에서 엔트리가 만들어진다. 1109에서, 처리된 데이터 또는 정보는, 인증된 경우, 데이터 베이스 또는 파일 시스템에 저장된 인증가능 통지들의 원데이터로부터 발생되고, 1110에서, 처리된 데이터 또는 정보는 사용후 지불 비지니스 모델 목적들용의 비지니스 동작 소프트웨어에 제공된다.
도 12는 도 11을 참조하여 기술된 방법의 백-엔드 부분의 1105-1108 수행동안 인증의 핸들링 및 검증 실패들을 예시한다. 1201에서, 인증가능 통지의 인증이 수행된다. 이는 예를 들어, 인증가능 통지(헤더들 및 푸터들을 배제함)의 본문상에서 단방향 해쉬값(도 10의 1004를 참조하여 기술된 바와 같은 "Digital_Signature" 필드를 발생하는데 사용된 것과 동일한 알고리즘을 사용함)을 산출하고, 통지의 헤더 또는 푸터에 포함된 "Digital_Signature"를 벤더의 개인키로 복호하고, 및 산출된 단방향 해쉬값을 통지의 "Digital_Signature"필드의 복호화된 엔트리와 비교함으로써 완료된다.
이제, 인증이 1201에서 실패한 경우에는(즉, 두 디지털 서명들이 정합하지 않음), 1202에서, 이런 실패는 나타내는 에러 메시지는 액션을 위해 벤더의 직원에게 통지된다. 인증 실패는 소비자가 가짜 통지의 제출의 시도를 나타낼 수 있기 때문에, 특히 심각한 에러로 고려된다. 그러므로, 이런 타입의 에러의 특별한 핸들링이 요구될 수 있다.
한편, 통지(612)의 인증이 성공적이면(즉, 두 디지털 서명들이 정합함), 1203에서, 통지 스케줄 라인의 정보가 통지(612)가 수신된 방법과 정합하는지를 다음으로 결정한다. 예를 들어, 통지(612)가 제공된 통지 스케줄 라인의 "Schedule" 필드에 적절한 엔트리에 따라 알맞은 방식으로 통지(612)가 발생되었는지를 결정한다. 또한, 통지(612)가 제공된 통지 스케줄 라인의 "From_URL" 필드의 엔트리와 정합하는 인터넷 URL로부터 통지(612)가 수신되었는지를 결정한다. 또한, 통지(612)가 제공된 통지 스케줄 라인의 "Customer_Info"필드의 적절한 엔트리에 따라 정당한 소비자로부터 통지(612)가 수신되었는지를 결정한다. 통지(12)가 제공된 통지 스케줄 라인에서 그들의 대응부들과 비교되는 임의의 이런 아이템들이 실패하는 경우에는, 1204에서, 예를 들어, 통지(612)가 제공된 통지 스케줄 라인의 "Error_Email" 필드(들)의 적절한 어드레스들로 이메일을 보냄으로써 적절한 에러 메시지가 보내진다. 이하의 다른 경우 뿐만 아니라 이 경우에, 적절한 어드레스들은 통지(612)가 제공된 통지 스케줄 라인의 "Overdue-Schedule"의 엔트리들로부터 결정될 수 있다.
한편, 통지 스케줄 라이의 정보가 통지(612)가 수신된 방법 정합하는 경우, (1205)에서, 임의의 시간 인터벌 통지들이 통지(612)에서 스킵되었는지를 결정한다. 도 6을 참조하여 기술된 바와 같이, 통지(612)는 통지 로그(606)에서 마지막 "N" 발생된 시간 간격 통지들로부터의 정보를 포함하는 것이 바람직하며, 여기서, "N"은 정수이다. 시간 간격 통지들이 스킵되지 않은 경우에는, 1207에서, 통지(612)의 정보는 예를 들어, 이전에 수신된 인증가능 통지들에 제공된 정보가 마지막 수신된 통지(612)의 정보와 적어도 일치하거나 정합함을 확인함으로써 검증된다. 정보가 검증되지 않은 경우, 1208에서, 예를 들어, 통지(612)가 제공된 통지 스케줄 라인의 "Error_Email" 필드(들)의 적절한 어드레스에 이메일을 보냄으로써 적절한 에러 메시지가 보내진다. 또한, 시스템은 CRM 또는 다른 소비자 지원 시스템으로 이벤트를 트리거할 수 있다. 한편, 정보가 검증되는 경우, 1209에서, 통지(612)가 통과한 날짜 및 시간과 함께 스케줄 테이블(803)에 이런 표시(indication)가 기록되고, 통지는 계산기(807)가 처리할 준비가 되었음을 나타내도록 검증 로그(806)에 이런 성공의 표시가 기록된다.
시간 인터벌 통지가 스킵되었다는 결정이 1206에서 이루어지면, 1206에서, 예를 들어, 통지(612)가 제공된 통지 스케줄 라인의 "Error_Email" 필드(들)의 적절한 어드레스에 이메일을 보냄으로써 적절한 에러 메시지가 보내진다. 시스템은 CRM 또는 다른 소비자 지원 시스템으로 이벤트들을 또한 트리거할 수 있다. 1210으로 진행하여, 누락 시간 인터벌 통지가 과거 수신된 인증가능 통지 통지들로부터 "보충가능(fillable)"한 것인지를 결정한다. 예를 들어, 이전에 수신된 인증가능 통지 통지에서, 시간 인터벌(T1, T2 및 T3)의 사용 정보가 현재 수신된 인증가능 통지(612)가 아닌, 대응하는 시간 인터벌 통지들(R(1), R(2) 및 R(3))에 대해 수신되는 경우, 시간 인터벌들(T4 및 T2)에 대한 사용 정보만이 시간 인터벌 통지들(R(4) 및 R(2))에 대해 수신되고, 이어서, 시간 인터벌(T3)의 스킵된 정보는 이전에 수신된 인증가능 통지에서 수신된 시간 인터벌 통지(R(3))로부터 보충 가능하다. 스킵된 시간 인터벌 통지가 보충 가능한 경우에서, 방법은 1207로 넘어가고, 상술한 1207 내지 1209를 참조하여 기술된 바와 같이 진행한다. 한편, 스킵된 시간 인터벌 통지가 보충가능하지 않는 경우에는, 1211에서, 누락 시간 인터벌 통지들의 갭(gap)이 미리 규정된 임계수(threshold number)보다 큰지를 다음으로 결정하다. 임계수가 상이한 소비자에 대해서 상이할 수 있고, 도 1 내지 5를 참조하여 기술된 것과 같이 백-엔드 서버상의 테이블에 규정된다. 소비자가 테이블에 엔트리를 갖지 않는 경우에는, 디폴트 값이 사용될 수 있다. 갭이 과도하다고 결정되는 경우(즉, 미리 규정된 임계수보다 큰 경우), 예를 들어, 통지(612)가 제공된 통지 스케줄 라인의 "Error_Email" 필드(들)의 적절한 어드레스에 이메일을 보냄으로써 적절한 에러 메시지가 보내진다. 또한, 시스템은 CRM 또는 다른 소비자 지원 시스템으로 이벤트들을 트리거할 수 있다. 한편, 갭이 과도하지 않다고 결정되면, 방법은 1207로 넘어가고, 상기 1207 내지 1209를 참조하여 기술된 바와 같이 진행한다. 임의의 이벤트에서, 갭은 후속적으로 수신된 인증가능 통지들에 포함된 정보로부터 보충될 수 있다.
본 발명의 다양한 측면들이 바람직한 실시예와 관련하여 기술되었지만, 본 발명은 첨부된 청구범위의 전체 범위내에서 완전환 보호를 받는다는 것을 알 것이다.

Claims (83)

  1. 사용후 지불 비지니스 모델들(post-use payment business model)용에 구성가능한 소프트웨어 라이센스 관리 시스템에 있어서:
    라이센스된 소프트웨어의 사용을 제어하고, 통지 스케줄에 따라 상기 사용의 정보를 포함하는 인증가능 통지를 발생하고, 상기 인증가능 통지를 지정된 목적지에 안전하게 전송하도록 구성된 프런트-엔드 서버(front-end server); 및
    상기 지정된 목적지에 대응하며, 상기 인증가능 통지를 수신하고, 상기 인증가능 통지가 그 발생 이후 변조되지 않았는지를 확인하기 위해 상기 인증가능 통지를 인증하고, 상기 인증가능 통지를 처리하여 처리된 정보를 발생하고, 상기 처리된 정보를 사용후 지불 비지니스 모델 목적용의 비지니스 동작 소프트웨어(business operations software)에 제공하도록 구성된 백-엔드 서버(back-end server)를 포함하는, 소프트웨어 라이센스 관리 시스템.
  2. 제 1 항에 있어서,
    상기 라이센스된 소프트웨어는 상기 프런트-엔드 서버를 포함하는 네트워크내의 컴퓨터들상에 분배되는, 소프트웨어 라이센스 관리 시스템.
  3. 제 1 항에 있어서,
    상기 프런트-엔드 서버는:
    상기 통지 스케줄 및 상기 라이센스된 소프트웨어에 대한 라이센스 조건들을 포함하는 라이센스 파일;
    상기 라이센스된 소프트웨어의 사용을 제어하고, 상기 사용의 통지 로그(report log)를 생성하는 라이센스 관리자; 및
    상기 통지 스케줄의 정보에 따라 및 상기 통지 로그내의 정보로부터 상기 인증가능 통지를 발생하는 통지 발생기를 포함하는, 소프트웨어 라이센스 관리 시스템.
  4. 제 3 항에 있어서,
    상기 인증가능 통지를 위해 적어도 하나의 디지털 서명이 사용되는, 소프트웨어 라이센스 관리 시스템.
  5. 제 3 항에 있어서,
    상기 라이센스 관리자는, 상기 통지 발생기가 상기 통지 로그내의 상기 정보로부터 상기 인증가능 통지를 발생하기 전에 상기 통지 스케줄내의 정보에 따라 상기 통지 발생기의 진정성(authenticity)을 검증하는, 소프트웨어 라이센스 관리 시스템.
  6. 제 3 항에 있어서,
    상기 라이센스 관리자는, 상기 라이센스된 소프트웨어의 사용이 상기 라이센스 조건들을 초과하는 것을 허용하기 전에, 상기 통지 스케줄내의 정보에 따라 상기 통지 발생기의 진정성을 검증하는, 소프트웨어 라이센스 관리 시스템.
  7. 제 3 항에 있어서,
    상기 프런트-엔드 서버는, 상기 통지 발생기가 상기 인증가능 통지를 발생하게 하고, 상기 인증가능 통지가 상기 통지 스케줄내의 정보에 따라 상기 지정된 목적지에 안전하게 전송되게 하는 에이전트(agent)를 더 포함하는, 소프트웨어 라이센스 관리 시스템.
  8. 제 7 항에 있어서,
    상기 백-엔드 서버는 상기 인증가능 통지를 수신하고, 상기 인증가능 통지를 파일로서 저장하며, 상기 인증가능 통지의 수신을 나타내는 캡쳐 표시(capture indication)를 발생하는 캡쳐 제어기를 포함하는, 소프트웨어 라이센스 관리 시스템.
  9. 제 8 항에 있어서,
    상기 백-엔드 서버는 상기 프런트-엔드 서버로부터 다음 통지(next report)가 수신되도록 스케줄링된 시점에 관한 정보를 포함하는 스케줄 테이블을 더 포함하고, 상기 캡쳐 제어기는 상기 프런트-엔드 서버로부터 상기 인증가능 통지를 수신한 후에, 다음 통지가 수신되도록 스케줄링된 시점에 관한 상기 정보를 업데이트하는, 소프트웨어 라이센스 관리 시스템.
  10. 제 9 항에 있어서,
    상기 백-엔드 서버는 상기 인증가능 통지의 적시성(timeliness)을 검증하고, 상기 스케줄 테이블의 상기 정보에 따라 상기 인증가능 통지를 인증하도록 상기 캡쳐 표시에 응답하여, 상기 스케줄 테이블의 성공적인 검증 및 인증을 나타내고, 상기 인증가능 통지의 성공적인 검증 및 인증시에 검증 표시를 발생하는 검증 제어기를 더 포함하는, 소프트웨어 라이센스 관리 시스템.
  11. 제 10 항에 있어서,
    상기 백-엔드 서버는 상기 인증가능 통지를 처리하여 상기 처리된 정보를 발생하도록 상기 검증 표시에 응답하는 계산기를 더 포함하는, 소프트웨어 라이센스 관리 시스템.
  12. 제 11 항에 있어서,
    상기 처리된 정보는, 상기 라이센스 조건들이 초과하였는지에 관한 정보를 포함하는, 소프트웨어 라이센스 관리 시스템.
  13. 제 11 항에 있어서,
    상기 인증가능 통지는 XML 태그들을 가진 HTML 파일인, 소프트웨어 라이센스 관리 시스템.
  14. 제 11 항에 있어서,
    상기 백-엔드 서버는 애플리케이션 소프트웨어에 의한 상기 인증가능 통지를 저장하는 상기 파일의 쿼리들(queries)을 용이하게 하는 웹 쿼리 모듈(web query module)을 더 포함하는, 소프트웨어 라이센스 관리 시스템.
  15. 제 11 항에 있어서,
    상기 백-엔드 서버는 웹 브라우저를 통해 상기 인증가능 통지를 저장하는 상기 파일의 쿼리들을 용이하게 하는 웹 쿼리 모듈을 더 포함하는, 소프트웨어 라이센스 관리 시스템.
  16. 제 15 항에 있어서,
    상기 웹 브라우저는 상기 프런트-엔드 서버를 포함하는 네트워크내의 컴퓨터상에서 실행되는, 소프트웨어 라이센스 관리 시스템.
  17. 제 1 항에 있어서,
    상기 프런트-엔드 서버는 보안 소켓 레이어 프로토콜(secure sockets layer protocol)을 사용하여 인터넷을 통해 상기 지정된 목적지에 상기 인증가능 통지를 안전하게 전송하는, 소프트웨어 라이센스 관리 시스템.
  18. 제 1 항에 있어서,
    상기 프런트-엔드 서버는 암호화된 이메일 첨부(attachment)를 사용하여 인터넷을 통해 상기 지정된 목적지에 상기 인증가능 통지를 안전하게 전송하는, 소프트웨어 라이센스 관리 시스템.
  19. 사용후 지불 비지니스 모델들용에 구성가능한 소프트웨어 라이센스 관리 시스템에 있어서:
    통지 스케줄에 따라 소비자에 의한 라이센스된 소프트웨어의 사용의 정보를 포함하는 인증가능 통지를 발생하고, 상기 인증가능 통지를 상기 라이센스된 소프트웨어의 벤더에 의해 지정된 목적지에 안전하게 전송하기 위한 인증가능 통지 발생 및 전송 수단; 및
    상기 목적지에 대응하며, 사용후 지불 비지니스 모델 목적들용의 비지니스 동작 소프트웨어에 제공될 처리된 정보를 발생하기 위해, 상기 인증가능 통지를 수신하고, 상기 인증가능 통지가 그 발생 이후 변조되지 않았는지를 확인하기 위해 상기 인증가능 통지를 인증하고, 상기 인증가능 통지를 처리하기 위한 수단을 포함하는, 소프트웨어 라이센스 관리 시스템.
  20. 제 19 항에 있어서,
    상기 라이센스된 소프트웨어는 상기 인증가능 통지 발생 및 전송 수단을 포함하는 네트워크내의 컴퓨터들상에 분배되는, 소프트웨어 라이센스 관리 시스템.
  21. 제 19 항에 있어서,
    상기 인증가능 통지 발생 및 전송 수단은,
    상기 통지 스케줄 및 상기 라이센스된 소프트웨어에 대한 라이센스 조건들을 포함하는 라이센스 파일;
    상기 라이센스된 소프트웨어의 사용을 제어하고, 상기 사용의 통지 로그를 생성하는 라이센스 관리자; 및
    상기 통지 스케줄의 정보에 따라 상기 통지 로그내의 정보로부터 상기 인증가능 통지를 발생하는 통지 발생기를 포함하는, 소프트웨어 라이센스 관리 시스템.
  22. 제 21 항에 있어서,
    적어도 하나의 디지털 서명은 상기 인증가능 통지를 인증하기 위해 사용되는, 소프트웨어 라이센스 관리 시스템.
  23. 제 21 항에 있어서,
    상기 라이센스 관리자는, 상기 통지 발생기가 상기 통지 로그내의 정보로부터 상기 인증가능 통지를 발생하기 전에 상기 통지 발생기의 진정성을 검증하는, 소프트웨어 라이센스 관리 시스템.
  24. 제 21 항에 있어서,
    상기 라이센스 관리자는, 상기 라이센스된 소프트웨어의 사용이 상기 라이센스 조건들을 초과하는 것을 허용하기 전에 상기 통지 발생기의 진정성을 검증하는, 소프트웨어 라이센스 관리 시스템.
  25. 제 21 항에 있어서,
    상기 인증가능 통지 발생 및 전송 수단은 상기 통지 발생기를 활성화하여, 상기 인증가능 통지가 상기 통지 스케줄내의 정보에 따라 상기 지정된 목적지에 안전하게 전송되게 하는 상기 벤더에 의해 제공된 에이전트를 더 포함하는, 소프트웨어 라이센스 관리 시스템.
  26. 제 25 항에 있어서,
    상기 인증가능 통지 수신, 인증 및 처리 수단은 상기 인증가능 통지를 수신하고, 상기 인증가능 통지를 파일로서 저장하고, 상기 인증가능 통지의 수신을 나타내는 캡쳐 로그에 캡쳐 표시를 발생하는 캡쳐 제어기를 포함하는, 소프트웨어 라이센스 관리 시스템.
  27. 제 26 항에 있어서,
    상기 인증가능 통지 수신, 인증 및 처리 수단은 상기 인증가능 통지 발생 및 전송 수단으로부터 다음 통지가 수신되도록 스케줄링된 시점에 관한 정보를 포함하는 스케줄 테이블을 더 포함하고, 상기 캡쳐 제어기는 상기 인증가능 통지를 수신한 후에 다음 통지가 수신되도록 스케줄링된 시점에 관한 상기 정보를 업데이트하는, 소프트웨어 라이센스 관리 시스템.
  28. 제 27 항에 있어서,
    상기 인증가능 통지 수신, 인증 및 처리 수단은 상기 인증가능 통지의 적시성을 검증하고, 상기 스케줄 테이블의 상기 정보에 따라 상기 인증가능 통지를 인증하도록 상기 캡쳐 표시에 응답하여, 성공적인 검증 및 인증을 상기 스케줄 테이블에 나타내고, 상기 인증가능 통지의 성공적인 검증 및 인증시에 검증 로그에 검증 표시를 발생하는 검증 제어기를 더 포함하는, 소프트웨어 라이센스 관리 시스템.
  29. 제 28 항에 있어서,
    상기 인증가능 통지 수신, 인증 및 처리 수단은 상기 인증가능 통지 통지를 처리하여 상기 처리된 정보를 발생하도록 상기 검증 표시에 응답하는 계산기를 더 포함하는, 소프트웨어 라이센스 관리 시스템.
  30. 제 29 항에 있어서,
    상기 처리된 정보는, 상기 라이센스 조건들이 초과하였는지에 관한 정보를 포함하는, 소프트웨어 라이센스 관리 시스템.
  31. 제 29 항에 있어서,
    상기 인증가능 통지는 XML 태그들을 가진 HTML 파일인, 소프트웨어 라이센스 관리 시스템.
  32. 제 29 항에 있어서,
    상기 인증가능 통지 수신, 인증 및 처리 수단은 애플리케이션 소프트웨어에 의한 상기 인증가능 통지를 저장하는 상기 파일의 쿼리들을 용이하게 하는 웹 쿼리 모듈을 더 포함하는, 소프트웨어 라이센스 관리 시스템.
  33. 제 29 항에 있어서,
    상기 인증가능 통지 수신, 인증 및 처리 수단은 웹 브라우저를 통해 상기 인증가능 통지를 저장하는 상기 파일의 쿼리들을 용이하게 하는 웹 쿼리 모듈을 더 포함하는, 소프트웨어 라이센스 관리 시스템.
  34. 제 33 항에 있어서,
    상기 웹 브라우저는 상기 인증가능 통지 발생 및 전송 수단을 포함하는 네트워크내의 컴퓨터상에서 실행되는, 소프트웨어 라이센스 관리 시스템.
  35. 제 19 항에 있어서,
    상기 인증가능 통지 발생 및 전송 수단은 보안 소켓 레이어 프로토콜을 사용하여 인터넷을 통해 상기 지정된 목적지에 상기 인증가능 통지를 안전하게 전송하는, 소프트웨어 라이센스 관리 시스템.
  36. 제 19 항에 있어서,
    상기 인증가능 통지 발생 및 전송 수단은 암호화된 이메일 첨부를 사용하여 상기 지정된 목적지에 상기 인증가능 통지를 안전하게 전송하는, 소프트웨어 라이센스 관리 시스템.
  37. 사용후 지불 비지니스 모델용의 라이센스된 소프트웨어의 사용을 통지하는 방법에 있어서:
    통지 스케줄에 따라 라이센스 구매자(licensee)에 의한 라이센스된 소프트웨어의 사용의 정보를 포함하는 인증가능 통지를 발생하는 단계;
    상기 인증가능 통지를 소비자 지정 소스로부터 벤더 지정 목적지로 전송하는 단계;
    상기 인증가능 통지를 상기 벤더 지정 목적지에서 수신 및 인증하는 단계; 및
    상기 인증가능 통지가 그 발생 이후 변조되지 않았는지를 확인하기 위해 인증된 경우, 사용후 지불 비지니스 모델 목적용의 비지니스 동작 소프트웨어에 제공되도록 상기 인증된 통지로부터 처리된 정보를 발생하는 단계를 포함하는, 라이센스된 소프트웨어의 사용 통지 방법.
  38. 제 37 항에 있어서,
    상기 라이센스된 소프트웨어는 네트워크내의 컴퓨터들상에 분배되는, 라이센스된 소프트웨어의 사용 통지 방법.
  39. 제 37 항에 있어서,
    상기 인증가능 통지를 발생시에 적어도 하나의 디지털 서명이 사용되는, 라이센스된 소프트웨어의 사용 통지 방법.
  40. 제 37 항에 있어서,
    상기 인증가능 통지를 소비자 지정 소스로부터 벤더 지정 목적지로 전송하는 단계는, 보안 소켓 레이어 프로토콜을 사용하여 인터넷을 통해 상기 인증가능 통지를 전송하는 단계를 포함하는, 라이센스된 소프트웨어의 사용 통지 방법.
  41. 제 37 항에 있어서,
    상기 인증가능 통지를 소비자 지정 소스로부터 벤더 지정 목적지로 전송하는 단계는, 암호화된 이메일 첨부를 사용하여 상기 인증가능 통지를 전송하는 단계를 포함하는, 라이센스된 소프트웨어의 사용 통지 방법.
  42. 제 37 항에 있어서,
    상기 인증가능 통지를 상기 벤더 지정 목적지에서 수신 및 인증하는 단계는, 상기 통지 스케줄의 정보에 대응하는 스케줄 테이블의 정보에 따라 상기 인증가능 통지를 인증하는 단계를 포함하는, 라이센스된 소프트웨어의 사용 통지 방법.
  43. 제 37 항에 있어서,
    상기 통지 스케줄의 정보에 대응하는 스케줄 테이블의 정보에 따라 상기 인증가능 통지를 수신하는 상기 적시성을 검증하는 단계를 더 포함하는, 라이센스된 소프트웨어의 사용 통지 방법.
  44. 제 37 항에 있어서,
    상기 비지니스 동작 소프트웨어에 제공되도록 상기 인증된 통지로부터 처리된 정보를 발생하는 단계는, 상기 라이센스된 소프트웨어의 라이센스 조건들을 초과하는 사용의 정보를 발생하는 단계를 포함하는, 라이센스된 소프트웨어의 사용 통지 방법.
  45. 라이센스 조건들을 초과한 라이센스된 소프트웨어의 초과사용(overusage)을 조건부로 허용하고, 상기 인증가능 통지의 성공적인 인증이, 상기 인증가능 통지가 그 발생 이후 변조되지 않았음을 나타내도록 상기 초과사용의 정보를 포함하는 인증가능 통지를 발생하고, 사용후 지불 비지니스 모델용의 목적지에 상기 인증가능 통지를 전송하도록 구성된 적어도 하나의 컴퓨터를 포함하는 장치.
  46. 제 45 항에 있어서,
    상기 라이센스된 소프트웨어의 사본들은 상기 적어도 하나의 컴퓨터에 통신적으로 결합된 하나 이상의 컴퓨터들상에서 상기 라이센스 조건들에 따라 분배가능한, 장치.
  47. 제 45 항에 있어서,
    상기 초과사용은 상기 적어도 하나의 컴퓨터중 대응하는 컴퓨터들에 의해 개별적으로 관리되는 하나 이상의 통지 로그들에 기록되는, 장치.
  48. 제 47 항에 있어서,
    상기 하나 이상의 통지 로그들은, 상기 적어도 하나의 컴퓨터중 상기 대응하는 컴퓨터들 중 하나가 오동작하는 경우, 상기 하나 이상의 통지 로그들 중 적어도 다른 하나는 상기 적어도 하나의 컴퓨터중 상기 오동작하는 컴퓨터의 상기 통지 로그를 정정하는데 사용가능한 정정 정보를 포함하도록 중복 정보를 포함하는, 장치.
  49. 제 47 항에 있어서,
    상기 하나 이상의 통지 로그들은 상이한 통지 엔티티들(entities)에 대응하는 비-중복 정보(non-redundant information)를 포함하는, 장치
  50. 제 45 항에 있어서,
    상기 적어도 하나의 컴퓨터는 또한 상기 적어도 하나의 컴퓨터에 의해 이전의 인증가능 통지에 제공된 복수의 제 2 시간 기간들에 대한 정보와 중복하기 위해 상기 인증가능 통지의 복수의 제 1 시간 기간들에 대한 정보를 제공하도록 구성되는, 장치.
  51. 제 45 항에 있어서,
    상기 적어도 하나의 컴퓨터들 각각은:
    통지 스케줄 및 상기 라이센스 조건들을 포함하는 라이센스 정보;
    상기 라이센스된 소프트웨어의 사용을 제어하여, 상기 사용의 통지 로그를 생성하는 라이센스 관리자; 및
    상기 통지 스케줄의 정보에 따라 상기 통지 로그내의 정보로부터 상기 인증가능 통지를 발생하는 통지 발생기를 포함하는, 장치.
  52. 제 51 항에 있어서,
    상기 인증가능 통지를 인증하기 위해 적어도 하나의 디지털 서명이 사용되는, 장치.
  53. 제 51 항에 있어서,
    상기 라이센스 관리자는, 상기 인증가능 통지가 상기 목적지에 전송되기 전에 상기 통지 스케줄내의 정보에 따라 상기 통지 발생기의 진정성을 검증하는, 장치.
  54. 제 51 항에 있어서,
    상기 적어도 하나의 컴퓨터들 각각은 상기 인증가능 통지에 대한 포맷을 나타내는 구성 파일을 더 포함하고, 상기 라이센스 관리자는, 상기 인증가능 통지가 상기 목적지에 전송되기 전에 상기 통지 스케줄내의 정보에 따라 상기 구성 파일의 진정성을 검증하는, 장치.
  55. 제 51 항에 있어서,
    상기 라이센스 관리자는 상기 라이센스된 소프트웨어의 상기 초과사용을 허용하기 전에 상기 통지 스케줄내의 정보에 따라 상기 통지 발생기의 진정성을 검증하는, 장치.
  56. 제 51 항에 있어서,
    상기 라이센스 관리자는, 상기 통지 발생기가 상기 통지 스케줄의 시간 정보에 따라 상기 인증가능 통지를 발생하게 하는, 장치.
  57. 라이센스된 소프트웨어의 사용을 통지하는 방법에 있어서,
    복수의 인증가능 통지들 각각이 소프트웨어 모듈에 의해 발생된 상기 복수의 인증가능 통지들 중 직전 및 직후의 인증가능 통지와 중복하는 복수의 시간 기간들에 대한 라이센스된 소프트웨어의 사용의 정보를 포함하도록, 스케줄링된 시점에 상기 복수의 인증가능 통지들을 발생하도록 적응된 소프트웨어 모듈을 제공하는 단계를 포함하는, 라이센스된 소프트웨어의 사용 통지 방법.
  58. 제 57 항에 있어서,
    상기 소프트웨어 모듈에 의해 발생된 인증가능 통지를 목적지에 전송하기 전의 각 시점에 상기 소프트웨어 모듈의 진정성을 검증하는 단계를 더 포함하는, 라이센스된 소프트웨어의 사용 통지 방법.
  59. 제 57 항에 있어서,
    상기 라이센스된 소프트웨어의 초과사용을 허용하기 전의 각 시점에 상기 소프트웨어 모듈의 진정성을 검증하는 단계를 더 포함하는, 라이센스된 소프트웨어의 사용 통지 방법.
  60. 라이센스된 소프트웨어의 사용을 통지하는 방법에 있어서,
    카운트된 컴퓨터 리소스의 N, N-1, N-2 ... M개가 상기 라이센스된 소프트웨어의 특정 기능(feature)을 사용하여 활성화될 때, 총 시간이 통지 기간을 초과하도록 구성된 라이센스된 소프트웨어의 사용의 정보를 포함하는 인증가능 통지를 발생하도록 적응된 소프트웨어 모듈을 제공하는 단계를 포함하고, N은 상기 통지 기간에 있어서의 상기 기능을 동시에 사용하는 상기 카운트된 컴퓨터 리소스의 최대수이고, M은 0이상의 정수인, 라이센스된 소프트웨어의 사용 통지 방법.
  61. 제 60 항에 있어서,
    상기 카운트된 컴퓨터 리소스는 상기 라이센스된 소프트웨어의 사용자에 의해 사용되는 호스트 컴퓨터인, 라이센스된 소프트웨어의 사용 통지 방법.
  62. 제 60 항에 있어서,
    상기 소프트웨어 모듈은 또한 미리 지정된 트리거 값(trigger value)을 초과하는 상기 라이센스된 소프트웨어의 초과사용의 강조된 정보를 제공하기 위해 상기 인증가능 통지를 발생하도록 적응되는, 라이센스된 소프트웨어의 사용 통지 방법.
  63. 제 62 항에 있어서,
    상기 미리 지정된 트리거 값은 미리 지정된 시간의 기간에 기초하는, 라이센스된 소프트웨어의 사용 통지 방법.
  64. 제 62 항에 있어서,
    상기 미리 지정된 트리거 값은 미리 지정된 라이센스들의 수에 기초하는, 라이센스된 소프트웨어의 사용 통지 방법.
  65. 제 62 항에 있어서,
    상기 미리 지정된 트리거 값은 상기 라이센스된 소프트웨어의 라이센스 조건들에 따라 구매된 사용값보다 큰, 라이센스된 소프트웨어의 사용 통지 방법.
  66. 제 60 항에 있어서,
    상기 라이센스된 소프트웨어의 상기 사용의 통지는 상기 라이센스된 소프트웨어의 초과사용의 통지에 제한되고, 상기 초과사용은 상기 라이센스된 소프트웨어의 라이센스 조건들로부터 결정되는, 라이센스된 소프트웨어의 사용 통지 방법.
  67. 라이센스된 소프트웨어의 사용을 통지하는 방법에 있어서,
    N, N-1, N-2 ... M의 사용자들이 상기 라이센스된 소프트웨어의 특정 기능을 사용하여 활성화할 때, 총 시간이 통지 기간을 초과하도록 구성된 라이센스된 소프트웨어의 사용의 정보를 포함하는 인증가능 통지를 발생하도록 적응된 소프트웨어 모듈을 제공하는 단계를 포함하고, N은 상기 통지 기간들에 있어서의 상기 기능을 동시에 사용하는 상기 사용자들의 최대수이고, M은 0이상의 정수인, 라이센스된 소프트웨어의 사용 통지 방법.
  68. 사용후 지불 비지니스 모델 목적들용의 비지니스 동작 소프트웨어에 이용가능하게 되도록, 라이센스된 소프트웨어의 초과사용의 정보를 포함하는 인증가능 통지를 안전하게 수신하고, 상기 인증가능 통지가 그 발생 이후 변조되지 않았는지를 확인하기 위해 상기 인증가능 통지를 인증하고, 상기 인증된 인증가능 통지로부터 정보를 저장하도록 구성된 적어도 하나의 컴퓨터를 포함하는 장치.
  69. 제 68 항에 있어서,
    상기 인증가능 통지에 포함된 적어도 하나의 디지털 서명은 상기 인증가능 통지를 인증하기 위해 사용되는, 장치.
  70. 제 68 항에 있어서,
    상기 적어도 하나의 컴퓨터 각각은 상기 인증가능 통지를 수신하고, 상기 인증가능 통지에 제공된 정보를 파일에 저장하고, 상기 인증가능 통지의 수신을 나타내는 캡쳐 표시를 발생하는 캡쳐 제어기를 포함하는, 장치.
  71. 제 70 항에 있어서,
    상기 적어도 하나의 컴퓨터 각각은, 다음 인증가능 통지가 수신되도록 스케줄링된 시점에 관한 정보를 포함하는 스케줄 테이블을 더 포함하고, 상기 캡쳐 제어기는 상기 인증가능 통지를 수신한 후에 상기 다음 인증가능 통지가 수신되도록 스케줄링된 시점에 관한 상기 정보를 업데이트하는, 장치.
  72. 제 71 항에 있어서,
    상기 적어도 하나의 컴퓨터 각각은 상기 인증가능 통지를 수신하는 적시성을 검증하도록 상기 캡쳐 표시에 응답하는 검증 제어기를 더 포함하는, 장치.
  73. 제 72 항에 있어서,
    상기 검증 제어기는 또한 상기 스케줄 테이블의 상기 정보에 따라 상기 인증가능 통지를 인증하고, 상기 인증가능 통지의 성공적인 검증 및 인증시에, 검증 표시를 발생하여 이러한 성공적인 검증 및 인증을 상기 스케줄 테이블에 나타내는, 장치.
  74. 제 73 항에 있어서,
    상기 적어도 하나의 컴퓨터 각각은 상기 인증가능 통지를 처리하여 처리된 정보를 발생하도록 상기 검증 표시에 응답하여, 사용후 지불 비지니스 모델 목적들용의 비지니스 동작 소프트웨어에 이용가능하게 되도록 상기 처리된 정보를 상기 파일에 저장하는 계산기를 더 포함하는, 장치.
  75. 제 74 항에 있어서,
    상기 적어도 하나의 컴퓨터 각각은 상기 파일에 저장된 정보에 대해 인증된 사용자에 의해 동작되는 웹 브라우저를 통해 제어된 데이터베이스 쿼리들을 용이하게 하는 웹 퀘리 모듈을 더 포함하는, 장치.
  76. 제 68 항에 있어서,
    상기 비지니스 동작 소프트웨어는 기업 자원 계획 소프트웨어(enterprise resource planning software)를 포함하는, 장치.
  77. 제 68 항에 있어서,
    상기 비지니스 동작 소프트웨어는 전자 상거래 소프트웨어(e-commerce software)를 포함하는, 장치.
  78. 제 68 항에 있어서,
    상기 비지니스 동작 소프트웨어는 소비자 관계 관리 소프트웨어를 포함하는, 장치.
  79. 제 68 항에 있어서,
    상기 비지니스 동작 소프트웨어는 판매 강제 자동 소프트웨어(sales force automation software)를 포함하는, 장치.
  80. 사용후 지불 비지니스 모델을 구현하는 방법으로서,
    라이센스된 소프트웨어의 사용의 정보를 포함하는 인증가능 통지를 수신하는 단계;
    상기 인증가능 통지가 그 발생 이후 변조되지 않았는지를 확인하기 위해 상기 인증가능 통지를 인증하는 단계; 및
    사용후 지불 요청을 트리거하기 위해, 상기 사용이 미리 결정된 양만 라이센스 조건들을 초과하는 사례들을 식별하도록 상기 라이센스된 소프트웨어의 상기 사용의 상기 정보를 처리하는 단계를 포함하는, 사용후 지불 비지니스 모델 구현 방법.
  81. 제 80 항에 있어서,
    상기 라이센스 조건들은 상기 라이센스된 소프트웨어의 동시 사용자들의 최대수를 포함하고, 상기 미리 지정된 양은 상기 라이센스된 소프트웨어의 상기 사용이 상기 최대수를 초과하는 누적 시간 기간인, 사용후 지불 비지니스 모델 구현 방법.
  82. 소프트웨어 라이센스 관리 및 사용 통지 시스템에 있어서:
    인증가능 통지를 발생하기 위한 통지 발생기로 구성된 프런트-엔드 서버;
    상기 인증가능 통지를 포맷팅하는 정보를 포함하는 구성 파일;
    상기 통지 발생기의 진정성을 검증하는 정보, 상기 구성 파일의 진정성을 검증하는 정보 및 상기 통지 발생기가 상기 인증가능 통지를 발생할 시점을 나타내는 정보를 포함하는 통지 스케줄; 상기 라이센스된 소프트웨어의 사용을 제어하고, 상기 통지 발생기가 상기 통지 스케줄링 정보에 따라 상기 인증가능 통지를 발생하기 전에, 상기 통지 발생기 인증 정보 및 상기 구성 파일 인증 정보를 사용하여 상기 통지 발생기 및 상기 구성 파일의 진정성들을 검증하도록 구성된 라이센스 관리기를 포함하는, 소프트웨어 라이센스 관리 및 사용 통지 시스템.
  83. 제 82 항에 있어서,
    상기 통지 스케줄은 상기 라이센스된 소프트웨어의 인에이블링의 부분으로서 상기 라이센스된 소프트웨어의 벤더에 의해 제공되고, 그러한 제공의 시점에서 상기 통지 스케줄의 컨텐츠들을 나타내기 위해 적어도 상기 통지 스케줄의 부분을 알고리즘에 적용함으로써 계산되는 암호화된 디지털 서명을 더 포함하고, 상기 라이센스 관리기는 또한 상기 알고리즘을 적어도 상기 통지 스케줄의 부분에 적용함으로써 다른 디지털 서명을 계산하고, 상기 통지 스케줄에 제공된 상기 암호화된 디지털 서명을 복호화하고, 상기 통지 스케줄이 변조되지 않았는지를 확인하기 위해 2개의 디지털 서명들을 비교하도록 구성되는, 소프트웨어 라이센스 관리 및 사용 통지 시스템.
KR1020057014975A 2003-02-14 2004-02-02 사용후 지불 비지니스 모델들용에 구성가능한 소프트웨어 라이센스 관리 시스템 KR100740446B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/367,205 2003-02-14
US10/367,205 US20040167859A1 (en) 2003-02-14 2003-02-14 Software license management system configurable for post-use payment business models
PCT/US2004/002803 WO2004075088A1 (en) 2003-02-14 2004-02-02 Software license management system configurable for post-use payment business models

Publications (2)

Publication Number Publication Date
KR20060079139A KR20060079139A (ko) 2006-07-05
KR100740446B1 true KR100740446B1 (ko) 2007-07-19

Family

ID=32868007

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057014975A KR100740446B1 (ko) 2003-02-14 2004-02-02 사용후 지불 비지니스 모델들용에 구성가능한 소프트웨어 라이센스 관리 시스템

Country Status (9)

Country Link
US (1) US20040167859A1 (ko)
EP (1) EP1599817A1 (ko)
JP (1) JP2006517697A (ko)
KR (1) KR100740446B1 (ko)
CN (1) CN1751316A (ko)
AU (1) AU2004214234A1 (ko)
CA (1) CA2514785A1 (ko)
TW (1) TW200502818A (ko)
WO (1) WO2004075088A1 (ko)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831457B2 (en) * 2003-06-17 2010-11-09 Satyam Computer Services Limited Of Mayfair Center System and method for maximizing software package license utilization
US20050027657A1 (en) * 2003-08-01 2005-02-03 Yuri Leontiev Distinguishing legitimate hardware upgrades from unauthorized installations of software on additional computers
US8898657B2 (en) * 2003-10-03 2014-11-25 Cyberlink Corp. System and method for licensing software
FR2862149A1 (fr) * 2003-11-06 2005-05-13 France Telecom Procede de controle automatique des fraudes dans un systeme de transactions electroniques
US7818259B2 (en) * 2004-01-23 2010-10-19 Siemens Aktiengesellschaft Prepaid licensing system and method
US20060064388A1 (en) * 2004-09-22 2006-03-23 Nokia Corporation Method and system for the total decoupling of licenses from associated license protected configuration
US7577132B2 (en) 2004-10-28 2009-08-18 Microsoft Corporation User interface for securing lightweight directory access protocol traffic
US20060092948A1 (en) * 2004-10-28 2006-05-04 Microsoft Corporation Securing lightweight directory access protocol traffic
US9489496B2 (en) * 2004-11-12 2016-11-08 Apple Inc. Secure software updates
US7809949B2 (en) 2005-07-26 2010-10-05 Apple Inc. Configuration of a computing device in a secure manner
DE102004060784A1 (de) * 2004-12-17 2006-07-06 Abb Research Ltd. Verfahren zur Lizenzvergabe und -verwaltung
US8135954B2 (en) * 2004-12-20 2012-03-13 Motorola Mobility, Inc. Distributed digital signature generation
JP4215037B2 (ja) * 2004-12-27 2009-01-28 セイコーエプソン株式会社 リソース管理システム、プリンタ、プリンタ用ネットワークカードおよびリソース管理プログラム、並びにリソース管理方法
JP2006244451A (ja) * 2005-02-01 2006-09-14 Seiko Epson Corp リソース管理システムおよびリソース管理プログラム、並びにリソース管理方法
JP4207938B2 (ja) * 2005-02-01 2009-01-14 セイコーエプソン株式会社 ソフトウェア認証システム、ソフトウェア認証プログラム、およびソフトウェア認証方法
JP4311386B2 (ja) * 2005-02-14 2009-08-12 セイコーエプソン株式会社 ファイル操作制限システムおよびファイル操作制限プログラム、ファイル操作制限方法、電子機器並びに印刷装置
JP4232767B2 (ja) * 2005-03-14 2009-03-04 セイコーエプソン株式会社 ソフトウェア認証システムおよびソフトウェア認証プログラム、並びにソフトウェア認証方法
US7571150B2 (en) * 2005-04-15 2009-08-04 Microsoft Corporation Requesting, obtaining, and processing operational event feedback from customer data centers
US7891000B1 (en) * 2005-08-05 2011-02-15 Cisco Technology, Inc. Methods and apparatus for monitoring and reporting network activity of applications on a group of host computers
US8402002B2 (en) * 2005-09-23 2013-03-19 Barclays Capital Inc. System and method for event log review
US20070112683A1 (en) * 2005-11-16 2007-05-17 Cisco Technology, Inc. Method and system for extending access to a product
US20080091774A1 (en) * 2005-12-15 2008-04-17 Sugarcrm Customer relationship management system and method
EP1830294A1 (en) * 2006-01-05 2007-09-05 Alcatel Lucent Licence protection system, billing system therewith, and method for licensing a software
US8447695B2 (en) * 2006-01-05 2013-05-21 International Business Machines Corporation System and method for processing feedback entries received from software
US8417641B1 (en) 2006-01-31 2013-04-09 Kyocera Corporation System for licensing mobile applications, features, and devices
US20070233603A1 (en) * 2006-03-30 2007-10-04 Schmidgall Matthew M Flexible routing of electronic-based transactions
US7849315B2 (en) * 2006-05-22 2010-12-07 General Dynamics C4 Systems, Inc. Method for managing operability of on-chip debug capability
US20070288389A1 (en) * 2006-06-12 2007-12-13 Vaughan Michael J Version Compliance System
DE102006027664B4 (de) * 2006-06-14 2008-03-20 Siemens Ag Kommunikationssystem zum Verarbeiten von Daten
US20080046378A1 (en) * 2006-08-18 2008-02-21 Siemens Aktiengesellschaft System and method for selling software on a pay-per-use basis
US20080065551A1 (en) * 2006-09-07 2008-03-13 Cadence Design Systems, Inc. Auto-detecting and downloading licensed computer products
US20080189400A1 (en) * 2007-02-01 2008-08-07 Microsoft Corporation Measuring Client Access Licenses
DE102007005638B4 (de) * 2007-02-05 2014-10-09 Siemens Aktiengesellschaft Verfahren zur Autorisierung des Zugriffs auf mindestens eine Automatisierungskompente einer technischen Anlage
US8285646B2 (en) * 2007-03-19 2012-10-09 Igt Centralized licensing services
US8196210B2 (en) * 2008-03-10 2012-06-05 Microsoft Corporation Software license compliance
US20090285401A1 (en) * 2008-05-19 2009-11-19 General Instrument Corporation Providing Access To Content For a Device Using an Entitlement Control Message
JP2010086461A (ja) * 2008-10-02 2010-04-15 Sony Corp ライセンス管理装置およびライセンス管理方法、ならびに、ライセンス管理システム
TWI468006B (zh) * 2009-03-23 2015-01-01 Digicheese Technology & Interactive Co Ltd 不需紀錄電話號碼的驗證系統與方法
US8650558B2 (en) * 2010-05-27 2014-02-11 Rightware, Inc. Online marketplace for pre-installed software and online services
US8756488B2 (en) 2010-06-18 2014-06-17 Sweetlabs, Inc. Systems and methods for integration of an application runtime environment into a user computing environment
US9043863B1 (en) 2010-09-07 2015-05-26 Symantec Corporation Policy enforcing browser
US8955152B1 (en) 2010-09-07 2015-02-10 Symantec Corporation Systems and methods to manage an application
US8832855B1 (en) 2010-09-07 2014-09-09 Symantec Corporation System for the distribution and deployment of applications with provisions for security and policy conformance
US8612495B2 (en) * 2011-05-31 2013-12-17 Hitachi, Ltd. Computer and data management method by the computer
EP2541458B1 (en) * 2011-06-27 2017-10-04 Nxp B.V. Resource management system and corresponding method
US9934229B2 (en) * 2011-10-23 2018-04-03 Microsoft Technology Licensing, Llc Telemetry file hash and conflict detection
US8842840B2 (en) 2011-11-03 2014-09-23 Arvind Gidwani Demand based encryption and key generation and distribution systems and methods
US8725649B2 (en) * 2011-12-08 2014-05-13 Raytheon Company System and method to protect computer software from unauthorized use
CN102546839B (zh) * 2012-03-25 2014-10-22 沈阳通用软件有限公司 面向大规模网络的高效、可靠的软件分发方法
US8775925B2 (en) 2012-08-28 2014-07-08 Sweetlabs, Inc. Systems and methods for hosted applications
US8875255B1 (en) * 2012-09-28 2014-10-28 Emc Corporation Preventing user enumeration by an authentication server
US8997242B2 (en) * 2012-11-09 2015-03-31 International Business Machines Corporation Methods and apparatus for software license management
US9210054B2 (en) * 2012-11-14 2015-12-08 International Business Machines Corporation Secure metering and accounting for cloud services
US8725645B1 (en) 2013-01-04 2014-05-13 Cetrus LLC Non-invasive metering system for software licenses
US20150082316A1 (en) * 2013-09-18 2015-03-19 evoleap, LLC System and Method for Efficient Utilization of Simulation Resources
US10149159B1 (en) * 2015-03-19 2018-12-04 Proxidyne, Inc. Trusted beacon system and method
JP6304153B2 (ja) * 2015-07-13 2018-04-04 京セラドキュメントソリューションズ株式会社 ライセンス管理システムおよびライセンス管理方法
KR102030645B1 (ko) * 2015-07-20 2019-10-10 구글 엘엘씨 반복되는 라이센스 갱신들을 가지는 미디어 세션 동시성 관리를 위한 시스템들, 방법들 및 매체
EP4168904A4 (en) * 2020-06-22 2023-12-20 ID Metrics Group Incorporated GENERATION OF OBSCURATE IDENTIFICATION PATTERNS FOR TRANSACTION VERIFICATION

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1178385A2 (en) * 2000-08-03 2002-02-06 Knowledge Modeling Institute Inc. License management method and apparatus

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5940504A (en) * 1991-07-01 1999-08-17 Infologic Software, Inc. Licensing management system and method in which datagrams including an address of a licensee and indicative of use of a licensed product are sent from the licensee's site
WO1993011480A1 (en) * 1991-11-27 1993-06-10 Intergraph Corporation System and method for network license administration
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5671412A (en) * 1995-07-28 1997-09-23 Globetrotter Software, Incorporated License management system for software applications
DE19717149C2 (de) * 1997-04-23 1999-03-04 Siemens Ag Lizenzüberwachung für Call-SW per Telefon
US6056786A (en) * 1997-07-11 2000-05-02 International Business Machines Corp. Technique for monitoring for license compliance for client-server software
US6799277B2 (en) * 1998-06-04 2004-09-28 Z4 Technologies, Inc. System and method for monitoring software
US6049789A (en) * 1998-06-24 2000-04-11 Mentor Graphics Corporation Software pay per use licensing system
US20070050301A1 (en) * 2000-06-07 2007-03-01 Jo Johnson System for software license control and method therefore
US20040039706A1 (en) * 2002-06-19 2004-02-26 Skowron John M. System and method for digitally authenticating facility management reports
JPWO2005015468A1 (ja) * 2003-08-07 2007-09-27 シャープ株式会社 課金システム、コンテンツ再生装置、ライセンス販売機並びにプログラムおよび記録媒体
US6904370B1 (en) * 2003-12-30 2005-06-07 Compliance Software Solutions Corp. System, method, and computer-readable medium for collection of environmental data and generation of user report for compliance with FDA requirements

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1178385A2 (en) * 2000-08-03 2002-02-06 Knowledge Modeling Institute Inc. License management method and apparatus

Also Published As

Publication number Publication date
EP1599817A1 (en) 2005-11-30
CN1751316A (zh) 2006-03-22
TW200502818A (en) 2005-01-16
JP2006517697A (ja) 2006-07-27
KR20060079139A (ko) 2006-07-05
WO2004075088A1 (en) 2004-09-02
US20040167859A1 (en) 2004-08-26
CA2514785A1 (en) 2004-09-02
AU2004214234A1 (en) 2004-09-02

Similar Documents

Publication Publication Date Title
KR100740446B1 (ko) 사용후 지불 비지니스 모델들용에 구성가능한 소프트웨어 라이센스 관리 시스템
US6314425B1 (en) Apparatus and methods for use of access tokens in an internet document management system
US7774279B2 (en) Rights offering and granting
US7155414B2 (en) License compliance verification system
US20050149759A1 (en) User/product authentication and piracy management system
US20060200664A1 (en) System and method for securing information accessible using a plurality of software applications
US20040015958A1 (en) Method and system for conditional installation and execution of services in a secure computing environment
US20070198427A1 (en) Computer service licensing management
US20020077986A1 (en) Controlling and managing digital assets
US20090241107A1 (en) License file issuance apparatus, image processing apparatus, license file issuance method, application installation method, and storage medium
WO2002098200A2 (en) Method and apparatus for assigning conditional or consequential rights to documents and documents having such rights
JP2003015760A (ja) ディジタル・エンコードされた製品の使用を制御する方法
KR100621318B1 (ko) 조건들의 검증에 의해 접근과 자원사용을 관리하기 위한 방법
JP3917125B2 (ja) 文書保安システム
EP1198762B1 (en) Apparatus and methods for use of access tokens in an internet document management system
WO2003040869A2 (en) User/product authentication and piracy management system
EP1317702A2 (en) Rights offering and granting
Herrmann et al. Trust-based monitoring of component-structured software
Carlsson Developing an efficient software protection and licensing scheme
Armintor et al. NHSE Distribution of HPCC Software: Legal Issues and Technological Options
AU2002305819A1 (en) Rights offering and granting

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

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140702

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150618

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160616

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180102

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee