KR20070088633A - Delicate metering of computer usage - Google Patents

Delicate metering of computer usage Download PDF

Info

Publication number
KR20070088633A
KR20070088633A KR1020077011072A KR20077011072A KR20070088633A KR 20070088633 A KR20070088633 A KR 20070088633A KR 1020077011072 A KR1020077011072 A KR 1020077011072A KR 20077011072 A KR20077011072 A KR 20077011072A KR 20070088633 A KR20070088633 A KR 20070088633A
Authority
KR
South Korea
Prior art keywords
computer
usage
activity level
threshold
activity
Prior art date
Application number
KR1020077011072A
Other languages
Korean (ko)
Inventor
알렉산더 프랭크
토마스 지. 필립스
조지 5세 레일리
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
Priority claimed from US10/989,122 external-priority patent/US7610631B2/en
Priority claimed from US11/006,837 external-priority patent/US20060165005A1/en
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20070088633A publication Critical patent/KR20070088633A/en

Links

Images

Classifications

    • 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/08Payment architectures
    • G06Q20/14Payment architectures specially adapted for billing systems
    • G06Q20/145Payments according to the detected use or quantity
    • 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/22Payment schemes or models
    • G06Q20/28Pre-payment schemes, e.g. "pay before"
    • 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

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

A pay-per-use or metered-use computer uses a balance manager to monitor usage and update a value balance according to a first usage schedule when the computer is in active use. When the activity level of the computer is reduced below a threshold, the balance manager may update the value balance according to a second usage schedule. Activity level of the computer is determined by monitoring the activity level of a one or more components of the computer including input devices, communication controllers, and the processing unit. Rules can be applied to determine when to switch between usage schedules and if credits to the value balance should be made.

Description

컴퓨터 사용량 계측 방법 및 이를 기억한 컴퓨터 판독 가능 매체{DELICATE METERING OF COMPUTER USAGE}Method of measuring computer usage and computer readable medium storing the same

본 특허 출원은 2004년 11월 15일 출원된 미국 특허 출원 번호 10/989,122의 일부 계속 출원인, 2004년 12월 8일 출원된 미국 특허 출원 번호 11/006,837의 일부 계속 출원이다.This patent application is part of US Patent Application No. 11 / 006,837, filed December 8, 2004, which is part of US Patent Application No. 10 / 989,122, filed November 15, 2004.

즉시 지불제(pay-as-you-go) 또는 PPU(pay-per-use; 사용량별 요금지불) 비즈니스 모델은 이동 전화에서 상업용 빨래방에 이르는 여러 상업 분야에서 이용되고 있다. 즉시 지불제 비즈니스 개발 시, 예를 들어, 이동 전화 제공자와 같은 제공자는 자신의 네트워크에 가입자가 체류하도록 하기 위한 거래로서 시장 가격보다 낮은 가격으로 하드웨어(이동 전화)의 사용을 제공한다. 이러한 특정 예에서, 고객은 소정의 시간 동안 가입자가 되는 계약에 서명하도록 하기 위한 거래로서 거의 돈을 내지 않거나 무료로 이동 전화를 받는다. 계약 과정에서, 서비스 제공자는 이동 전화를 사용하는 것에 대해 고객에게 청구함으로써 하드웨어 비용을 만회한다.Pay-as-you-go or pay-per-use (PPU) business models are used in many commercial sectors, from mobile phones to commercial laundries. In developing an immediate payment business, for example, a provider, such as a mobile phone provider, provides the use of hardware (mobile phone) at a price lower than the market price as a transaction for the subscriber to stay in his network. In this particular example, the customer pays little or no mobile phone as a transaction to sign a contract that becomes a subscriber for a certain amount of time. In the contract process, the service provider recovers the hardware cost by charging the customer for using the mobile phone.

즉시 지불제 비즈니스 모델은 사용량 계측에 기초하고 있다. 이동 전화 제공자의 경우, 계측된 사용은 분 또는 전송된 데이터의 메가바이트이다. 서비스 제 공자 또는 출자자(underwriter)가 장래 수익을 예상하는 하드웨어의 비용을 보조하는 컴퓨터용 즉시 지불제 비즈니스 모델에서는, 여러 양태의 사용량을 감시하거나 계측할 수 있다. 그러나, 데이터를 계측하는 모든 소스에 한결같이 의존할 수 있는 것은 아니다. 데이터가 컴퓨터가 사용 중임을 나타내지만, 실제로는 사용 중이 아닌 경우에는, 가입자가 자신의 신청에 의한 가입으로부터 완전한 가치를 얻지 못할 수 있다. 반대로, 컴퓨터가 사용 중이지만 계측되지 않는 경우에는, 서비스 제공자가 정당한 보상을 받지 못한다.The immediate payment business model is based on usage metering. For mobile phone providers, the metered usage is minutes or megabytes of data transmitted. In the immediate payment business model for computers, where a service provider or underwriter subsidizes the cost of hardware to anticipate future revenues, various aspects of usage can be monitored or measured. However, it is not always possible to rely on every source to measure data. If the data indicates that the computer is in use, but is not actually in use, the subscriber may not get full value from the subscription by his application. Conversely, if the computer is in use but not metered, the service provider does not receive legitimate compensation.

사용량, 특히, 계측되는 계약과 관련된 사용량을 정확하게 추적하는 능력은 신청에 의한 가입 지불에 대한 거래로 시장 가격보다 낮은 가격으로 가입자가 컴퓨터를 구매하여 사용할 수 있도록 하는 비즈니스 모델에 있어서 중요한 부분일 수 있다. 그러나, 컴퓨터 사용량 추적으로 인해, 계측되는 조건이 존재하는지 여부에 관한 모호성이 존재하는 몇몇 상황이 일어날 수 있다. 예를 들어, 프로세서 사용량을 분 단위로 판매하는 서비스 제공자는 일요일 자정에 실행되도록 프로그램되는 주기적 바이러스 스캔을 필요로 할 수 있다. 가상 스캔은 1.5 시간이 걸린다. 가입자에게 어떤 직접적인 이득을 제공함 없이 필요한 작업을 수행할 때, CPU 사용량에 대해 가입자에게 청구해야 하는지는 명확하지 않다. 이와 유사하게, 가입자는 거의 모든 프로세서가 활동하지 않는 상태에서도 긴 문서를 보는 중일 수 있다. 이때, 가입자는 직접적인 이득을 갖지만, 엄격한 프로세서 활동에 따르면, 컴퓨터는 활동 중이 아닌 것으로 보일 수 있다. 소위, "정밀 계측"은 다양한 입력과 비즈니스 규칙을 이용하여 컴퓨터를 계측해야하는지 여부에 관한 결정을 내린다. 계측 프로그램은 디스플레이 상태, 통신, 하드 디스크 활동 및 프로세서에 의해 실행 중인 프로그램까지도 평가하여 사용량을 징수해야 하는지를 결정할 수 있다. 예를 들어, 마우스 움직임과 같은 몇몇 활동은 그 자체로 계측을 활성화하기에 충분할 수 있다. 컴퓨터를 계측해야 하는지 여부를 결정하기 전에, 바이러스 체커 실행과 같은 기타 조건을 고려하여 디스크 액세스와 같은 기타 활동을 평가할 필요가 있을 수 있다.The ability to accurately track usage, especially usage associated with metered contracts, can be an important part of a business model that allows subscribers to purchase and use computers at prices below market prices in terms of subscription payments by subscription. . However, due to computer usage tracking, some situations may arise where there is ambiguity as to whether or not the condition being measured exists. For example, a service provider selling processor usage in minutes may require periodic virus scans that are programmed to run at midnight Sunday. The virtual scan takes 1.5 hours. When performing the necessary tasks without providing any direct benefit to the subscriber, it is not clear whether the subscriber should be billed for CPU usage. Similarly, a subscriber may be viewing a long document even when almost all processors are inactive. At this point, the subscriber has a direct benefit, but according to strict processor activity, the computer may appear to be inactive. So-called "precise measurement" makes a decision about whether or not a computer should be measured using a variety of inputs and business rules. The instrumentation program can also evaluate display status, communication, hard disk activity, and even programs running by the processor to determine whether usage should be collected. For example, some activities, such as mouse movements, may themselves be sufficient to activate instrumentation. Before deciding whether or not a computer should be instrumented, it may be necessary to consider other conditions, such as running a virus checker, to evaluate other activities, such as disk access.

도 1은 컴퓨터 네트워크의 단순화된 대표 블록도.1 is a simplified representative block diagram of a computer network.

도 2는 도 1의 네트워크에 접속될 수 있는 컴퓨터의 블록도.2 is a block diagram of a computer that may be connected to the network of FIG.

도 3은 도 2의 컴퓨터의 라이센스 프로비저닝 모듈의 블록도.3 is a block diagram of a license provisioning module of the computer of FIG.

도 4는 도 2의 컴퓨터 사용량을 계측하는 방법을 도시한 흐름도.4 is a flow chart illustrating a method of measuring computer usage of FIG. 2.

도 5는 도 2의 컴퓨터 사용량 프로파일을 도시한 그래프.5 is a graph depicting the computer usage profile of FIG. 2.

다음 본문은 다수의 서로 다른 실시예의 상세한 설명을 개시하지만, 상세한 설명의 법적 범위는 본 개시 내용의 끝에 개시되는 청구항의 표현에 의해 정의된다는 것을 이해해야 한다. 모든 가능한 실시예를 설명하는 것이 불가능한 것은 아니지만 무익할 것이므로, 상세한 설명은 단지 예시적인 것으로서 해석되어야 하고, 모든 가능한 실시예를 설명하지는 않는다. 다수의 다른 실시예는 본 발명의 청구의 범위와 여전히 부합하게 될 본 특허 출원의 출원일 이후에 개발될 기술이나 현 재 기술을 이용하여 구현될 수 있다.While the following text discloses a detailed description of a number of different embodiments, it should be understood that the legal scope of the detailed description is defined by the representation of the claims disclosed at the end of this disclosure. Although it will not be impossible to describe all possible embodiments, the detailed description should be construed as illustrative only and not as a description of all possible embodiments. Many other embodiments may be implemented using techniques that are or will be developed after the filing date of the present patent application, which will still be in accordance with the claims of the present invention.

또한, "본원에서 개시된, 용어 ' '는 여기서 ...를 의미하도록 정의된다"는 문장이나 유사한 문장을 이용하여 본 특허 출원에서 소정의 용어를 명백히 정의하지 않는 한, 그 용어의 의미를 자신의 평이한 또는 통상의 의미를 넘어 명백히 또는 암시적으로 제한하려는 의도는 아니고, 이와 같은 용어는 (본 발명의 청구항의 표현을 제외한) 본 특허 출원의 임의 섹션에서 이루어진 임의의 서술에 기초하여 범위를 제한하려는 것으로 해석되지 않아야 함을 이해해야 한다. 본 특허 출원에서 단일 의미와 양립 가능하도록 본 특허 출원의 말미에 있는 청구항에서 인용되는 임의의 용어를 지칭하는 범위까지는, 단지 독자가 혼동하지 않도록 명확히 하기 위해 행해지지만, 이와 같은 청구항 용어는 그 단일 의미에 암시나 다른 방법에 의해 제한되지 않는 것으로 의도된다. 결국, 어떤 구조도 인용함 없이 기능 및 "수단"이란 단어를 인용함으로써 청구항 요소를 정의하지 않는 한, 임의의 청구항 요소의 범위는 미국 특허법 제112조 제6항을 적용하여 해석되어야 하는 것으로 의도되지 않는다.Also, as described herein, the term ' Unless a term is explicitly defined in this patent application using a sentence or similar sentence, such as "here," the meaning of the term is clearly beyond its plain or ordinary meaning or It is to be understood that no such term is intended to be limiting, and that such terms should not be construed as limiting the scope based on any description made in any section of this patent application (except in the context of the claims of the present invention). To the extent that reference is made to any term recited in a claim at the end of this patent application to be compatible with a single meaning in this patent application, it is only made to clarify the reader not to be confused, but such term of claim is used in its single meaning. Are not intended to be implied or to be limited by other means. By citing the function, and the "means" is a word without the range of, any claim element does not define a claim element is not intended to be interpreted to apply claim 6 Article 112 US patents.

