KR20070088633A - Delicate metering of computer usage - Google Patents
Delicate metering of computer usage Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/14—Payment architectures specially adapted for billing systems
- G06Q20/145—Payments according to the detected use or quantity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/22—Payment schemes or models
- G06Q20/28—Pre-payment schemes, e.g. "pay before"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
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
Description
본 특허 출원은 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
도 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
또한, 컴퓨터(110)는 라이센스 프로비저닝 모듈(125; license provisioning module; LPM)을 포함할 수도 있다. LPM(125)은 도 3에 더 상세히 설명된다. 간단히, LPM(125)은 컴퓨터(110)의 즉시 지불제 또는 PPU 동작을 쉽게 한다. LPM(125)은 사용량 계측을 관리하고, 계측된 사용이 만료할 때 제재를 가하는 것을 관리하고, 데이터의 요청, 수령, 및 처리를 관리하여 추후 사용을 위해 컴퓨터(110)를 다시 채운다.The
통상, 컴퓨터(110)는 다양한 컴퓨터 판독 가능 매체를 포함한다. 컴퓨터 판독 가능 매체는 컴퓨터(110)에 의해 액세스할 수 있는 임의의 이용 가능한 매체일 수 있으며, 휘발성 및 비휘발성 매체, 이동식 및 고정식 매체를 포함한다. 일 예로서, 컴퓨터 판독 가능 매체는 컴퓨터 기억 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 기억하기 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 이동식 및 고정식 매체를 포함한다. 컴퓨터 기억 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disks) 또는 기타 광 디스크 기억장치, 자기 카세트, 자기 테이프, 자기 디스크 기억장치 또는 기타 자기 기억장치, 또는 원하는 정보를 기억하는데 이용될 수 있으며 컴퓨터(110)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에 한정되지는 않는다. 통상, 통신 매체는 반송파 또는 기타 전송 메커니즘과 같은 변조된 데이터 신호로 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터를 구현하며, 임의의 정보 전달 매체를 포함한다. "피변조 데이터 신호"란 용어는 신호 내의 정보가 인코드되도록 그 신호의 하나 이상의 특성을 설정 또는 변경시킨 신호를 의미한다. 일 예로서, 통신 매체는 유선 네트워크 또는 직접 유선(direct-wired) 접속과 같은 유선 매체와, 음향, 무선 주파수, 적외선 및 기타 무선 매체와 같은 무선 매체를 포함하지만, 이에 한정되지는 않는다. 또한, 상기 매체의 임의의 조합도 컴퓨터 판독 가능 매체의 범위 내에 포함된다.
시스템 메모리(130)는 ROM(131) 및 RAM(132)과 같은 휘발성 및/또는 비휘발성 메모리의 형태인 컴퓨터 기억 매체를 포함한다. 통상, 예를 들어, 시동 동안, 컴퓨터(110) 내의 요소 간의 정보 전달을 돕는 기본 루틴을 포함하는, 기본 입출력 시스템(133; BIOS)은 ROM(131)에 기억된다. 통상, RAM(132)은 처리 장치(120)에 의해 현재 동작 상태에 있고/있거나 즉시 액세스할 수 있는 데이터 및/또는 프로그램 모듈을 포함한다. 일 예로서, 도 2는 운영 체계(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)를 포함하지만, 이에 한정되지는 않는다.
또한, 컴퓨터(110)는 다른 이동식/고정식, 휘발성/비휘발성 컴퓨터 기억 매체를 포함할 수도 있다. 일 예로서, 도 2는 고정식, 비휘발성 자기 매체로부터 판 독하거나 이에 기입하는 하드 디스크 드라이브(141), 이동식, 비휘발성 자기 디스크(152)로부터 판독하거나 이에 기입하는 자기 디스크 드라이브(151), 및 CD ROM 또는 다른 광 매체와 같은 이동식, 비휘발성 광 디스크(156)로부터 판독하거나 이에 기입하는 광 디스크 드라이브(155)를 도시한다. 예시적인 운영 환경에서 이용될 수 있는 다른 이동식/고정식, 휘발성/비휘발성 컴퓨터 기억 매체는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고체 상태 RAM, 고체 상태 ROM 등을 포함하지만, 이에 한정되지는 않는다. 통상, 하드 디스크 드라이브(141)는 인터페이스(140)와 같은 고정식 메모리 인터페이스를 통해 시스템 버스(121)에 접속되고, 통상, 자기 디스크 드라이브(151)와 광 디스크 드라이브(155)는 인터페이스(150)와 같은 이동식 메모리 인터페이스에 의해 시스템 버스(121)에 접속된다.The
상술한 도 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
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터와의 로직 접속을 이용하여 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(180)로는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 공통 네트워크 노드가 있고, 통상, 컴퓨터(110)와 관련하여 상술한 요소 중 대부분 또는 모든 요소를 포함하지만, 도 2에는 메모리 기억 장치(181)만을 도시하였다. 도 2에 도시된 로직 접속은 LAN(171) 및 WAN(173)을 포함하지만, 다른 네트워크를 포함할 수도 있다. 이와 같은 네트워킹 환경은 사무실, 기업 규모 컴퓨터 네트워크, 인트라넷 및 인터넷에서 일반적이다.
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
도 3은 LPM(125)의 더 상세한 블록도를 도시한다. 상술하자면, LPM(125)은 컴퓨터(110)가 특정 상태에서 동작하도록 강제하는 시행 애드온 모듈(252), 컴퓨터(110) 상에 프로비저닝된 자원의 사용량을 계측하는 계측 모듈(254), 서비스 제공자(도시안함)로부터 수신된 프로비저닝 패킷을 처리하는 트랜잭션 엔진(256), 보안 기억장치를 프로비저닝 패킷에 제공하는 보안 기억장치 관리자(258), 서비스 제공자와 통신하는 통신 모듈(260), 및 사용자와 대화하는 사용자 경험 모듈(262)을 포함할 수 있다.3 shows a more detailed block diagram of the
시행 모듈(252)은 컴퓨터(110)의 로그인 로직(264) 내에 삽입될 수 있다. 사용자가 로그인 로직(264)을 이용하여 컴퓨터(110)에 로그하거나, 과금형으로 프 로비저닝된 자원의 사용을 요청하는 경우, 시행 모듈(252)은 계측 모듈(254)에 잔고(balance) 정보를 질의할 수 있다. 시행 모듈(252)이 컴퓨터(110)가 요청된 활동에 충분한 금액을 갖는 것으로 판단하면, 컴퓨터(110)가 그 정상 모드에서 동작하도록 할 수 있고, 사용자가 컴퓨터(110)에 로그하거나 요청된 자원을 사용하도록 할 수 있다. 한편, 시행 모듈(252)이 컴퓨터(110)가 이용 가능한 충분한 금액을 갖지 않는 것으로 판단하면, 요청된 자원에 대한 로그인이나 액세스를 거부할 수 있으며, 사용자가 이용 가능한 잔고에 금액을 추가하도록 사용자 인터페이스를 호출(invoke)할 수 있다.
시행 작업을 실행하기 위해, 시행 모듈(252)은 컴퓨터(110)의 직접적인 영향이나 제어 하에 자원을 디세이블하거나 제재할 수 있다. 외부 주변장치와 관련된 제재는 예를 들어, 입력 또는 출력 제어기(170, 190, 195)와 같은 적당한 제어기 상의 동작에 의해 실행될 수 있지만, 몇몇 경우에는, 주변장치 자체에서 제재를 실행할 필요가 있을 수 있다.In order to execute the enforcement task, the
계측 모듈(254)은 프로비저닝된 자원을 사용하는데 이용 가능한 현재 잔고를 판독하고 검증하여 현재 잔고를 업데이트하는 잔고 관리자(266)를 포함할 수 있다. 또한, 계측 모듈(254)은 인가된, 즉, 과금 가능한 주변장치와 같은 유효 시스템 구성 정보를 판단하기 위한 구성 관리자(268)를 포함할 수도 있다. 또한, 계측 모듈(254)은 항상 증가하는 타이머를 유지하기 위한 신뢰성 있는 시계 관리자(270)를 포함할 수도 있다. 계측 모듈(254)은 얼마나 자주, 얼마나 많이, 또는 어느 기간 동안 컴퓨터(110), 또는 그 구성 요소를 이용하는지를 감시하기 위한 메커니즘을 제공할 수 있다. 계측 모듈(254)은 운영 체계 내의 훅(hook)을 이용하여, 애플리케이션에 의한 사용량을 계측할 때 애플리케이션 시작을 카운트할 수 있다. 다른 방법으로는, 계측 모듈(254)은 처리 장치(120) 사이클이나 사용량을 감시하여 컴퓨터(110) 또는 개개의 애플리케이션이 얼마나 많이 실제로 동작 상태에 있었는지를 판정할 수 있다. 다른 실시예에서는, 신뢰성 있는 시계 관리자(270)를 감시하여, 소정의 인가된 사용 기간, 예를 들어, 역월 또는 30일이 만료했는지를 결정할 수 있다.The
신뢰성 있는 시계 관리자(270)는 신뢰성 있는 하드웨어 시계(272)를 이용하여 단조롭게 변하는 타이머를 유지하는 작업을 달성할 수 있다. 신뢰성 있는 시계 관리자(270)를 이용하여 시스템 시간을 제공하거나, 시계 관리자(270)를 이용하여 사용량 계측만을 위한 시간 서비스를 제공할 수 있다. 잔고 관리자(266)와 신뢰성 있는 시계 관리자(270)는 LPM(125)의 보안 동작에 매우 민감하고 중요할 수 있으므로, LPM(125)의 동작 동안 다양한 보안 공격을 받을 수 있다.The
시행 애드온 모듈(252)과 계측 모듈(254)을 함께 작업하여, 컴퓨터(110) 상의 프로비저닝된 자원의 활성화 및 비활성화를 구현할 수 있다. 시행 애드온 모듈(252)은 일정 이벤트에 기초하여 잔고 관리자(266)를 호출하는 이벤트 디스패처로서 기능을 할 수 있지만, 잔고 관리자(266)는 이벤트에 응답하여 호출될 때 어떤 행동을 취해야 하는지를 결정할 수 있다. 시행 애드온 모듈(252)로 하여금 잔고 관리자(266)를 호출하도록 할 수 있는 다양한 이벤트의 예로는 (1) 로그온 이벤트, (2) 시스템 언로크 이벤트, (3) 동면(hibernation) 이벤트로부터의 복원, (4) 스탠 바이 이벤트로부터의 웨이크 업, (5) 주변장치를 사용하는 요청과 같은 사용자 트리거된 이벤트, (6) 로그오프 이벤트, (7) 패킷 다운로드, (8) 타이머 틱 등이 있다. 잔고 관리자(266)는 이러한 이벤트를 입력으로서 받아들이고, 결과적인 행동을 시행 애드온 모듈(252)로 돌려보낸다.The enforcement add-on
트랜잭션 엔진(256)은 프로비저닝 패킷을 처리하여 잔고 관리자(266) 내의 잔고를 업데이트할 수 있다. 트랜잭션 엔진(256)은 임의의 프로비저닝 패킷을 한 번만 소비하여 잔고를 업데이트하는 것을 보장할 수 있다. 트랜잭션 엔진(256)은 원자적 업데이트와 조정 트랜잭션을 수행하도록 설계될 수 있으므로, 잔고와 자원 제공자 계정 모두를 업데이트하거나 잔고와 자원 제공자 계정 어느 것도 업데이트되지 않는다.
프로비저닝 패킷을 처리하기 위해, 트랜잭션 엔진(256)은 디지털 서명 검증 회로(267)를 포함할 수 있다. 디지털 서명 검증 회로(267)는, 프로비저닝 패킷이 인터넷을 통해 전자 방식으로, LAN으로부터 로컬 방식으로, 이동식 매체로부터 수신되든지, 수동으로, 또는 다른 전송 방법으로 입력되든지 관계없이, 프로비저닝 패킷을 복호화하기 위한 회로 및/또는 소프트웨어를 가질 수 있다. 통상의 공개 키 기반구조(public key infrastructure; PKI)를 사용하면, 메시지를 복호화할 수 있고, 암호화되면, 해시를 생성하고 디지털 서명과 대조하여 검사함으로써 프로비저닝 패킷의 무결성과 진정성을 확인할 수 있다. 예를 들어, RSATM이나 타원 곡선과 같은 채용된 특정 암호화 알고리즘은 중요하지 않다. 발신자 검증과 콘텐츠 검 증을 포함한 디지털 서명 기술은 널리 공지되어 있으므로, 본원에서는 상세히 다루지 않는다.To process provisioning packets,
보안 기억장치 관리자(258)로 인해, LPM(125)이 잔고 데이터를 보안 방식으로 기억할 수 있으므로, 사용자가 변조할 수 없고 LPM(125)에 의해서만 액세스 가능하다. 프로비저닝 패킷은 LPM(125)에 의해 다운로드된 후에, 보안 기억장치 관리자(258)에 기억될 수 있다. 이와 유사하게, 잔고 카운터와 패킷 소비 카운터는 보안 기억장치 관리자(258)에 기억될 수도 있다. 또한, 보안 기억장치 관리자(258)는 로컬 프로비저닝 모듈(125)의 셋업 및 동작 시 이용되는 데이터를 기억할 수도 있다. 또한, 활동 레벨을 결정하기 위한 소프트웨어, 사용량 스케줄과 연관된 규칙이나 알고리즘, 및 그 대응하는 임계값은 보안 기억장치 관리자(258)에 기억될 수 있다. 일반적으로, 이는, 훼손되는 경우, PPU 또는 프리페이 동작에 대한 제어를 회피하는데 이용될 수 있는 바로 그 데이터이다. 이와 같은 데이터 중에는, 한 컴퓨터(110)를 다른 컴퓨터와 구별하는데 이용될 수 있는 번호나 코드일 수 있는 고유 식별자가 있을 수 있다. 고유 식별자를 이용하여 단지 단일 장치에서 이용될 수 있는 디지털 서명된 프로비저닝 패킷을 준비할 수 있다. 프로비저닝 패킷은 잔고 관리자(266)에 금액을 더하도록 수신된 데이터, 새로운 또는 업데이트된 사용량 스케줄, 또는 활동 평가를 위한 새로운 규칙이나 임계값일 수 있다.The
프로비저닝 패킷의 인증과 연관된 데이터 중 일부는 보안 기억장치 관리자(258)에 기억될 수 있다. 예를 들어, 트랜잭션 시퀀스 번호는 재현(replay) 공격을 단념케 하거나 방지하는데 이용될 수 있다. 또한, 프로비저닝 패킷으로부터 "시작(no-earlier-than)" 날짜를 추출하고 기억하여, 시계 변조 공격을 단념케 하거나 방지할 수 있다. 일 실시예에서, 시작 날짜는 프로비저닝 패킷이 생성된 날짜/시간일 수 있다. 프로비저닝 패킷의 사용이 프로비저닝 패킷이 생성되기 전에 발생할 수 없기 때문에, 시간대를 고려한 후에는, 어느 것도 컴퓨터(110)의 시계를 최종 프로비저닝 패킷의 최근 날짜 전의 소정 날짜나 시간으로 설정할 수 없다.Some of the data associated with authentication of the provisioning packet may be stored in
보안 기억장치 관리자(258)에 의해 기억된 상태 데이터를 이용하여, 컴퓨터(110)가 완전히 동작 모드에 있는지 또는 컴퓨터(110)나 애플리케이션이 일정 제한이나 제재를 받는지를 지시할 수 있다. 대부분의 소프트웨어가 범용 시스템 메모리(130)로부터 기억되거나 실행될 수 있지만, 예를 들어, 이상적으로 변조 방지할 수 있는 애플리케이션, 루틴, 또는 드라이버와 같은 몇몇 실행 가능 코드가 존재할 수 있다. 예를 들어, 변조와 도용을 방지하기 위해, 신뢰성 있는 하드웨어 시계(272)를 설정하는 루틴 자체를 보호하는 것이 필요할 수 있다.The state data stored by the
계측 모듈(254)에 의해 생성되거나 사용되는 계측 또는 사용량 데이터는 시스템 메모리(130)에 의해 제공되는 많은 보호를 필요로 할 수 있으므로, 보안 기억장치 관리자(258)에 기억될 수 있다. 계측 또는 사용량 데이터는, 예를 들어, 남은 사용량 단위 숫자, 최대 허용 가능한 사용량 단위 숫자, 계측된 애플리케이션의 목록, 또는 정지 날짜/시간을 포함할 수 있다. 신청에 의한 가입 계획은 계측 또는 신청에 의한 가입 데이터와 밀접하게 관련될 수 있다. 상술한 바와 같이, 유연성을 제공하기 위해, 사용자는 다수의 신청에 의한 가입 계획에서 선택하는 것이 허용될 수 있다. 이들 신청에 의한 가입 계획은 기간별 사용, 다수의 시간 동안의 사용, 다수의 활동이나 사용량을 이용한 애플리케이션별 사용, 입출력(네트워크 접속성) 단위 사용뿐만 아니라, 상기 사용들의 조합을 포함한 다른 사용도 포함할 수 있다. 신청에 의한 가입 계획의 보호는, 도용 사용을 일으킬 수 있는 새로운 계획을 사용자가 변경하거나 생성할 수 있는 것이 바람직하지 않기 때문에, 중요할 수 있다. 신청에 의한 가입 계획이 PPU 또는 계측된 사용을 요구하는 경우, 적당한 비즈니스 규칙을, 존재하지 않더라도, 안전하게 다운로드하여 보안 기억장치 관리자(258)에 기억할 수 있다.The metering or usage data generated or used by the
인증서 철회 목록(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
데이터 암호화 키를 이용하여 보안 기억장치 관리자(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
통신 모듈(260)은 서비스 제공자로부터 프로비저닝 패킷 및/또는 인증서를 요청하거나 추가 프로비저닝 패킷을 구매하는 패킷/인증서 요청 관리자(286), 및 LPM(125)이 네트워크(10)와 통신할 수 있도록 하는 웹 서비스 통신 관리자(290)를 포함할 수 있다.The
패킷/인증서 요청 관리자(286)는 패킷 또는 인증서를 다운로드하라는 요청을 수신할 수 있다. 또한, 패킷/인증서 요청 관리자(286)는 인증서 또는 프로비저닝 패킷의 성공적인 다운로드 시 서비스 제공자(도시안함)에게 ACK(acknowledge)하는 책임을 질 수 있다. 패킷/인증서 요청 관리자(286)는 프로비저닝 프로토콜을 이용하여 통신할 수 있다. 패킷/인증서 요청 관리자(286)에 의해 다운로드된 패킷은 보안 기억장치 관리자(258)에 기억될 수 있다.The packet /
구매 관리자(288)로 인해, 컴퓨터(110)의 사용자는 사용자로부터 지불 정보를 수신하고 지불 정보를 서비스 제공자나 펀딩 계정(도시안함)에 전달하여 프로비 저닝 패킷을 구매함으로써 로컬 잔고에 금액을 추가할 수 있다. 예를 들어, 로컬 판매점에서 스크래치 카드의 구매를 이용하여 펀딩 계정에 금액을 추가한 후, 이를 이용하여 다운로드되는 프로비저닝 패킷을 생성, 검증 및 이용함으로써 잔고를 업데이트할 수 있다. 패킷/인증서 요청 관리자(286)와 구매 관리자(288)는 모두 웹 서비스 통신 관리자(290)를 이용하여 네트워크(10)와 통신할 수 있다. 웹 서비스 통신 관리자는 네트워크 서비스 관리자(292)와 네트워크 인터페이스 카드(294; NIC)를 이용하여 네트워크(10)와 통신할 수 있다. 일 구현예에서는, 웹 서비스 통신 관리자(290)를 이용하여 네트워크(10)와 통신하고, 다른 실시예에서는, 파일 전송 프로토콜(FTP) 등과 같은 기타 통신 툴을 이용하여 네트워크(10)와 통신할 수 있다는 것에 주목하자.Due to the
사용자 경험 모듈(262)은, 패킷/인증서 요청 관리자(286)가 서비스 제공자(도시안함)로부터 인증서를 다운로드하는 것을 허용하는 InitKey를 입력하도록 사용자에게 요구하는 활성화 사용자 인터페이스(296; UI), 및 LPM(125)이 사용자와 상호 작용하는 것을 허용하는 통지 UI(298)를 포함할 수 있다. 또한, 활성화 UI(296)는 구매 관리자(288)를 호출하여, 사용자가 잔고 재충전을 위한 추가 프로비저닝 패킷을 구매하는 것을 허용할 수 있다.
통지 UI(298)는 사용자가 현재 잔고 정보나 사용량 이력 등을 질의하는 것을 허용하는 다양한 사용자 인터페이스를 포함할 수 있다. 통지 UI(298)는 사용자 또는 로그인 로직(264)에 의해 호출될 수 있다. 프로비저닝된 자원을 이용하는데 쓸 수 있는 잔고가 낮은 상황에서는, 로그인 로직(264)이 통지 UI(298)를 호출하여 추 가 구매가 필요할 수 있음을 사용자에게 통지할 수 있다. 통지 UI는 항상 활동 중일 수 있고, 작업표시줄 아이콘, 제어 패널 애플릿, 벌룬 팝업을 통해, 또는 임의의 다른 널리 공지되어 있는 UI 방법을 이용함으로써 사용자에게 통지 서비스를 제공할 수 있다.The
동작 시, 컴퓨터(110)는 예를 들어, 경과한 사용 시간, 일정 시간(calendar time), 애플리케이션 시작 등과 같은 몇몇 메커니즘 중 임의의 메커니즘에 의한 PPU 또는 다른 계측된 사용을 측정한다. 적어도 표면적으로, 가장 쉬운 측정 방법은, 단순 동작 시간일 수 있다. 예를 들어, 10 시간의 선불(pre-paid) 사용을 구매하여, 구매 잔고 관리자(266)에서 프로비저닝할 수 있다. 사용 시간을 측정하여, 전체 누적된 잔고에서 뺄 수 있다. 10 시간의 사용을 소비하는 경우, 시행 모듈(252)은, 컴퓨터(110)의 동작을 중지시키거나, 상술한 바와 같은 다른 제재를 시행할 수 있다.In operation,
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
사용량뿐만 아니라 정전과 같은 예상치 못한 서비스의 중단 동안 데이터를 복구하는데 있어 유용할 수 있는 관련 정보도 기록될 수 있다(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
블록(308)에서 추가 평가를 수행하는 경우, 처리 장치(120)와 같은 다른 구성 요소의 활동 레벨은 통상의 임계값 위일 수 있지만, 그 활동 크기가 화면 보호기, 바이러스 체커, 소프트웨어 업데이트 프로세스, 가사 유틸리티 등과 같은 공지된 백그라운드 프로세스 때문인 경우, 규칙은 블록(308)에서 "예" 분기를 선택하는 것을 중지할 수 있다. 그러면, 결국, 잔고 관리자(266)는 제2 사용량 스케줄에 따라 미티렁할 수 있다. 즉, 잔고 관리자(266)는 예를 들어, 제1 등급의 10%인 제2 등급으로 사용량 잔고에서 공제하거나, 전부 사용량 잔고에서 공제하는 것을 중단 할 수 있다. 임의의 주어진 순간에서 사용 중인 실제 사용량 스케줄은 다양한 규칙 및/또는 계약 약정에 따라 다수의 사용량 스케줄 중 임의의 사용량 스케줄에서 선택될 수 있다.If further evaluation is performed at
한편, 블록(306)에서 다른 비활동 지시기를 관찰한 후에, 예를 들어, 다시 처리 장치(120)와 같은 다른 구성 요소의 활동 레벨은 활동 임계값 아래에 있을 수 있지만, 블록(308)에서 처리 장치(120) 활동의 분석은, 카메라로부터의 그림을 주기적으로 처리하여 이를 웹 사이트에 게시하고 있는 이미지 캡처 프로그램이 실행 중임을 나타낸다. 웹캠을 동작하는 것은, 계약에 의해 경우에 따라 활동 중인 사용으로서 카운트되는 컴퓨터의 낮은 활동 사용의 일 예일 수 있으므로, 블록(308)에서 어떤 분기도 선택할 수 없고, 잔고 관리자(266)는 어떤 사용자도 물리적으로 컴퓨터(110)를 사용하고 있지 않더라도 사용량 잔고로부터 계속 공제할 수 있다. 다른 방법으로는, 본 예에서, 제1 사용량 스케줄의 등급보다 낮지만 전혀 공제하지 않는 제2 또는 제3 사용량 스케줄에 따라 규칙을 적용하여, 웹캠 사용량을 계측할 수 있다. 다수의 사용량 스케줄과 대응하는 계측 등급은 사용량 활동의 분석과 규칙에 기초하여 개발될 수 있음을 명확히 알 수 있다.On the other hand, after observing another inactivity indicator at
도 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
도 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
도 4로 돌아가면, 상술한 바와 같이, 잔고 관리자(266)는 활동 레벨을 결정하기 위한 규칙에 의해 부과될 수 있는 임의의 지연에 따라 잔고를 조정(310)할 수 있다. 모든 기준을 만족하면, 잔고 관리자(266)는 제2 사용량 스케줄에 따라 사용량을 측정할 수 있는데(312), 즉, 서로 다른 등급으로 잔고에서 금액을 공제하거나, 전혀 공제하지 않을 수 있다. 활동 레벨을 임계값 위로 다시 이동시키는 이벤트가 발생할 때(314), 블록(302)에서 제1 사용량 스케줄에 따라 등급으로 측정을 복귀시킬 수 있다.4, as described above, the
이상, 컴퓨터 사용량의 정밀한 계측을 위한 하드웨어 및 소프트웨어 실시예를 포함한 몇몇 특정 실시예를 설명하였다. 유익한 사용량을 결정하여 측정하는 더 공정하고 정확한 방법은 컴퓨터(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
Claims (18)
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)
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)
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 |
-
2005
- 2005-11-12 WO PCT/US2005/040965 patent/WO2006055427A2/en active Application Filing
- 2005-11-12 EP EP05820090A patent/EP1815640A4/en not_active Withdrawn
- 2005-11-12 KR KR1020077011072A patent/KR20070088633A/en not_active Application Discontinuation
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 |