본 발명의 기능 중 대부분과 본 발명의 원리 중 대다수는 주문형 집적 회로(IC)와 같은 집적 회로와 소프트웨어 프로그램이나 명령어에서 가장 잘 구현되거나 이를 이용하여 가장 잘 구현된다. 당업자는, 예를 들어, 가용 시간, 현재 기술 및 경제적 고려에 의해 영향을 받아 상당한 노력과 다수의 설계 선택이 필요하더라도, 본원에서 개시된 개념과 원리에 의해 도움을 받을 때, 이와 같은 소프트웨어 명령어와 프로그램 및 IC를 최소의 실험으로 쉽게 생성할 수 있을 것이다. 따라 서, 본 발명에 따른 원리와 개념을 불명료하게 할 위험의 최소화와 간결을 위해, 만약 있더라도, 이와 같은 소프트웨어와 IC의 추가 설명은 본 발명의 바람직한 실시예의 원리와 개념과 관련하여 필수적인 것으로 한정될 것이다.Many of the functions of the present invention and many of the principles of the present invention are best implemented in or using integrated circuits such as application specific integrated circuits (ICs) and software programs or instructions. Those skilled in the art will appreciate that such software instructions and programs, when assisted by the concepts and principles disclosed herein, may be influenced by, for example, availability time, current technical and economic considerations, and require considerable effort and multiple design choices. And ICs may be easily generated with minimal experimentation. Thus, for the sake of simplicity and minimization of the risk of obscuring the principles and concepts according to the invention, further descriptions of such software and ICs, if any, may be limited to those necessary in relation to the principles and concepts of preferred embodiments of the invention. will be.

도 1은 PPU 컴퓨터 시스템을 구현하는데 이용될 수 있는 네트워크(10)를 도시한다. 네트워크(10)로는 인터넷, 가상 사설 네트워크(virtual private network; VPN), 또는 하나 이상의 컴퓨터, 통신 장치, 데이터베이스 등을 서로 통신 가능하게 접속하는 임의의 다른 네트워크가 있다. 네트워크(10)는 이더넷(16), 라우터(18) 및 랜드라인(20)을 통해 개인용 컴퓨터(12)와 컴퓨터 단말기(14)에 접속될 수 있다. 한편, 네트워크(10)는 무선 통신국(26)과 무선 링크(28)를 통해 랩톱 컴퓨터(22)와 개인 휴대 정보 단말기(24)에 무선으로 접속될 수 있다. 이와 유사하게, 서버(30)는 통신 링크(32)를 이용하여 네트워크(10)에 접속될 수 있고, 메인프레임(34)은 다른 통신 링크(36)를 이용하여 네트워크(10)에 접속될 수 있다.1 illustrates a network 10 that can be used to implement a PPU computer system. The network 10 may be the Internet, a virtual private network (VPN), or any other network that communicatively connects one or more computers, communication devices, databases, and the like. Network 10 may be connected to personal computer 12 and computer terminal 14 via Ethernet 16, router 18, and landline 20. On the other hand, network 10 may be wirelessly connected to laptop computer 22 and personal digital assistant 24 via wireless communication station 26 and wireless link 28. Similarly, server 30 may be connected to network 10 using communication link 32, and mainframe 34 may be connected to network 10 using other communication link 36. have.

도 2는 네트워크(10)에 접속되어 동적 소프트웨어 프로비저닝 시스템의 하나 이상의 구성 요소를 구현하는데 이용될 수 있는 컴퓨터(110)의 형태인 컴퓨팅 장치를 도시한다. 컴퓨터(110)의 구성 요소는 처리 장치(120), 시스템 메모리(130), 및 시스템 메모리를 포함한 여러 시스템 구성 요소를 처리 장치(120)에 연결하는 시스템 버스(121)를 포함할 수 있지만, 이에 한정되지 않는다. 시스템 버스(121)는 다양한 버스 아키텍처 중 임의의 버스 아키텍처를 이용하는 메모리 버스 또는 메모리 제어기, 주변장치 버스, 및 로컬 버스를 포함한 여러 타입의 버스 구조 중 임의의 버스 구조일 수 있다. 일 예로서, 이와 같은 아키텍처는 산업 표준 아키텍 처(Industry Standard Architecture; ISA) 버스, 마이크로 채널 아키텍처(Micro Channel Architecture; MCA) 버스, 확장 ISA(Enhanced ISA; EISA) 버스, 비디오 전자공학 협회(Video Electronics Standards Association; VESA) 로컬 버스, 및 메자닌(mezzanine) 버스로도 공지되어 있는 주변장치 구성요소 상호접속(Peripheral Component Interconnect; PCI) 버스를 포함하지만, 이에 한정되지는 않는다.2 illustrates a computing device in the form of a computer 110 that may be connected to the network 10 and used to implement one or more components of a dynamic software provisioning system. Components of computer 110 may include, but are not limited to, system bus 121 that couples various system components, including processing device 120, system memory 130, and system memory to processing device 120. It is not limited. The system bus 121 may be any of a variety of bus structures, including a memory bus or a memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. As an example, such an architecture may include an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, and the Video Electronics Association. Peripheral Component Interconnect (PCI) bus, also known as the Electronics Standards Association (VESA) local bus, and mezzanine bus.

또한, 컴퓨터(110)는 라이센스 프로비저닝 모듈(125; license provisioning module; LPM)을 포함할 수도 있다. LPM(125)은 도 3에 더 상세히 설명된다. 간단히, LPM(125)은 컴퓨터(110)의 즉시 지불제 또는 PPU 동작을 쉽게 한다. LPM(125)은 사용량 계측을 관리하고, 계측된 사용이 만료할 때 제재를 가하는 것을 관리하고, 데이터의 요청, 수령, 및 처리를 관리하여 추후 사용을 위해 컴퓨터(110)를 다시 채운다.The computer 110 may also include a license provisioning module 125 (LPM). LPM 125 is described in more detail in FIG. 3. In brief, LPM 125 facilitates immediate payment or PPU operation of computer 110. LPM 125 manages usage metering, administers sanctions when metered usage expires, manages the request, receipt, and processing of data to repopulate computer 110 for future use.

통상, 컴퓨터(110)는 다양한 컴퓨터 판독 가능 매체를 포함한다. 컴퓨터 판독 가능 매체는 컴퓨터(110)에 의해 액세스할 수 있는 임의의 이용 가능한 매체일 수 있으며, 휘발성 및 비휘발성 매체, 이동식 및 고정식 매체를 포함한다. 일 예로서, 컴퓨터 판독 가능 매체는 컴퓨터 기억 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 기억하기 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 이동식 및 고정식 매체를 포함한다. 컴퓨터 기억 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disks) 또는 기타 광 디스크 기억장치, 자기 카세트, 자기 테이프, 자기 디스크 기억장치 또는 기타 자기 기억장치, 또는 원하는 정보를 기억하는데 이용될 수 있으며 컴퓨터(110)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에 한정되지는 않는다. 통상, 통신 매체는 반송파 또는 기타 전송 메커니즘과 같은 변조된 데이터 신호로 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터를 구현하며, 임의의 정보 전달 매체를 포함한다. "피변조 데이터 신호"란 용어는 신호 내의 정보가 인코드되도록 그 신호의 하나 이상의 특성을 설정 또는 변경시킨 신호를 의미한다. 일 예로서, 통신 매체는 유선 네트워크 또는 직접 유선(direct-wired) 접속과 같은 유선 매체와, 음향, 무선 주파수, 적외선 및 기타 무선 매체와 같은 무선 매체를 포함하지만, 이에 한정되지는 않는다. 또한, 상기 매체의 임의의 조합도 컴퓨터 판독 가능 매체의 범위 내에 포함된다.Computer 110 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 110 and includes volatile and nonvolatile media, removable and fixed media. As one example, computer readable media may include computer storage media and communication media. Computer-readable media includes volatile and nonvolatile, removable and fixed media implemented in any method or technology for storing information such as computer readable instructions, data structures, program modules or other data. Computer storage media may include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROMs, digital versatile disks or other optical disk storage devices, magnetic cassettes, magnetic tapes, magnetic disk storage devices or other magnetic storage devices, Or any other medium that can be used to store desired information and can be accessed by the computer 110, but is not limited thereto. Typically, communication media embody computer readable instructions, data structures, program modules or other data with modulated data signals, such as carrier waves or other transmission mechanisms, and include any information delivery media. The term " modulated data signal " means a signal that has one or more of its characteristics set or changed such that information in the signal is encoded. As an example, communication media includes, but is not limited to, wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency, infrared, and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.

시스템 메모리(130)는 ROM(131) 및 RAM(132)과 같은 휘발성 및/또는 비휘발성 메모리의 형태인 컴퓨터 기억 매체를 포함한다. 통상, 예를 들어, 시동 동안, 컴퓨터(110) 내의 요소 간의 정보 전달을 돕는 기본 루틴을 포함하는, 기본 입출력 시스템(133; BIOS)은 ROM(131)에 기억된다. 통상, RAM(132)은 처리 장치(120)에 의해 현재 동작 상태에 있고/있거나 즉시 액세스할 수 있는 데이터 및/또는 프로그램 모듈을 포함한다. 일 예로서, 도 2는 운영 체계(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)를 포함하지만, 이에 한정되지는 않는다.System memory 130 includes computer storage media in the form of volatile and / or nonvolatile memory, such as ROM 131 and RAM 132. Typically, a basic input / output system (BIOS) (BIOS) is stored in the ROM 131, which includes a basic routine that assists in transferring information between elements within the computer 110, for example during startup. Typically, RAM 132 includes data and / or program modules that are currently in operation and / or can be accessed by processing device 120. As an example, FIG. 2 includes, but is not limited to, an operating system 134, an application program 135, other program modules 136, and program data 137.

또한, 컴퓨터(110)는 다른 이동식/고정식, 휘발성/비휘발성 컴퓨터 기억 매체를 포함할 수도 있다. 일 예로서, 도 2는 고정식, 비휘발성 자기 매체로부터 판 독하거나 이에 기입하는 하드 디스크 드라이브(141), 이동식, 비휘발성 자기 디스크(152)로부터 판독하거나 이에 기입하는 자기 디스크 드라이브(151), 및 CD ROM 또는 다른 광 매체와 같은 이동식, 비휘발성 광 디스크(156)로부터 판독하거나 이에 기입하는 광 디스크 드라이브(155)를 도시한다. 예시적인 운영 환경에서 이용될 수 있는 다른 이동식/고정식, 휘발성/비휘발성 컴퓨터 기억 매체는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고체 상태 RAM, 고체 상태 ROM 등을 포함하지만, 이에 한정되지는 않는다. 통상, 하드 디스크 드라이브(141)는 인터페이스(140)와 같은 고정식 메모리 인터페이스를 통해 시스템 버스(121)에 접속되고, 통상, 자기 디스크 드라이브(151)와 광 디스크 드라이브(155)는 인터페이스(150)와 같은 이동식 메모리 인터페이스에 의해 시스템 버스(121)에 접속된다.The computer 110 may also include other removable / fixed, volatile / nonvolatile computer storage media. As an example, FIG. 2 illustrates a hard disk drive 141 that reads from or writes to a fixed, nonvolatile magnetic medium, a magnetic disk drive 151 that reads from or writes to a removable, nonvolatile magnetic disk 152, and Illustrates an optical disc drive 155 that reads from or writes to a removable, nonvolatile optical disc 156, such as a CD ROM or other optical medium. Other removable / fixed, volatile / nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, DVDs, digital video tapes, solid state RAM, solid state ROM, and the like. It doesn't work. Typically, hard disk drive 141 is connected to system bus 121 via a fixed memory interface, such as interface 140, and typically magnetic disk drive 151 and optical disk drive 155 are connected to interface 150. It is connected to the system bus 121 by the same removable memory interface.

상술한 도 2에 도시되어 있는 드라이브와 그 연관된 컴퓨터 기억 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터의 기억을 컴퓨터(110)에 제공한다. 도 2에서, 예를 들어, 하드 디스크 드라이브(141)는 운영 체계(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이터(147)를 기억하는 것으로서 도시되어 있다. 이들 구성 요소는 운영 체계(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)와 동일하거나 다를 수 있다는 것에 주목하자. 본원에서, 운영 체계(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이터(147)에는 서로 다른 번호가 주어져서, 적어도, 이들이 서로 다른 사본임을 나 타낸다. 사용자는 통상, 마우스, 트랙볼 또는 터치 패드로 지칭되는 키보드(162) 및 포인팅 장치(161)와 같은 입력 장치를 통해 컴퓨터(110) 내에 명령 및 정보를 입력할 수 있다. 다른 입력 장치는 웹 캠(163)으로 공지되어 있는, 인터넷을 통해 이미지를 전송하기 위한 카메라일 수 있다. 기타 입력 장치(도시안함)는 마이크, 조이스틱, 게임 패드, 위성 방송 수신용 안테나, 스캐너 등을 포함할 수 있다. 이들 및 기타 입력 장치는 시스템 버스에 연결되는 사용자 입력 인터페이스(160)를 통해 처리 장치(120)에 종종 접속되지만, 병렬 포트, 게임 포트 또는 범용 직렬 버스(USB)와 같은 기타 인터페이스 및 버스 구조에 의해 접속될 수 있다. 또한, 모니터(191) 또는 다른 타입의 디스플레이 장치는 비디오 인터페이스(190)와 같은 인터페이스를 통해 시스템 버스(121)에 접속된다. 모니터에 더하여, 컴퓨터는 출력 주변장치 인터페이스(190)를 통해 접속될 수 있는 스피커(197) 및 프린터(196)와 같은 기타 출력 장치를 포함할 수도 있다.The drive shown in FIG. 2 and associated computer storage media described above provide computer 110 with storage of computer readable instructions, data structures, program modules, and other data. In FIG. 2, for example, hard disk drive 141 is shown as storing operating system 144, application program 145, other program module 146, and program data 147. Note that these components may be the same as or different from the operating system 134, the application program 135, the other program modules 136, and the program data 137. Herein, operating system 144, application program 145, other program module 146, and program data 147 are given different numbers to indicate that they are at least different copies. A user may enter commands and information into the computer 110 through input devices such as a keyboard 162 and pointing device 161, commonly referred to as a mouse, trackball or touch pad. Another input device may be a camera for transmitting images over the Internet, known as web cam 163. Other input devices (not shown) may include a microphone, joystick, game pad, antenna for satellite broadcast reception, scanner, and the like. These and other input devices are often connected to the processing unit 120 through a user input interface 160 connected to the system bus, but by other interfaces and bus structures, such as parallel ports, game ports, or universal serial buses (USB). Can be connected. In addition, the monitor 191 or other type of display device is connected to the system bus 121 via an interface such as a video interface 190. In addition to the monitor, the computer may include other output devices such as a speaker 197 and a printer 196 that may be connected via the output peripheral interface 190.

컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터와의 로직 접속을 이용하여 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(180)로는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 공통 네트워크 노드가 있고, 통상, 컴퓨터(110)와 관련하여 상술한 요소 중 대부분 또는 모든 요소를 포함하지만, 도 2에는 메모리 기억 장치(181)만을 도시하였다. 도 2에 도시된 로직 접속은 LAN(171) 및 WAN(173)을 포함하지만, 다른 네트워크를 포함할 수도 있다. 이와 같은 네트워킹 환경은 사무실, 기업 규모 컴퓨터 네트워크, 인트라넷 및 인터넷에서 일반적이다.Computer 110 may operate in a network environment using logic connections with one or more remote computers, such as remote computer 180. Remote computer 180 may be a personal computer, server, router, network PC, peer device, or other common network node, and typically includes most or all of the elements described above with respect to computer 110, although FIG. Only memory memory device 181 is shown. The logical connection shown in FIG. 2 includes a LAN 171 and a WAN 173, but may include other networks. Such networking environments are commonplace in offices, enterprise-scale computer networks, intranets and the Internet.

LAN 네트워킹 환경에서 이용되는 경우, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 네트워킹 환경에서 이용되는 경우, 통상, 컴퓨터(110)는 모뎀(172) 또는 인터넷과 같은 WAN(173)을 통해 통신을 확립하기 위한 다른 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(172)은 사용자 입력 인터페이스(160), 또는 다른 적당한 메커니즘을 통해 시스템 버스(121)에 접속될 수 있다. 네트워크 환경에서, 컴퓨터(110), 또는 그 일부와 관련하여 도시된 프로그램 모듈은 원격 메모리 기억 장치에 기억될 수 있다. 일 예로서, 도 2는 메모리 장치(181) 상에 상주하는 것으로서 원격 애플리케이션 프로그램(185)을 도시하지만, 이에 한정되지는 않는다. 도시된 네트워크 접속은 예시적인 것으로, 컴퓨터 간에 통신 링크를 확립하기 위한 다른 수단을 이용할 수 있음을 이해할 것이다.When used in a LAN networking environment, the computer 110 is connected to the LAN 171 via a network interface or adapter 170. When used in a WAN networking environment, computer 110 typically includes a modem 172 or other means for establishing communications over WAN 173, such as the Internet. The modem 172, which may be internal or external, may be connected to the system bus 121 via the user input interface 160, or other suitable mechanism. In a networked environment, program modules depicted in connection with the computer 110, or portions thereof, may be stored in the remote memory storage device. As an example, FIG. 2 shows a remote application program 185 as resident on memory device 181, but is not limited to such. It will be appreciated that the network connections shown are exemplary and may employ other means for establishing a communication link between the computers.

도 3은 LPM(125)의 더 상세한 블록도를 도시한다. 상술하자면, LPM(125)은 컴퓨터(110)가 특정 상태에서 동작하도록 강제하는 시행 애드온 모듈(252), 컴퓨터(110) 상에 프로비저닝된 자원의 사용량을 계측하는 계측 모듈(254), 서비스 제공자(도시안함)로부터 수신된 프로비저닝 패킷을 처리하는 트랜잭션 엔진(256), 보안 기억장치를 프로비저닝 패킷에 제공하는 보안 기억장치 관리자(258), 서비스 제공자와 통신하는 통신 모듈(260), 및 사용자와 대화하는 사용자 경험 모듈(262)을 포함할 수 있다.3 shows a more detailed block diagram of the LPM 125. In detail, the LPM 125 includes an enforcement add-on module 252 for forcing the computer 110 to operate in a specific state, an instrumentation module 254 for measuring the usage of provisioned resources on the computer 110, and a service provider ( Transaction engine 256 for processing provisioning packets received from the device (not shown), a secure storage manager 258 for providing secure storage to the provisioning packets, a communication module 260 for communicating with a service provider, and a user for May include a user experience module 262.

시행 모듈(252)은 컴퓨터(110)의 로그인 로직(264) 내에 삽입될 수 있다. 사용자가 로그인 로직(264)을 이용하여 컴퓨터(110)에 로그하거나, 과금형으로 프 로비저닝된 자원의 사용을 요청하는 경우, 시행 모듈(252)은 계측 모듈(254)에 잔고(balance) 정보를 질의할 수 있다. 시행 모듈(252)이 컴퓨터(110)가 요청된 활동에 충분한 금액을 갖는 것으로 판단하면, 컴퓨터(110)가 그 정상 모드에서 동작하도록 할 수 있고, 사용자가 컴퓨터(110)에 로그하거나 요청된 자원을 사용하도록 할 수 있다. 한편, 시행 모듈(252)이 컴퓨터(110)가 이용 가능한 충분한 금액을 갖지 않는 것으로 판단하면, 요청된 자원에 대한 로그인이나 액세스를 거부할 수 있으며, 사용자가 이용 가능한 잔고에 금액을 추가하도록 사용자 인터페이스를 호출(invoke)할 수 있다.Enforcement module 252 may be inserted into login logic 264 of computer 110. When a user logs into the computer 110 using the login logic 264 or requests the use of a provisioned resource, the enforcement module 252 sends balance information to the measurement module 254. You can query If enforcement module 252 determines that computer 110 has sufficient money for the requested activity, it may cause computer 110 to operate in its normal mode, and the user may log into computer 110 or request the requested resource. Can be used. On the other hand, if the enforcement module 252 determines that the computer 110 does not have a sufficient amount available, the user interface may deny login or access to the requested resource and the user interface to add the amount to the available balance. You can invoke.

시행 작업을 실행하기 위해, 시행 모듈(252)은 컴퓨터(110)의 직접적인 영향이나 제어 하에 자원을 디세이블하거나 제재할 수 있다. 외부 주변장치와 관련된 제재는 예를 들어, 입력 또는 출력 제어기(170, 190, 195)와 같은 적당한 제어기 상의 동작에 의해 실행될 수 있지만, 몇몇 경우에는, 주변장치 자체에서 제재를 실행할 필요가 있을 수 있다.In order to execute the enforcement task, the enforcement module 252 may disable or sanction resources under the direct influence or control of the computer 110. Sanctions associated with external peripherals may be implemented by operations on appropriate controllers, such as, for example, input or output controllers 170, 190, 195, but in some cases it may be necessary to enforce sanctions on the peripherals themselves. .

계측 모듈(254)은 프로비저닝된 자원을 사용하는데 이용 가능한 현재 잔고를 판독하고 검증하여 현재 잔고를 업데이트하는 잔고 관리자(266)를 포함할 수 있다. 또한, 계측 모듈(254)은 인가된, 즉, 과금 가능한 주변장치와 같은 유효 시스템 구성 정보를 판단하기 위한 구성 관리자(268)를 포함할 수도 있다. 또한, 계측 모듈(254)은 항상 증가하는 타이머를 유지하기 위한 신뢰성 있는 시계 관리자(270)를 포함할 수도 있다. 계측 모듈(254)은 얼마나 자주, 얼마나 많이, 또는 어느 기간 동안 컴퓨터(110), 또는 그 구성 요소를 이용하는지를 감시하기 위한 메커니즘을 제공할 수 있다. 계측 모듈(254)은 운영 체계 내의 훅(hook)을 이용하여, 애플리케이션에 의한 사용량을 계측할 때 애플리케이션 시작을 카운트할 수 있다. 다른 방법으로는, 계측 모듈(254)은 처리 장치(120) 사이클이나 사용량을 감시하여 컴퓨터(110) 또는 개개의 애플리케이션이 얼마나 많이 실제로 동작 상태에 있었는지를 판정할 수 있다. 다른 실시예에서는, 신뢰성 있는 시계 관리자(270)를 감시하여, 소정의 인가된 사용 기간, 예를 들어, 역월 또는 30일이 만료했는지를 결정할 수 있다.The metrology module 254 can include a balance manager 266 that reads and verifies the current balance available to use the provisioned resources to update the current balance. The metrology module 254 may also include a configuration manager 268 for determining effective system configuration information, such as authorized, or chargeable peripherals. In addition, the metrology module 254 may include a reliable clock manager 270 to maintain a constantly increasing timer. The metrology module 254 can provide a mechanism for monitoring how often, how many, or for what period of time the computer 110, or components thereof, are used. The metrology module 254 can use a hook within the operating system to count application startup when metering usage by the application. Alternatively, the metrology module 254 can monitor the processing unit 120 cycles or usage to determine how many times the computer 110 or individual application was actually in operation. In another embodiment, the trusted watch manager 270 can be monitored to determine if a given authorized usage period, such as a calendar month or 30 days, has expired.

신뢰성 있는 시계 관리자(270)는 신뢰성 있는 하드웨어 시계(272)를 이용하여 단조롭게 변하는 타이머를 유지하는 작업을 달성할 수 있다. 신뢰성 있는 시계 관리자(270)를 이용하여 시스템 시간을 제공하거나, 시계 관리자(270)를 이용하여 사용량 계측만을 위한 시간 서비스를 제공할 수 있다. 잔고 관리자(266)와 신뢰성 있는 시계 관리자(270)는 LPM(125)의 보안 동작에 매우 민감하고 중요할 수 있으므로, LPM(125)의 동작 동안 다양한 보안 공격을 받을 수 있다.The reliable clock manager 270 can use the reliable hardware clock 272 to accomplish the task of maintaining a monotonically changing timer. The reliable clock manager 270 may be used to provide the system time, or the clock manager 270 may be used to provide a time service for measuring usage only. The balance manager 266 and the trusted watch manager 270 may be very sensitive and sensitive to the security operation of the LPM 125 and thus may be subject to various security attacks during the operation of the LPM 125.

시행 애드온 모듈(252)과 계측 모듈(254)을 함께 작업하여, 컴퓨터(110) 상의 프로비저닝된 자원의 활성화 및 비활성화를 구현할 수 있다. 시행 애드온 모듈(252)은 일정 이벤트에 기초하여 잔고 관리자(266)를 호출하는 이벤트 디스패처로서 기능을 할 수 있지만, 잔고 관리자(266)는 이벤트에 응답하여 호출될 때 어떤 행동을 취해야 하는지를 결정할 수 있다. 시행 애드온 모듈(252)로 하여금 잔고 관리자(266)를 호출하도록 할 수 있는 다양한 이벤트의 예로는 (1) 로그온 이벤트, (2) 시스템 언로크 이벤트, (3) 동면(hibernation) 이벤트로부터의 복원, (4) 스탠 바이 이벤트로부터의 웨이크 업, (5) 주변장치를 사용하는 요청과 같은 사용자 트리거된 이벤트, (6) 로그오프 이벤트, (7) 패킷 다운로드, (8) 타이머 틱 등이 있다. 잔고 관리자(266)는 이러한 이벤트를 입력으로서 받아들이고, 결과적인 행동을 시행 애드온 모듈(252)로 돌려보낸다.The enforcement add-on module 252 and the metrology module 254 can work together to implement activation and deactivation of provisioned resources on the computer 110. Enforcement add-on module 252 can function as an event dispatcher that calls balance manager 266 based on a schedule event, but balance manager 266 can determine what action to take when called in response to an event. . Examples of various events that may cause the enforcement add-on module 252 to invoke the balance manager 266 include (1) logon events, (2) system unlock events, (3) recovery from hibernation events, (4) wake-up from standby events, (5) user triggered events such as requests to use peripherals, (6) logoff events, (7) packet downloads, (8) timer ticks, and so on. Balance manager 266 accepts this event as input and returns the resulting action to trial add-on module 252.

트랜잭션 엔진(256)은 프로비저닝 패킷을 처리하여 잔고 관리자(266) 내의 잔고를 업데이트할 수 있다. 트랜잭션 엔진(256)은 임의의 프로비저닝 패킷을 한 번만 소비하여 잔고를 업데이트하는 것을 보장할 수 있다. 트랜잭션 엔진(256)은 원자적 업데이트와 조정 트랜잭션을 수행하도록 설계될 수 있으므로, 잔고와 자원 제공자 계정 모두를 업데이트하거나 잔고와 자원 제공자 계정 어느 것도 업데이트되지 않는다.Transaction engine 256 may process the provisioning packet to update the balance in balance manager 266. Transaction engine 256 may guarantee to update the balance by consuming any provisioning packet only once. Transaction engine 256 may be designed to perform atomic updates and reconciliation transactions, thereby updating both balances and resource provider accounts, or neither balances nor resource provider accounts.

프로비저닝 패킷을 처리하기 위해, 트랜잭션 엔진(256)은 디지털 서명 검증 회로(267)를 포함할 수 있다. 디지털 서명 검증 회로(267)는, 프로비저닝 패킷이 인터넷을 통해 전자 방식으로, LAN으로부터 로컬 방식으로, 이동식 매체로부터 수신되든지, 수동으로, 또는 다른 전송 방법으로 입력되든지 관계없이, 프로비저닝 패킷을 복호화하기 위한 회로 및/또는 소프트웨어를 가질 수 있다. 통상의 공개 키 기반구조(public key infrastructure; PKI)를 사용하면, 메시지를 복호화할 수 있고, 암호화되면, 해시를 생성하고 디지털 서명과 대조하여 검사함으로써 프로비저닝 패킷의 무결성과 진정성을 확인할 수 있다. 예를 들어, RSATM이나 타원 곡선과 같은 채용된 특정 암호화 알고리즘은 중요하지 않다. 발신자 검증과 콘텐츠 검 증을 포함한 디지털 서명 기술은 널리 공지되어 있으므로, 본원에서는 상세히 다루지 않는다.To process provisioning packets, transaction engine 256 may include digital signature verification circuitry 267. The digital signature verification circuit 267 is adapted to decrypt the provisioning packet regardless of whether the provisioning packet is received electronically via the Internet, locally from the LAN, from a removable medium, manually, or by another transmission method. May have circuitry and / or software. Using a common public key infrastructure (PKI), a message can be decrypted and, once encrypted, the integrity and authenticity of provisioned packets can be verified by generating a hash and checking against the digital signature. For example, the specific encryption algorithm employed, such as RSA or elliptic curve, is not critical. Digital signature techniques, including sender verification and content verification, are well known and are not discussed in detail herein.

보안 기억장치 관리자(258)로 인해, LPM(125)이 잔고 데이터를 보안 방식으로 기억할 수 있으므로, 사용자가 변조할 수 없고 LPM(125)에 의해서만 액세스 가능하다. 프로비저닝 패킷은 LPM(125)에 의해 다운로드된 후에, 보안 기억장치 관리자(258)에 기억될 수 있다. 이와 유사하게, 잔고 카운터와 패킷 소비 카운터는 보안 기억장치 관리자(258)에 기억될 수도 있다. 또한, 보안 기억장치 관리자(258)는 로컬 프로비저닝 모듈(125)의 셋업 및 동작 시 이용되는 데이터를 기억할 수도 있다. 또한, 활동 레벨을 결정하기 위한 소프트웨어, 사용량 스케줄과 연관된 규칙이나 알고리즘, 및 그 대응하는 임계값은 보안 기억장치 관리자(258)에 기억될 수 있다. 일반적으로, 이는, 훼손되는 경우, PPU 또는 프리페이 동작에 대한 제어를 회피하는데 이용될 수 있는 바로 그 데이터이다. 이와 같은 데이터 중에는, 한 컴퓨터(110)를 다른 컴퓨터와 구별하는데 이용될 수 있는 번호나 코드일 수 있는 고유 식별자가 있을 수 있다. 고유 식별자를 이용하여 단지 단일 장치에서 이용될 수 있는 디지털 서명된 프로비저닝 패킷을 준비할 수 있다. 프로비저닝 패킷은 잔고 관리자(266)에 금액을 더하도록 수신된 데이터, 새로운 또는 업데이트된 사용량 스케줄, 또는 활동 평가를 위한 새로운 규칙이나 임계값일 수 있다.The secure storage manager 258 allows the LPM 125 to store balance data in a secure manner, so that the user cannot modify it and is only accessible by the LPM 125. After the provisioning packet is downloaded by the LPM 125, it can be stored in the secure storage manager 258. Similarly, the balance counter and packet consumption counter may be stored in the secure storage manager 258. The secure storage manager 258 may also store data used in the setup and operation of the local provisioning module 125. In addition, software for determining activity levels, rules or algorithms associated with usage schedules, and their corresponding thresholds may be stored in secure storage manager 258. In general, this is the very data that, if compromised, can be used to circumvent control over PPU or prepay operation. Among such data may be a unique identifier, which may be a number or code that may be used to distinguish one computer 110 from another. The unique identifier can be used to prepare digitally signed provisioning packets that can only be used on a single device. The provisioning packet may be data received to add an amount to the balance manager 266, new or updated usage schedules, or new rules or thresholds for activity assessment.

프로비저닝 패킷의 인증과 연관된 데이터 중 일부는 보안 기억장치 관리자(258)에 기억될 수 있다. 예를 들어, 트랜잭션 시퀀스 번호는 재현(replay) 공격을 단념케 하거나 방지하는데 이용될 수 있다. 또한, 프로비저닝 패킷으로부터 "시작(no-earlier-than)" 날짜를 추출하고 기억하여, 시계 변조 공격을 단념케 하거나 방지할 수 있다. 일 실시예에서, 시작 날짜는 프로비저닝 패킷이 생성된 날짜/시간일 수 있다. 프로비저닝 패킷의 사용이 프로비저닝 패킷이 생성되기 전에 발생할 수 없기 때문에, 시간대를 고려한 후에는, 어느 것도 컴퓨터(110)의 시계를 최종 프로비저닝 패킷의 최근 날짜 전의 소정 날짜나 시간으로 설정할 수 없다.Some of the data associated with authentication of the provisioning packet may be stored in secure storage manager 258. For example, transaction sequence numbers can be used to discourage or prevent replay attacks. In addition, "no-earlier-than" dates can be extracted and stored from provisioning packets to discourage or prevent clock tampering attacks. In one embodiment, the start date may be the date / time at which the provisioning packet was generated. Since the use of the provisioning packet cannot occur before the provisioning packet is generated, nothing can set the clock of the computer 110 to a predetermined date or time before the most recent date of the last provisioning packet after considering the time zone.

보안 기억장치 관리자(258)에 의해 기억된 상태 데이터를 이용하여, 컴퓨터(110)가 완전히 동작 모드에 있는지 또는 컴퓨터(110)나 애플리케이션이 일정 제한이나 제재를 받는지를 지시할 수 있다. 대부분의 소프트웨어가 범용 시스템 메모리(130)로부터 기억되거나 실행될 수 있지만, 예를 들어, 이상적으로 변조 방지할 수 있는 애플리케이션, 루틴, 또는 드라이버와 같은 몇몇 실행 가능 코드가 존재할 수 있다. 예를 들어, 변조와 도용을 방지하기 위해, 신뢰성 있는 하드웨어 시계(272)를 설정하는 루틴 자체를 보호하는 것이 필요할 수 있다.The state data stored by the secure storage manager 258 may be used to indicate whether the computer 110 is in a fully operational mode or whether the computer 110 or application is subject to certain restrictions or sanctions. While most software can be stored or executed from general-purpose system memory 130, there may be some executable code such as, for example, an application, routine, or driver that can ideally be tamper resistant. For example, to prevent tampering and theft, it may be necessary to protect the routine itself for setting up a reliable hardware clock 272.

계측 모듈(254)에 의해 생성되거나 사용되는 계측 또는 사용량 데이터는 시스템 메모리(130)에 의해 제공되는 많은 보호를 필요로 할 수 있으므로, 보안 기억장치 관리자(258)에 기억될 수 있다. 계측 또는 사용량 데이터는, 예를 들어, 남은 사용량 단위 숫자, 최대 허용 가능한 사용량 단위 숫자, 계측된 애플리케이션의 목록, 또는 정지 날짜/시간을 포함할 수 있다. 신청에 의한 가입 계획은 계측 또는 신청에 의한 가입 데이터와 밀접하게 관련될 수 있다. 상술한 바와 같이, 유연성을 제공하기 위해, 사용자는 다수의 신청에 의한 가입 계획에서 선택하는 것이 허용될 수 있다. 이들 신청에 의한 가입 계획은 기간별 사용, 다수의 시간 동안의 사용, 다수의 활동이나 사용량을 이용한 애플리케이션별 사용, 입출력(네트워크 접속성) 단위 사용뿐만 아니라, 상기 사용들의 조합을 포함한 다른 사용도 포함할 수 있다. 신청에 의한 가입 계획의 보호는, 도용 사용을 일으킬 수 있는 새로운 계획을 사용자가 변경하거나 생성할 수 있는 것이 바람직하지 않기 때문에, 중요할 수 있다. 신청에 의한 가입 계획이 PPU 또는 계측된 사용을 요구하는 경우, 적당한 비즈니스 규칙을, 존재하지 않더라도, 안전하게 다운로드하여 보안 기억장치 관리자(258)에 기억할 수 있다.The metering or usage data generated or used by the metering module 254 may require a lot of protection provided by the system memory 130 and therefore may be stored in the secure storage manager 258. The metering or usage data may include, for example, the remaining usage unit number, the maximum allowable usage unit number, the list of metered applications, or the stop date / time. The subscription plan by application may be closely related to the subscription data by measurement or application. As discussed above, to provide flexibility, a user may be allowed to select from a subscription plan with multiple subscriptions. Subscription plans for these applications may include time-based usage, multiple hours of use, application-specific usage with multiple activities or usages, as well as other inputs and outputs, as well as other inputs including combinations of these uses. Can be. The protection of the subscription plan by application can be important because it is not desirable for the user to change or create a new plan that could lead to theft use. If the subscription plan by application requires PPU or metered use, appropriate business rules, even if not present, can be safely downloaded and stored in secure storage manager 258.

인증서 철회 목록(certificate revocaton list; CRL)을 이용하여, 현재 루트 인증서가 유효한지를 결정할 수 있다. 호스트로부터 실시간으로 검색되지 않는 경우에는, CRL을 안전하게 로컬 방식으로 기억하여 훼손되거나 비인가된 비밀 키에 의해 서명된 프로비저닝 패킷을 제시함으로써 도용 사용을 허용할 수 있는 변조를 방지할 수 있다. 루트 인증서의 공개 키가 공개 영역에 존재하고, 기술적으로 보호를 필요로 하지 않지만, 프로비저닝 패킷 검증을 위해, 루트 인증서는 보안 기억장치 관리자(258)에 기억될 수 있다. 도시된 구현예에서는, 사용자 경험 모듈(262)이 보안 기억장치 관리자(258)에 액세스할 수 있도록, 보안 기억장치 관리자(258)를 동적 링크 라이브러리(dynamic link library; dll)로서 구현한다.A certificate revocaton list (CRL) can be used to determine whether the current root certificate is valid. If not retrieved in real time from the host, the CRL can be stored securely in a local manner to prevent tampering that could allow theft use by presenting provisioned packets signed by compromised or unauthorized secret keys. Although the public key of the root certificate is in the public domain and technically does not require protection, the root certificate can be stored in the secure storage manager 258 for provisioning packet verification. In the illustrated implementation, the secure storage manager 258 is implemented as a dynamic link library (dll) so that the user experience module 262 can access the secure storage manager 258.

데이터 암호화 키를 이용하여 보안 기억장치 관리자(258)에 데이터를 기억할 수 있고, 데이터 암호화 키를 갖는 모듈만이 보안 기억장치 관리자(258)로부터 데이터를 판독할 수 있으므로, 보안 기억장치 관리자(258)에 기억된 데이터가 안전한 것을 보장하게 된다. 보안 기억장치 관리자(258)는 로컬 보안 기관(local security authority; LSA) 데이터베이스(276)와 통신하는 LSA 서브시스템(274), 보안 하드웨어 기억장치(280)와 통신하는 기억장치 드라이버(278), 및 컴퓨터(110) 상의 파일(284)과 통신하는 파일 시스템 드라이버(282)와 통신할 수 있다. 보안을 강화하기 위해, 각각의 사본을 상호 참조하여 어떤 단일 데이터 사본도 변조되지 않음을 보장할 수 있도록, 보안 기억장치 관리자(258)의 다른 구현예는 보안 기억장치 관리자(258)에 기억된 다수의 사본 데이터를 이용할 수도 있다. 본원에서 설명되는 LPM(125)의 구현예는 소프트웨어에 구현된 보안 기억장치 관리자(258)를 갖지만, 다른 구현예에서, 보안 기억장치 관리자(258)는 하드웨어에 구현될 수 있다.The data encryption key can be used to store data in the secure storage manager 258, and only a module having the data encryption key can read data from the secure storage manager 258, thus providing secure storage manager 258. This ensures that the data stored in is secure. Secure storage manager 258 includes LSA subsystem 274 in communication with local security authority (LSA) database 276, storage driver 278 in communication with secure hardware storage 280, and A file system driver 282 may be in communication with a file 284 on the computer 110. To enhance security, other implementations of the secure storage manager 258 may have multiple stored in the secure storage manager 258 so as to cross-reference each copy to ensure that no single copy of data is tampered with. You can also use copy data from. The implementation of the LPM 125 described herein has a secure storage manager 258 implemented in software, but in other implementations, the secure storage manager 258 may be implemented in hardware.

통신 모듈(260)은 서비스 제공자로부터 프로비저닝 패킷 및/또는 인증서를 요청하거나 추가 프로비저닝 패킷을 구매하는 패킷/인증서 요청 관리자(286), 및 LPM(125)이 네트워크(10)와 통신할 수 있도록 하는 웹 서비스 통신 관리자(290)를 포함할 수 있다.The communication module 260 is a packet / certificate request manager 286 that requests provisioning packets and / or certificates from a service provider or purchases additional provisioning packets, and a web that allows the LPM 125 to communicate with the network 10. May include a service communication manager 290.

패킷/인증서 요청 관리자(286)는 패킷 또는 인증서를 다운로드하라는 요청을 수신할 수 있다. 또한, 패킷/인증서 요청 관리자(286)는 인증서 또는 프로비저닝 패킷의 성공적인 다운로드 시 서비스 제공자(도시안함)에게 ACK(acknowledge)하는 책임을 질 수 있다. 패킷/인증서 요청 관리자(286)는 프로비저닝 프로토콜을 이용하여 통신할 수 있다. 패킷/인증서 요청 관리자(286)에 의해 다운로드된 패킷은 보안 기억장치 관리자(258)에 기억될 수 있다.The packet / certificate request manager 286 may receive a request to download a packet or certificate. In addition, the packet / certificate request manager 286 may be responsible for acknowledging the service provider (not shown) upon successful download of the certificate or provisioning packet. Packet / certificate request manager 286 may communicate using a provisioning protocol. Packets downloaded by the packet / certificate request manager 286 may be stored in the secure storage manager 258.

구매 관리자(288)로 인해, 컴퓨터(110)의 사용자는 사용자로부터 지불 정보를 수신하고 지불 정보를 서비스 제공자나 펀딩 계정(도시안함)에 전달하여 프로비 저닝 패킷을 구매함으로써 로컬 잔고에 금액을 추가할 수 있다. 예를 들어, 로컬 판매점에서 스크래치 카드의 구매를 이용하여 펀딩 계정에 금액을 추가한 후, 이를 이용하여 다운로드되는 프로비저닝 패킷을 생성, 검증 및 이용함으로써 잔고를 업데이트할 수 있다. 패킷/인증서 요청 관리자(286)와 구매 관리자(288)는 모두 웹 서비스 통신 관리자(290)를 이용하여 네트워크(10)와 통신할 수 있다. 웹 서비스 통신 관리자는 네트워크 서비스 관리자(292)와 네트워크 인터페이스 카드(294; NIC)를 이용하여 네트워크(10)와 통신할 수 있다. 일 구현예에서는, 웹 서비스 통신 관리자(290)를 이용하여 네트워크(10)와 통신하고, 다른 실시예에서는, 파일 전송 프로토콜(FTP) 등과 같은 기타 통신 툴을 이용하여 네트워크(10)와 통신할 수 있다는 것에 주목하자.Due to the purchase manager 288, the user of the computer 110 receives payment information from the user and passes the payment information to the service provider or funding account (not shown) to add the amount to the local balance by purchasing the provisioning packet. can do. For example, a local retailer may add an amount to a funding account using a purchase of a scratch card and then update the balance by creating, validating and using a provisioning packet downloaded. Both packet / certificate request manager 286 and purchase manager 288 may communicate with network 10 using web service communication manager 290. The web service communication manager may communicate with the network 10 using the network service manager 292 and the network interface card 294 (NIC). In one implementation, the web service communication manager 290 may be used to communicate with the network 10, and in other embodiments, other communication tools, such as a file transfer protocol (FTP), may be used to communicate with the network 10. Note that there is.

사용자 경험 모듈(262)은, 패킷/인증서 요청 관리자(286)가 서비스 제공자(도시안함)로부터 인증서를 다운로드하는 것을 허용하는 InitKey를 입력하도록 사용자에게 요구하는 활성화 사용자 인터페이스(296; UI), 및 LPM(125)이 사용자와 상호 작용하는 것을 허용하는 통지 UI(298)를 포함할 수 있다. 또한, 활성화 UI(296)는 구매 관리자(288)를 호출하여, 사용자가 잔고 재충전을 위한 추가 프로비저닝 패킷을 구매하는 것을 허용할 수 있다.User experience module 262 includes an activation user interface 296 (UI) that prompts the user to enter an InitKey that allows packet / certificate request manager 286 to download a certificate from the service provider (not shown), and the LPM. May include a notification UI 298 that allows 125 to interact with the user. In addition, activation UI 296 may invoke purchase manager 288 to allow the user to purchase additional provisioning packets for recharging balances.

통지 UI(298)는 사용자가 현재 잔고 정보나 사용량 이력 등을 질의하는 것을 허용하는 다양한 사용자 인터페이스를 포함할 수 있다. 통지 UI(298)는 사용자 또는 로그인 로직(264)에 의해 호출될 수 있다. 프로비저닝된 자원을 이용하는데 쓸 수 있는 잔고가 낮은 상황에서는, 로그인 로직(264)이 통지 UI(298)를 호출하여 추 가 구매가 필요할 수 있음을 사용자에게 통지할 수 있다. 통지 UI는 항상 활동 중일 수 있고, 작업표시줄 아이콘, 제어 패널 애플릿, 벌룬 팝업을 통해, 또는 임의의 다른 널리 공지되어 있는 UI 방법을 이용함으로써 사용자에게 통지 서비스를 제공할 수 있다.The notification UI 298 may include various user interfaces that allow a user to query current balance information, usage history, and the like. Notification UI 298 may be invoked by user or login logic 264. In situations where the balance available to use the provisioned resources is low, the login logic 264 may call the notification UI 298 to notify the user that additional purchases may be needed. The notification UI may be active at all times and provide the notification service to the user via a taskbar icon, control panel applet, balloon popup, or by using any other well known UI method.

동작 시, 컴퓨터(110)는 예를 들어, 경과한 사용 시간, 일정 시간(calendar time), 애플리케이션 시작 등과 같은 몇몇 메커니즘 중 임의의 메커니즘에 의한 PPU 또는 다른 계측된 사용을 측정한다. 적어도 표면적으로, 가장 쉬운 측정 방법은, 단순 동작 시간일 수 있다. 예를 들어, 10 시간의 선불(pre-paid) 사용을 구매하여, 구매 잔고 관리자(266)에서 프로비저닝할 수 있다. 사용 시간을 측정하여, 전체 누적된 잔고에서 뺄 수 있다. 10 시간의 사용을 소비하는 경우, 시행 모듈(252)은, 컴퓨터(110)의 동작을 중지시키거나, 상술한 바와 같은 다른 제재를 시행할 수 있다.In operation, computer 110 measures PPU or other metered usage by any of several mechanisms, such as elapsed usage time, calendar time, application startup, and the like. At least on the surface, the easiest method of measurement may be a simple operating time. For example, 10 hours of pre-paid usage can be purchased and provisioned in the purchase balance manager 266. The usage time can be measured and subtracted from the total accumulated balance. In the case of spending 10 hours of use, the enforcement module 252 may suspend the operation of the computer 110 or enforce other sanctions as described above.

PPU를 판정하기 위한 임의의 메트릭을 추적하여 기록할 때, 측정 정확도는 고객 만족을 위한 중요한 핵심일 수 있다. 측정이 서비스 제공자에게 유리하면, 고객은 불만을 갖게 되고 경쟁적인 제안을 받기 쉽다. 한편, 측정이 고객에게 유리하면, 서비스 제공자는 재정상의 목표를 실현할 수 없다.When tracking and recording any metric for determining PPU, measurement accuracy can be an important key for customer satisfaction. If the measurement is in the service provider's favor, the customer is dissatisfied and is likely to receive a competitive offer. On the other hand, if the measurement is in favor of the customer, the service provider cannot realize the financial goal.

상술한 바와 같이, 가장 명확한 기술인, 특히 시간을 측정하는 기술을 사용하면, 감시된 조건의 해석 때문에 틀리기 쉽다. 컴퓨터 사용량, 특히, 시간을 정확히 계측하려는 공정한 계측을 보장하는 것을 돕기 위해, 다수의 기준을 분석하여 사용량을 측정해야 하는지 여부를 결정할 수 있다.As mentioned above, the most obvious technique, in particular the technique of measuring time, is likely to be wrong due to the interpretation of the monitored condition. To help ensure computer usage, and in particular, fair metering to accurately measure time, multiple criteria can be analyzed to determine whether usage should be measured.

도 4는 컴퓨터(110)의 사용량을 계측하는 방법을 도시한 흐름도이다. 컴퓨터(110) 또는 더욱 상세하게는, 잔고 관리자(266)는 제1 사용량 스케줄에 따라 컴퓨터의 사용량을 측정할 수 있다. 사용량 스케줄은 직접적인 사용량과 같을 수 있는데, 예를 들어, 측정된 사용의 각 분에 대해 1분의 지불된 시간을 뺄 수 있다. 다른 방법으로는, 사용량 스케줄은 분당 1센트와 같이, 시세와 시간 간에 변환될 수 있다. 제1 사용량 스케줄은 다수의 등급과 특정 항목을 표현할 수 있는데, 예를 들어, 또 다른 실시예의 경우, 사용량 스케줄은 예를 들어, 처음 60분 동안에는 분당 1센트이고, 처음 60분 이후에는 분당 0.5센트와 같은 할인을 적응시킬 수 있다. 명확히 알 수 있는 바와 같이, 다른 동작은 사용량을 측정하는 단계(302)와 연관된다. 예를 들어, 측정을 선택하면, 허용된 사용량과의 비교가 이루어질 수 있고, 선불 사용의 소비와 관련된 경고나 제재가 본원에서 개략적으로 설명되는 단계와 동시에 실행될 수 있다. 이와 같은 행동은 상기 참조되는 관련 출원 11/006,837에서 상세히 논의되므로, 본 발명의 개념을 명확히 설명하기 위해 본원에서는 논의되지 않는다.4 is a flowchart illustrating a method of measuring the amount of use of the computer 110. Computer 110, or more specifically, balance manager 266, may measure usage of the computer according to a first usage schedule. The usage schedule may be the same as the direct usage, for example, subtracting one minute paid time for each minute of measured usage. Alternatively, the usage schedule can be converted between quotes and time, such as one cent per minute. The first usage schedule may represent a number of classes and specific items, for example, in another embodiment, the usage schedule is, for example, one cent per minute for the first 60 minutes and 0.5 cents per minute after the first 60 minutes. You can adapt a discount such as As can be appreciated, another operation is associated with measuring usage 302. For example, by selecting a measurement, a comparison with the allowed usage can be made and warnings or sanctions relating to the consumption of prepaid use can be executed concurrently with the steps outlined herein. Such behavior is discussed in detail in the related application 11 / 006,837 referenced above, and therefore is not discussed herein to clarify the concept of the invention.

사용량뿐만 아니라 정전과 같은 예상치 못한 서비스의 중단 동안 데이터를 복구하는데 있어 유용할 수 있는 관련 정보도 기록될 수 있다(304). 이와 같은 관련 정보는 측정 간의 시간을 포함할 수 있다. 또한, 활동 레벨도 감시될 수도 있다(306). 활동 레벨이 임계값 위이면, "예" 분기를 선택하고, 블록(302)에서 사용량 측정을 계속한다. 활동 레벨을 감시하는 단계는 전체적인 컴퓨터(100) 상태의 더 완전한 이해를 얻기 위해 컴퓨터(110) 내의 하나 이상의 구성 요소의 상태를 감 시하는 단계를 포함할 수 있다. 컴퓨터(110)의 활동 레벨은 입력 장치(161, 162), 프린터(196), 웹 카메라(163), 하드 디스크 드라이브(141), 통신 장치(170, 172), 및 처리 장치(120)와 같은 장치 중 하나의 장치 또는 그 조합의 활동 레벨에 대응할 수 있다. 각각의 구성 요소는 최종 계측 결정에서 이용하기 위한, 별도의 활동 레벨, 즉, 전체적인 임계값 레벨에 기여하는 개개의 임계값을 가질 수 있다. 예시를 위해, 마우스(161)로부터의 입력은 항상 사용량 임계값 위의 활동으로서 해석될 수 있다. 입력 장치(161, 162)와 같은 일련의 주요 장치로부터의 활동이 활동 임계값 아래인 것으로 감지되는 경우, 블록(306)으로부터 어떤 분기도 선택되지 않는다. 제2 활동이 전체적인 활동이 임계값 아래인 것으로 지시하는지를 결정하기 위해, 활동을 더 평가할 수 있다(308). 가장 간단한 경우, 사용량 잔고로부터의 공제를 중지하기 위해, 모든 감시된 활동 레벨은 잔고 관리자(266)에 대한 그 각각의 임계값 아래에 있어야 한다. 그러나, 아래에 설명하는 바와 같이, 이러한 결정을 위한 규칙은 더 복잡할 수 있다.In addition to usage, relevant information may also be recorded 304 that may be useful in recovering data during unplanned outages such as power outages. Such related information may include the time between measurements. Activity levels may also be monitored (306). If the activity level is above the threshold, select the “Yes” branch and continue to measure usage at block 302. Monitoring activity levels may include monitoring the status of one or more components within computer 110 to obtain a more complete understanding of the overall computer 100 status. The activity level of the computer 110 is such as input devices 161, 162, printer 196, web camera 163, hard disk drive 141, communication devices 170, 172, and processing device 120. May correspond to the activity level of one of the devices or a combination thereof. Each component may have separate thresholds that contribute to a separate activity level, i.e., the overall threshold level, for use in the final metrology decision. For illustration purposes, input from mouse 161 may always be interpreted as activity above a usage threshold. If activity from a series of primary devices, such as input devices 161 and 162, is detected to be below an activity threshold, no branch from block 306 is selected. The activity may be further evaluated 308 to determine if the second activity indicates that the overall activity is below a threshold. In the simplest case, to stop the deduction from the usage balance, all monitored activity levels must be below their respective thresholds for the balance manager 266. However, as described below, the rules for this determination may be more complex.

블록(308)에서 추가 평가를 수행하는 경우, 처리 장치(120)와 같은 다른 구성 요소의 활동 레벨은 통상의 임계값 위일 수 있지만, 그 활동 크기가 화면 보호기, 바이러스 체커, 소프트웨어 업데이트 프로세스, 가사 유틸리티 등과 같은 공지된 백그라운드 프로세스 때문인 경우, 규칙은 블록(308)에서 "예" 분기를 선택하는 것을 중지할 수 있다. 그러면, 결국, 잔고 관리자(266)는 제2 사용량 스케줄에 따라 미티렁할 수 있다. 즉, 잔고 관리자(266)는 예를 들어, 제1 등급의 10%인 제2 등급으로 사용량 잔고에서 공제하거나, 전부 사용량 잔고에서 공제하는 것을 중단 할 수 있다. 임의의 주어진 순간에서 사용 중인 실제 사용량 스케줄은 다양한 규칙 및/또는 계약 약정에 따라 다수의 사용량 스케줄 중 임의의 사용량 스케줄에서 선택될 수 있다.If further evaluation is performed at block 308, the activity level of other components, such as processing unit 120, may be above a normal threshold, but the size of the activity may be a screen saver, virus checker, software update process, housekeeping utility. If due to a known background process, such as the like, the rule may stop selecting the “Yes” branch at block 308. Then, in the end, the balance manager 266 may run out according to the second usage schedule. That is, the balance manager 266 may, for example, deduct from the usage balance to the second grade, which is 10% of the first grade, or stop all deduction from the usage balance. The actual usage schedule in use at any given moment may be selected from any of the multiple usage schedules in accordance with various rules and / or contractual arrangements.

한편, 블록(306)에서 다른 비활동 지시기를 관찰한 후에, 예를 들어, 다시 처리 장치(120)와 같은 다른 구성 요소의 활동 레벨은 활동 임계값 아래에 있을 수 있지만, 블록(308)에서 처리 장치(120) 활동의 분석은, 카메라로부터의 그림을 주기적으로 처리하여 이를 웹 사이트에 게시하고 있는 이미지 캡처 프로그램이 실행 중임을 나타낸다. 웹캠을 동작하는 것은, 계약에 의해 경우에 따라 활동 중인 사용으로서 카운트되는 컴퓨터의 낮은 활동 사용의 일 예일 수 있으므로, 블록(308)에서 어떤 분기도 선택할 수 없고, 잔고 관리자(266)는 어떤 사용자도 물리적으로 컴퓨터(110)를 사용하고 있지 않더라도 사용량 잔고로부터 계속 공제할 수 있다. 다른 방법으로는, 본 예에서, 제1 사용량 스케줄의 등급보다 낮지만 전혀 공제하지 않는 제2 또는 제3 사용량 스케줄에 따라 규칙을 적용하여, 웹캠 사용량을 계측할 수 있다. 다수의 사용량 스케줄과 대응하는 계측 등급은 사용량 활동의 분석과 규칙에 기초하여 개발될 수 있음을 명확히 알 수 있다.On the other hand, after observing another inactivity indicator at block 306, the activity level of another component, such as, for example, processing device 120 again, may be below an activity threshold, but at block 308 Analysis of device 120 activity indicates that an image capture program is running that periodically processes the picture from the camera and posts it to a website. Operating the webcam may be an example of a computer's low activity usage, which is counted as active usage in some cases by contract, so no branch at block 308 may be selected, and the balance manager 266 may not have any users. Even if the computer 110 is not physically used, the usage balance can be continuously deducted. Alternatively, in this example, the webcam usage may be measured by applying a rule according to a second or third usage schedule that is lower than the rank of the first usage schedule but does not deduct at all. It is clear that multiple usage schedules and corresponding measurement classes can be developed based on analysis and rules of usage activity.

도 5를 간단히 참조하면, 활동 프로파일을 도시한 그래프가 컴퓨터(110)의 활동 레벨의 분석을 나타낸다. 시간에 대한 전체적인 컴퓨터(110) 활동 레벨의 예시적인 프로파일(402)은 소정의 기간 동안 임계값 레벨(404) 아래로 떨어진 후 다시 활동 임계값 위로 상승하는 활동 레벨을 도시한다. 본 예에서, 규칙은, 그래프 선분(410)에 의해 도시된, 제2 사용량 스케줄로의 전환 전에, 그래프 선분(408)에 의해 도시된 바와 같이, 제1 사용량 스케줄을 이용하는 계측으로부터 사용량이 전환되기 전에, 소정의 시간 "A(406)" 동안 활동 레벨이 임계값 아래를 유지할 것을 요구한다. 지연으로 인해, 사용자가 존재하고 있으며 문서의 페이지를 읽기보다는 컴퓨터(110)를 떠났다는 결정을 내릴 수 있다. 잔고 관리자(266)에 의해 기간 "A(406)"의 지속 기간을 이용하여, 제2 사용자 스케줄로의 전환 후에 사용량 잔고를 조정할 수 있다. 지연 기간 "A(406)"는 사용자의 사용량 잔고에 할당될 수 있다. 이로 인해, 사용자는 제2 사용량 스케줄로의 전환 전에 비활동 요구사항을 만족하기 위해 사용되는 시간 동안 크레디트가 주어진다. 다른 상황에서, 잔고 관리자(266)는 예를 들어, 비계측된 등급에서 계측된 등급으로의 전이 시 지연이 발생할 때 사용량 잔고를 공제하거나 차변에 기입할 수 있다. 그래프 선분(412)에 의해 도시된 바와 같이, 잔고 관리자(266)는 활동 레벨이 임계값(404) 위로 복귀할 때 제1 사용량 스케줄에 따라 계측하도록 복귀할 수 있다. 활동 레벨의 (감소하거나 증가하는) 방향에 따라 임계값 레벨이 변할 수 있도록, 몇몇 히스테리시스를 규칙에 추가할 수 있다.Referring briefly to FIG. 5, a graph depicting an activity profile shows an analysis of the activity level of the computer 110. An exemplary profile 402 of the overall computer 110 activity level over time shows the activity level falling below the threshold level 404 for a period of time and then rising back above the activity threshold. In this example, the rule is that usage is switched from measurement using the first usage schedule, as shown by graph segment 408, before switching to the second usage schedule, shown by graph segment 410. Before, requires that the activity level remain below the threshold for a predetermined time "A 406". Due to the delay, it may be determined that the user is present and has left computer 110 rather than reading a page of the document. The balance manager 266 may use the duration of the period “A 406” to adjust the usage balance after switching to the second user schedule. The delay period "A 406" may be assigned to the user's usage balance. As such, the user is given credit for the time used to meet inactivity requirements before switching to the second usage schedule. In other situations, the balance manager 266 may deduct or debit the usage balance, for example, when a delay occurs when transitioning from a non-measured rating to a measured rating. As shown by graph line 412, balance manager 266 may return to measure according to the first usage schedule when activity level returns above threshold 404. Some hysteresis can be added to the rule so that the threshold level can change depending on the direction of activity level (decrease or increase).

도 5의 사용량 프로파일은 컴퓨터의 전체적인 활동 레벨을 나타낼 수 있다. 이와 유사하게, 상술한 바와 같이, 도 5의 사용량 프로파일은 다수의 사용량 프로파일 중 하나를 나타낼 수 있다. 예를 들어, 사용량 프로파일은 몇몇의 컴포넌트 레벨 장치를 지시하기 위해, 하드 디스크 드라이브(141), 통신 장치(170, 172), 또는 처리 장치(120)에 대해 유지될 수 있다. 훨씬 정밀한 평가를 행하기 위해, 사용량 프로파일은 예를 들어, 시스템 메모리(132)의 한 범위나 하드 디스크 드라이 브(141) 기억장치의 한 섹터와 같은 서브컴포넌트 레벨에서 만들어질 수 있다. 상술한 바와 같이, 사용량 프로파일은 따로따로 평가되거나, 직접 또는 가중된 합계를 이용하여 전체적인 계측 관련 결정에 도달할 수 있다. 다른 예에서, 컴포넌트 또는 자원이 아이들 상태에 있어야 하는 시간 길이는 변할 수 있는데, 예를 들어, 기간 "A(406)"는 컴포넌트에 따라 짧아지거나 길어질 수 있다. 이와 동시에, 사용량 프로파일의 수직축은 단순한 2가(two-value) 온/오프 스케일을 나타내거나, 예를 들어, 메모리(132)와 같은 메모리의 한 범위의 콘텐츠의 퍼센트 변화, 즉, 단위 시간당 퍼센트 변화와 같은 이산 측정값을 가질 수 있다.The usage profile of FIG. 5 may represent the overall activity level of the computer. Similarly, as described above, the usage profile of FIG. 5 may represent one of a plurality of usage profiles. For example, a usage profile may be maintained for the hard disk drive 141, the communication devices 170, 172, or the processing device 120 to indicate several component level devices. In order to make a more precise evaluation, the usage profile can be created at a subcomponent level, for example, a range of system memory 132 or a sector of hard disk drive 141 storage. As discussed above, the usage profile may be evaluated separately, or use a direct or weighted sum to reach an overall metrology related decision. In another example, the length of time that the component or resource should be in the idle state may vary, for example, the period “A 406” may be shortened or lengthened depending on the component. At the same time, the vertical axis of the usage profile represents either a simple two-value on / off scale, or a percentage change in the content of a range of memory, such as, for example, memory 132, i.e., a percentage change per unit time. It can have discrete measurements such as

도 4로 돌아가면, 상술한 바와 같이, 잔고 관리자(266)는 활동 레벨을 결정하기 위한 규칙에 의해 부과될 수 있는 임의의 지연에 따라 잔고를 조정(310)할 수 있다. 모든 기준을 만족하면, 잔고 관리자(266)는 제2 사용량 스케줄에 따라 사용량을 측정할 수 있는데(312), 즉, 서로 다른 등급으로 잔고에서 금액을 공제하거나, 전혀 공제하지 않을 수 있다. 활동 레벨을 임계값 위로 다시 이동시키는 이벤트가 발생할 때(314), 블록(302)에서 제1 사용량 스케줄에 따라 등급으로 측정을 복귀시킬 수 있다.4, as described above, the balance manager 266 may adjust 310 the balance according to any delay that may be imposed by a rule for determining the activity level. If all the criteria are met, the balance manager 266 may measure usage according to the second usage schedule (312), ie, deduct the amount from the balance in different grades, or not at all. When an event occurs that moves the activity level back above the threshold (314), the measure may return to rating according to the first usage schedule at block 302.

이상, 컴퓨터 사용량의 정밀한 계측을 위한 하드웨어 및 소프트웨어 실시예를 포함한 몇몇 특정 실시예를 설명하였다. 유익한 사용량을 결정하여 측정하는 더 공정하고 정확한 방법은 컴퓨터(110)의 하나 이상의 구성 요소의 활동 레벨을 감시하여 평가하고 적당한 비즈니스 규칙을 적용함으로써 개시된다. 이는 광범위한 가정, 사무실 및 기업의 PPU 또는 계측된 사용 애플리케이션에 도움이 된다. 그러나, 당업자는 적당한 사용량 스케줄을 결정하는 것과 연관된 다소 복잡한 규칙뿐만 아니라 다수의 등급 스케줄, 활동 감시를 위한 하드웨어 또는 소프트웨어의 서로 다른 조합의 이용을 포함하지만 이에 한정되지 않는 이들 실시예를 다양하게 수정 및 변화시킬 수 있음을 이해할 것이다. 따라서, 본 명세서와 도면은 한정적인 의미보다는 예시적인 것으로서 고려되어야 하고, 이와 같은 모든 수정은 본 특허 출원의 범위 내에 포함되는 것으로 의도된다.In the above, some specific embodiments have been described, including hardware and software embodiments for precise measurement of computer usage. A more fair and accurate way of determining and measuring beneficial usage is initiated by monitoring and evaluating the activity levels of one or more components of computer 110 and applying appropriate business rules. This is helpful for a wide range of home, office and corporate PPU or instrumented use applications. However, one of ordinary skill in the art would, however, be able to make various modifications to these embodiments, including but not limited to the use of multiple rating schedules, different combinations of hardware or software for activity monitoring, as well as rather complex rules associated with determining a suitable usage schedule. I will understand that it can change. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of this patent application.

Claims (18)

컴퓨터의 사용량을 계측하는 방법으로서,As a method of measuring the amount of computer usage, 제1 사용량 스케줄에 따라 상기 컴퓨터의 사용량을 측정하는 단계;Measuring usage of the computer according to a first usage schedule; 상기 컴퓨터의 활동 레벨을 감시하는 단계; 및Monitoring the activity level of the computer; And 상기 컴퓨터의 활동 레벨이 임계값에 도달할 때, 제2 사용량 스케줄에 따라 상기 컴퓨터의 사용량을 측정하는 단계를 포함하는 컴퓨터 사용량의 계측 방법.When the activity level of the computer reaches a threshold, measuring the usage of the computer according to a second usage schedule. 제1항에 있어서,The method of claim 1, 상기 제2 사용량 스케줄은 상기 제1 사용량 스케줄보다 낮은 등급(rate)으로 사용량을 측정하는 방법.And the second usage schedule measures usage at a lower rate than the first usage schedule. 제1항에 있어서,The method of claim 1, 상기 컴퓨터의 활동 레벨을 감시하는 단계는 상기 컴퓨터의 다수의 구성 요소의 활동 레벨을 감시하는 단계를 더 포함하고,Monitoring the activity level of the computer further comprises monitoring the activity level of a plurality of components of the computer, 상기 임계값은 상기 다수의 구성 요소 중 적어도 하나의 구성 요소의 활동 레벨에 대응하는 방법.Wherein the threshold corresponds to an activity level of at least one of the plurality of components. 제1항에 있어서,The method of claim 1, 상기 제1 및 제2 사용량 스케줄 중 어느 하나에 따라 상기 컴퓨터의 사용량 을 기록하는 단계를 더 포함하는 방법.Recording the usage of the computer according to any one of the first and second usage schedules. 제1항에 있어서,The method of claim 1, 상기 컴퓨터의 활동 레벨이 일정 기간 동안 소정의 레벨을 적어도 유지한 후에, 상기 컴퓨터의 활동 레벨은 상기 활동 레벨의 임계값에 도달하는 방법.After the activity level of the computer maintains at least a predetermined level for a period of time, the activity level of the computer reaches a threshold of the activity level. 제5항에 있어서,The method of claim 5, 상기 컴퓨터의 활동 레벨이 상기 소정의 레벨을 적어도 유지한 후에, 상기 일정 기간에 대응하는 사용량 금액을 조정하는 단계를 더 포함하는 방법.After the activity level of the computer at least maintains the predetermined level, adjusting the amount of usage corresponding to the period of time. 제1항에 있어서,The method of claim 1, 상기 컴퓨터의 활동 레벨은 입력 장치, 프린터, 웹 카메라, 하드 디스크 드라이브, 통신 장치, 및 처리 장치 중 하나의 활동 레벨에 대응하는 방법.The activity level of the computer corresponds to an activity level of one of an input device, a printer, a web camera, a hard disk drive, a communication device, and a processing device. 제1항에 있어서,The method of claim 1, 상기 컴퓨터의 활동 레벨은 상기 컴퓨터 상에서 실행되는 애플리케이션에 대응하는 상기 임계값에 도달하는 방법.The activity level of the computer reaches the threshold corresponding to an application running on the computer. 제8항에 있어서,The method of claim 8, 상기 애플리케이션이 화면 보호기, 바이러스 체커, 유틸리티, 및 업데이트 중 하나인 경우 외에는, 상기 컴퓨터의 활동 레벨은 상기 컴퓨터 상에서 실행되는 상기 애플리케이션에 대응하는 상기 임계값에 도달하는 방법.The activity level of the computer reaches the threshold corresponding to the application running on the computer, except when the application is one of a screen saver, a virus checker, a utility, and an update. 사용량을 계측하도록 적응된 컴퓨터로서,A computer adapted to measure usage, 데이터 및 프로그램 코드를 기억하기 위한 메모리; 및A memory for storing data and program codes; And 상기 메모리에 연결된 프로세서 - 상기 프로세서는 계측 프로그램을 실행하여 상기 컴퓨터의 활동 레벨을 감지하고 상기 컴퓨터의 활동 레벨에 응답하여 사용량을 계측함 - 를 포함하는 사용량을 계측하도록 적응된 컴퓨터.A processor coupled to the memory, the processor executing a measurement program to sense an activity level of the computer and measure usage in response to the activity level of the computer. 제10항에 있어서,The method of claim 10, 상기 계측 프로그램은 입력 장치, 프린터, 웹 카메라, 하드 디스크 드라이브, 통신 장치, 디스플레이 드라이버 및 프로세서 중 적어도 하나의 활동 레벨을 결정하는 컴퓨터.The metrology program determines an activity level of at least one of an input device, a printer, a web camera, a hard disk drive, a communication device, a display driver, and a processor. 제10항에 있어서,The method of claim 10, 상기 계측 프로그램은 유틸리티, 화면 보호기, 바이러스 체커, 업데이트, 및 상기 계측 프로그램 중 적어도 하나에 기인되며 아이들 임계값 아래의 활동 레벨인 상기 프로세서 활동 레벨에 대응하는 사용량을 계측하는 것을 평가하는 컴퓨터.And the metrology program is evaluating metering usage corresponding to the processor activity level that is at least one of a utility, a screen saver, a virus checker, an update, and the metrology program and is an activity level below an idle threshold. 제10항에 있어서,The method of claim 10, 상기 계측 프로그램은 임계값 아래의 상기 컴퓨터의 활동 레벨에 대응하는 컴퓨터 사용량을 계측하는 것을 중지하는 컴퓨터.The metrology program stops metering computer usage corresponding to an activity level of the computer below a threshold. 제10항에 있어서,The method of claim 10, 상기 메모리는 상기 컴퓨터 사용량과 연관된 계측용 데이터를 기억하고, 상기 프로그램은 상기 활동 데이터의 프로파일에 따라 상기 사용량 데이터를 조정하는 컴퓨터.The memory stores metrology data associated with the computer usage, and the program adjusts the usage data according to a profile of the activity data. 컴퓨터에서 이용하기 위한 컴퓨터 실행 가능 명령어를 기억하는 컴퓨터 판독 가능 매체 - 상기 컴퓨터 실행 가능 명령어는 계측 방법을 실행함 - 로서,A computer readable medium storing computer executable instructions for use in a computer, the computer executable instructions executing a measurement method; 컴퓨터의 구성 요소의 활동 레벨을 평가하는 단계; 및Evaluating the activity level of the components of the computer; And 상기 컴퓨터의 구성 요소의 활동 레벨에 응답하여, 컴퓨터 사용량의 계측을 언제 활성화시켜야 하는지를 판정하는 단계를 포함하는 컴퓨터 판독 가능 매체.In response to an activity level of a component of the computer, determining when to activate a measurement of computer usage. 제15항에 있어서,The method of claim 15, 상기 컴퓨터 사용량의 계측은 사용 시간을 측정하며, 상기 컴퓨터의 구성 요소의 활동 레벨에 응답하여 온 상태와 오프 상태 중 한 상태인 컴퓨터 판독 가능 매체.The computer usage metering measures a usage time and is in one of an on state and an off state in response to an activity level of a component of the computer. 제15항에 있어서,The method of claim 15, 상기 컴퓨터의 구성 요소의 활동 레벨을 평가하는 단계는 입력 장치, 프린터, 웹 카메라, 기억 장치, 통신 장치 및 프로세서 중 적어도 하나의 활동 레벨을 평가하기 위한 컴퓨터 실행 가능 명령어를 더 포함하는 컴퓨터 판독 가능 매체.Evaluating the activity level of the components of the computer further includes computer executable instructions for evaluating the activity level of at least one of an input device, a printer, a web camera, a storage device, a communication device, and a processor. . 제17항에 있어서,The method of claim 17, 상기 프로세서의 활동 레벨을 평가하는 단계는 화면 보호기, 바이러스 체커, 유틸리티, 및 업데이트 중 적어도 하나의 실행을 평가하는 컴퓨터 실행 가능 명령어를 더 포함하는 컴퓨터 판독 가능 매체.Evaluating the activity level of the processor further comprises computer executable instructions for evaluating execution of at least one of a screen saver, a virus checker, a utility, and an update.
KR1020077011072A 2004-11-15 2005-11-12 Delicate metering of computer usage KR20070088633A (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US10/989,122 2004-11-15
US10/989,122 US7610631B2 (en) 2004-11-15 2004-11-15 Method and apparatus for provisioning software
US11/006,837 US20060165005A1 (en) 2004-11-15 2004-12-08 Business method for pay-as-you-go computer and dynamic differential pricing
US11/006,837 2004-12-08
US11/074,558 US7421413B2 (en) 2004-11-15 2005-03-08 Delicate metering of computer usage
US11/074,558 2005-03-08

Publications (1)

Publication Number Publication Date
KR20070088633A true KR20070088633A (en) 2007-08-29

Family

ID=36407652

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077011072A KR20070088633A (en) 2004-11-15 2005-11-12 Delicate metering of computer usage

Country Status (3)

Country Link
EP (1) EP1815640A4 (en)
KR (1) KR20070088633A (en)
WO (1) WO2006055427A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009053905A (en) * 2007-08-27 2009-03-12 Chugoku Electric Power Co Inc:The Device management system, device management method, and device management program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530846A (en) * 1993-12-29 1996-06-25 International Business Machines Corporation System for decoupling clock amortization from clock synchronization
JP2001338233A (en) * 2000-03-24 2001-12-07 Sony Corp Electronic equipment, system and method for charging based on hours used, charging processor, recording medium and prepaid card
US6636270B2 (en) * 2000-12-14 2003-10-21 Microsoft Corporation Clock slaving methods and arrangements
US8271400B2 (en) * 2002-01-15 2012-09-18 Hewlett-Packard Development Company, L.P. Hardware pay-per-use

Also Published As

Publication number Publication date
EP1815640A2 (en) 2007-08-08
WO2006055427A2 (en) 2006-05-26
WO2006055427A3 (en) 2007-07-12
EP1815640A4 (en) 2008-02-13

Similar Documents

Publication Publication Date Title
US7421413B2 (en) Delicate metering of computer usage
US20060106845A1 (en) System and method for computer-based local generic commerce and management of stored value
RU2456668C2 (en) Calculation of measured payment for use
CN101069215A (en) Delicate metering of computer usage
US7359807B2 (en) Maintaining and managing metering data for a subsidized computer
US8306915B2 (en) Method and system for authenticating software license
MX2007005656A (en) Isolated computing environment anchored into cpu and motherboard.
JP2009508258A (en) Adjust product policy using observed evidence of customer behavior
JP2009508257A (en) Prepaid or pay as you go software, content and services delivered in a secure manner
US20070192824A1 (en) Computer hosting multiple secure execution environments
JP4796312B2 (en) Service provider method and system for managing exposure to non-payment by service users
US20080319925A1 (en) Computer Hardware Metering
US20070192825A1 (en) Disaggregated secure execution environment
JP4690075B2 (en) Method and system for resolving conflicts between service providers and service users
US20070192826A1 (en) I/O-based enforcement of multi-level computer operating modes
KR20070088633A (en) Delicate metering of computer usage
KR101279697B1 (en) Using power state to enforce software metering state
KR20060042210A (en) Method and system for a service consumer to control applications that behave incorrectly when requesting services
MXPA05012285A (en) Business method for pay-as-you-go computer and dynamic differential pricing

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application