KR20060004920A - 미복귀 대기 리소스 이용을 결정하는 방법, 장치 및프로그램 제품 - Google Patents

미복귀 대기 리소스 이용을 결정하는 방법, 장치 및프로그램 제품 Download PDF

Info

Publication number
KR20060004920A
KR20060004920A KR1020057017738A KR20057017738A KR20060004920A KR 20060004920 A KR20060004920 A KR 20060004920A KR 1020057017738 A KR1020057017738 A KR 1020057017738A KR 20057017738 A KR20057017738 A KR 20057017738A KR 20060004920 A KR20060004920 A KR 20060004920A
Authority
KR
South Korea
Prior art keywords
usage data
returned
resource
standby
way
Prior art date
Application number
KR1020057017738A
Other languages
English (en)
Other versions
KR100915533B1 (ko
Inventor
다니엘 찰스 비케스트란드
랜달 레인 그림
데이비드 오토 루이스
테리 라일 샤르드트
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20060004920A publication Critical patent/KR20060004920A/ko
Application granted granted Critical
Publication of KR100915533B1 publication Critical patent/KR100915533B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 미복귀 대기 리소스 이용을 결정하는 장치, 프로그램 제품 및 방법에 관한 것이다. 미복귀 대기 리소스 데이터는 지불 및 다른 계산 목적을 위해 다른 대기 리소스 데이터로부터 분리하여 모니터링되고 저장된다. 모니터링 프로그램은 리소스 데이터가 모니터링되는 고객 컴퓨터에 접속되는 서버 컴퓨터 상에서 동작한다.

Description

미복귀 대기 리소스 이용을 결정하는 방법, 장치 및 프로그램 제품{SYSTEM FOR DETERMINING UNRETURNED STANDBY RESOURCE USAGE}
본 발명은 연산 시스템에 관한 것으로, 특히 데이터 프로세싱 환경 내에서의 임시 리소스 관리에 관한 것이다.
상업 및 공공 애플리케이션용의 연산 리소스는 시간에 따라 증가되거나 변동하는 경우가 자주 있다. 예를 들어, 어떤 비즈니스는 다른 주기의 비교 가능한 프로세싱 또는 메모리 요구 조건을 초과하는 피크 동작 주기를 경험할 수 있다. 다른 시나리오에서는, 매출 또는 피고용인의 증가가 기존 연산 시스템에 증가되는 요구조건을 유사하게 부과할 수 있다. 이들 증가되는 리소스 요구에 직면하여, 통상적으로 사용자는 증가되는 연산 요구를 수용할 수 있는 새로운 하드웨어 리소스를 구입하여야 할 것이다. 이러한 구입 요구 조건이 예방되지 않으면 급격히 증가하는 요구조건에 대응할 충분한 자금 및 시간을 갖지 못하는 사용자에게 중요한 지출을 초래할 수 있을 것이다.
이를 위해, IBM Corporation에서 개발된 "요구에 따른 용량(capacity on demand)" 설계와 같은 연산 아키텍처는 고객이 필요에 따른 프로세서(processors on as-needed basis)와 같은 리소스를 효율적으로 "렌트(rent)"할 수 있게 한다. 특히, 고객은 그들의 기계 내에서 초기에 휴면 중인 대기 프로세서를 일시적으로 인에이블 할 수 있다. 원하는 경우, 대기 프로세서는 업 프론트에 포함되지 않으며, 기계의 베이스라인 비용이다. 이와 같이, 상대적으로 작은 초기 자본 투자를 위해, 고객은 유료로 필요한대로 대기 프로세서를 활성화 및 비활성화 시킬 것이다.
가상 프로세서 환경에서 인에이블되면, 대기 프로세서는 여러 프로세서들간에서 공유되는 경우가 자주 있다. 이러한 환경은 통상적으로 하나 이상의 물리적 제어기를 갖는 단일 연산 장치 또는 중앙 처리 장치(CPU)에 의존하여, 전용 및 활성화 대기 프로세서 모두를 포함한다. 이와 같이, 활성 대기 프로세서는 복수의 가상 프로세서를 촉진하도록 구성되는 소프트웨어를 실행할 수 있다.
어떤 멀티프로세서 환경은 논리 분할(partition)의 개념적 실행을 지원한다. 분할 실행은 단일의 기계가 복수의 가상 컴퓨터의 기능을 촉진하도록 한다. 특히, 각 논리 분할은 할당에 적합하고 다른 분할과 연산 어세트(assets)를 공유하는 프로그래밍된 아키텍처를 제공한다. 예를 들어, 분할은 운영자에 의해 할당되는 메모리 및 다른 리소스에 더하여, 대기 또는 전용 프로세서의 일부를 논리적으로 포함할 수 있다. 이와 같이, 운영자는 동일한 대기 프로세서를 하나 이상의 분할에 할당할 수 있다. 또한, 각 분할은 복수의 가상 프로세서에 더하여, 운영 시스템을 호스팅할 수 있다. 이 방식에서, 각 분할은 주로 분리된 컴퓨터처럼 동작한다.
이론적으로는, 대기 프로세서에 의해 인에이블되는 각 가상 프로세서는 하위 물리 기계의 물리적 리소스 중 많은 곳에 액세스할 수 있다. 예시적 리소스는 메모리 어세트 및 하드웨어 레지스터를 포함할 수 있다. 또한, 가상 프로세서는 여러 가상 프로세서 사이에서 프로세싱 사이클의 할당을 부분적으로 지시하는 우선권 방안 또는 스케줄을 공유할 수 있다. 분할 운영자라고 불리는 하위 프로그램은 이 방안을 이용하여 대기 및 베이스라인 프로세서를 각 가상 프로세서에 할당 및 발신한다. 예를 들어, 분할 운영자는 운영 시스템으로부터 리소스에 대한 요청을 차단하여 그 리소스를 전체적으로 공유 및 할당한다.
이 방식에서, 가상 프로세서는 호스트 분할에 대한 실행의 논리 스레드(threads)로서 기능한다. 이와 같이, 가상 프로세서는 인스트럭션을 개별적으로 실행할 수 있으며, 예를 들어, 단일의 대기 프로세서를 공유할 수 있다. 대기 프로세서 및 기타 물리 어세트의 이용을 두 배로 함으로써, 분할된 환경은 보다 나은 성능 및 효율을 촉진할 수 있다. 분할의 프로그래밍 가능한 유연성은 이들이 재부팅하지 않고 동적으로 로드의 변경에 응답하도록 한다. 예를 들어, 10개의 가상 프로세서를 포함하는 2개의 분할 각각은 워크로드 시프트(workload shifts)로서 공유되는 물리 시스템의 모든 10개의 이용 가능한 대기 및 베이스라인 프로세서를 취득할 수 있다.
이러한 경우에, 대기 프로세서의 선택적 이용은 고객에게 전형적인 프로세서 액세스의 다른 계층 및 최적 이용을 제공할 수 있다. 이와 반대로, 요구에 따른 용량은 시스템 제공자에게 고객 성능 및 비용 요구조건을 만족시키는 생성적 방식 을 제공하며, 증가된 수익원도 제공한다.
이를 위해, 고객이 대기 프로세서를 이용하는 것은 지불 및 다른 계산을 위해 모니터링되어야 한다. 그러나, 대기 리소스 이용에 대한 계산과 관련하여 발생하는 하나의 문제점은 할당되는 제한을 초과하는 어드레싱 이용에 관한 것이다. 예를 들어, 그 사전 결정된 동작 윈도우 내에서 대기 프로세서를 재요구하는(reclaim) 것이 불가능하거나 바람직하지 않을 수 있는 상황이 발생할 수 있다. 이러한 시나리오는 대기 프로세서를 재요구하는 것이 영향 받지 않은 시스템 요구조건에 영향을 줄 수 있다. 결과적으로, 감시 메커니즘이 지불하는 회사가 미복귀 않는 대기 프로세서를 알맞게 계산할 수 있도록 필요하다. 예를 들어, 계약적으로 요구되는 시간 내에 재요구되는 것에 대해서보다 미복귀 대기 프로세서에 대해 더 높은 요금을 부과하는 것이 바람직하다. 다른 고려사항으로는, 적어도 계약된 시간을 초과하는 경우에 이용되면 미복귀 대기 프로세서가 어떻게 재요구되는지이다. 따라서, 미복귀 프로세서 및 기타 연산 리소스 이용을 결정하는 향상된 방식이 필요하다.
본 발명의 원리에 따른 일실시예는 요구에 따른 용량 데이터 프로세싱 시스템 내에서 미복귀 리소스의 이용을 결정하는 장치, 방법 및 프로그램 제품을 포함한다. 일 양태에서, 본 발명에 따른 기술은 미복귀 리소스 이용 데이터를 결정하고 저장한다. 미복귀 이용 데이터는 특정 계약적 윈도우 내에서 복귀되는 리소스와 관련되는 예상 이용 데이터로부터 분리되어 저장된다. 이러한 구분은 미복귀 리소스 이용 데이터의 분리된 프로세싱을 가능하게 하여, 향상된 지불 및 기타 계산 기술을 제공한다.
원하는 미복귀 리소스 이용 출력의 도달에서, 미복귀 및 복귀 대기 리소스 모두에 대한 이용 데이터가 초기에 결정된다. 예를 들어, 미복귀 리소스 이용 데이터를 추적하는 카운트는 자신의 특정 동작 윈도우의 외부에서 동작하는 대기 리소스에 응답하여 개시될 수 있다. "동작 윈도우"는 일반적으로 리소스의 예상 또는 계약 이용을 지칭한다. 카운트는 측정 가능한 지불 발생이 검출될 때마다 증가할 수 있다. 이러한 예시적 발생은 하나의 지불 날짜를 포함할 수 있다. 이러한 구성에서, 본 발명에 따른 프로그램 코드는 미복귀 리소스 상태를 결정하거나 후속 또는 현재 대기 리소스 액세스에 영향을 주는 메모리로부터 카운트를 샘플링할 수 있다. 예를 들어, 프로그램 코드는 제 1 리소스가 미복귀되는 경우에 제 2 대기 리소스의 활성화를 제한할 수 있다. 본 발명에 따른 다른 프로그램 코드는 대기 리소스 동작을 방해하지 않고 미복귀 리소스 이용을 결정할 수 있다.
어떤 경우에는, 미복귀 리소스 이용 데이터는 예상 리소스 이용 데이터로부터 분리되어 프로세싱될 수 있다. 예를 들어, 미복귀 리소스 데이터는 다른 이용 데이터와 상이한 비율로 지불될 수 있다. 또한, 이러한 프로세싱된 미복귀 이용 데이터는 적합한 인보이스를 발생시키기 위해 제공자의 지불 컴퓨터에 송신될 수 있다. 본 발명의 전술한 목적 및 다른 장점은 첨부된 도면 및 상세한 설명으로부터 명백해 질 것이다.
본 명세서에 포함되어 그 일부를 이루는 첨부된 도면은 상세한 설명과 함께 본 발명의 실시예를 도시하고 있으며, 본 발명의 원리를 설명한다.
도 1은 본 발명에 따른 소프트웨어를 갖는 분산 컴퓨터 시스템의 블록도이다.
도 2는 도 1의 고객 컴퓨터의 주요 소프트웨어 구성요소 및 리소스의 블록도이다.
도 3은 도 1의 고객에 의한 실행에 적합한 방법을 갖는 흐름도이다.
도 4는 도 3의 흐름도에서 개시되는 대기 리소스 요청을 수신하는 화면이다.
도 5는 도 3의 흐름도의 프로세스에 따라 도 2의 분할에 대기 리소스를 할당하는 화면이다.
도 6은 도 1의 지불 컴퓨터에 의한 실행에 적합한 방법을 갖는 흐름도이다.
도 7은 도 6의 흐름도의 방법과 관련하여 도 1의 지불 컴퓨터에 의해 처리되는 예시적 보고이다.
도 8은 도 1의 고객 컴퓨터에 대한 미복귀 리소스 이용을 결정하는 데 적합한 방법을 갖는 흐름도이다.
본 발명의 일실시예는 미복귀 대기 리소스 이용을 결정하는 장치, 프로그램 제품 및 방법을 포함할 수 있다. 일실시예에서, 본 발명에 따른 프로세스는 다른 대기 리소스 데이터로부터 별도로 미복귀 대기 이용 데이터를 모니터링하고 저장하거나 처리한다. 이용 결정은 지불 및 다른 계산 목적을 위해 이용될 수 있다. 이 실시예의 실행에 적합한 하드웨어 환경이 도 1 및 2에 도시되어 있다.
하드웨어 및 소프트웨어 환경
도 1은 본 발명의 원리에 따른 방식으로 미복귀 대기 리소스(18)의 이용을 결정하는 분산형 컴퓨터 시스템(10)의 일실시예를 도시하고 있다. 특히, 이 시스템(10)은 적어도 하나의 장치, 예를 들어 하나 이상의 고객 컴퓨터(12) 및 하나 이상의 지불 컴퓨터(14)를 포함한다. 본 발명의 목적을 위해, 각 컴퓨터(12,14)는 분산형 및/또는 클라이언트-서버 환경 내에서 기능할 수 있는 임의의 종류의 컴퓨터, 컴퓨터 시스템 또는 기타 프로그래밍 가능한 전자 장치일 수 있다. 또한, 각 컴퓨터(12,14)는 하나 이상의 네트워크되는 컴퓨터를 이용하여 에를 들어 클러스터 또는 기타 분산형 컴퓨터 시스템에서 구현될 수 있다. 많은 분산형 시스템에서 공통적으로, 복수의 고객 컴퓨터(12)는 전형적으로 주어진 지불 컴퓨터(14)와 인터페이싱할 것이다. 보다 우수한 컴퓨터 시스템이 본 발명의 원리에 따른 소정 실시예에서 장점을 제시할 것이며, 본 명세서의 목적을 위한 적합한 지불 컴퓨터(14)는 고객 컴퓨터(12)로부터 전송되는 전자 메시지를 수신하고 처리하는 임의의 장치를 포함할 수 있다.
전형적으로 고객 컴퓨터(12)는 하나 이상의 대기 리소스(18)뿐만 아니라 적어도 하나의 중앙 처리 장치(16)를 포함한다. 전술한 바와 같이, 본 발명의 원리 에 따른 적합한 대기 리소스는 할당 가능한 구성요소 또는 연산 환경 기능을 포함할 수 있다. 이와 같이, 예시적 대기 리소스는 여러 구성요소 중 프로세서, 메모리, 플러그인 카드, 입력/출력 제어기, 어댑터 또는 장치 및 기타 하드웨어 장치를 포함할 수 있다. 또한, 리소스는, 예를 들어, NUMA-기반 아키텍처용 로컬 메모리 또는 기타 구성요소에 접속되는 복수의 프로세서를 포함하는 프로세서 카드를 포함할 수 있다.
도시된 실시예에서, 대기 리소스(18)는 이용자에 의해 일시적으로 활성화될 때까지 우위인 프로세서로 구현된다. 이러한 경우, CPU(16) 및 대기 프로세서(18) 모두는 메모리(19)에 접속되는 적어도 하나의 마이크로프로세서를 포함할 수 있으며, 이는 임의의 메모리 보충 레벨, 예를 들어 캐시 메모리, 비활성 또는 백업 메모리(예를 들어, 프로그래밍 가능한 또는 플래시 메모리), ROM 등 외에도 컴퓨터(12)의 메인 저장 장치를 포함하는 RAM(random access memory)를 나타낼 수 있다. 예를 들어, 메모리는 특정 동작 윈도우 내에 그들의 우위 상태로 복귀하지 않은 대기 리소스(18)의 이용을 결정하는 프로그램 코드(42)를 포함할 수 있다. 또한, 메모리(19)는 컴퓨터(12)의 물리적으로 다른 곳에 위치되는 메모리 저장 장치, 예를 들어 CPU(16) 내의 프로세서의 캐시 메모리 또는 스마트 카드뿐만 아니라, 예를 들어 대량 저장 장치(20) 또는 컴퓨터(12)에 접속되는 다른 컴퓨터에 저장되는 바와 같은 가상 메모리로 이용되는 임의의 저장 용량기를 포함할 수 있다.
또한, 컴퓨터(12)는 전형적으로 정보를 외부적으로 통신하기 위해 다수의 입력 및 출력을 수신한다. 이용자 또는 오퍼레이터와 인터페이싱하기 위해, 전형적 으로 컴퓨터(12)는 하나 이상의 이용자 입력 장치(예: 키보드, 마우스, 트랙볼, 조이스틱, 터치패드 및/또는 마이크로폰 등) 및 화면(예: CRT 모니터, LCD 디스플레이 패널, 및/또는 스피커 등)을 포함하는 이용자 인터페이스(22)를 포함한다. 이와 달리, 이용자 입력은 다른 컴퓨터 또는 단말을 통해 수신될 수 있다.
추가적 저장 장치를 위해, 컴퓨터(12)는 하나 이상의 대량 저장 장치(20), 예를 들어, 플로피 또는 기타 제거 가능한 디스크 드라이브, 하드디스크 드라이브, DASD(direct access storage device), 광 드라이브(예: CD 드라이브, DVD 드라이브 등), 스마트 카드 및/또는 테이프 드라이브 등을 포함할 수도 있다. 예시적 대량 저장 장치는 저장되는 미복귀 리소스, 요청되는 리소스 및 리소스 이용 가능성 파일(48,56,52)로부터 각각 발생되는 이용 데이터를 포함하는 레지스터 또는 데이터베이스(44)를 포함할 수 있다. 상세히 후술할 바와 같이, 시스템(10)은 시스템(10)의 정기적 동작 동안에 기록되는 데이터로부터 이러한 파일(48,56,52)을 구동할 수 있다. 당업자는 데이터베이스, 파일 및 기타 저장되는 데이터의 포함 및 분산은 본 발명의 원리에 여전히 따르며 실질적으로 대체될 수 있다.
또한, 컴퓨터(12)는 하나 이상의 네트워크(예: LAN, WAN, 무선 네트워크, 및/또는 인터넷 등)과의 인터페이스(24)를 포함하여 다른 컴퓨터 및 전자 장치와의 정보 통신을 가능하게 할 수 있다. 전형적으로 컴퓨터(12)가 CPU(16)와 구성요소(18,20,22,24) 각각과의 사이에 적합한 아날로그 및/또는 디지털 인터페이스를 포함하는 것이 이 기술 분야에서 잘 알려져 있다는 것을 인식해야 한다.
고객 컴퓨터(12)와 유사하게, 지불 컴퓨터(14)는 CPU(26), 메모리(28), 대량 저장 장치(29), 이용자 인터페이스(32) 및 네트워크 인터페이스(34)를 포함한다. 또한, 지불 컴퓨터(14)는 주인/임대인(principle/lessor)의 복수의 컴퓨터뿐만 아니라 대리인/허가인(agent/licensee)의 컴퓨터도 포함한다.
일반적으로 컴퓨터(12,14)는 네트워크(36)를 통해 서로 인터페이싱되는데, 이는 공적 및/또는 사적이거나, 유선 및/또는 무선이거나, 지역적 및/또는 광대역 등일 수 있다. 또한, 네트워크(36)는 복수의 상호 접속되는 네트워크를 표현할 수 있다. 도시된 실시예에서는, 예를 들어, 네트워크(36)는 인터넷을 포함할 수 있다. 이러한 배열은 고객 컴퓨터(12)에 저장되는 정보로의 쉬운 액세스를 촉진할 뿐만 아니라 적시 통보 및 프로그램 업데이트도 촉진한다.
각 컴퓨터(12,14)는 운영 시스템(38,40)의 제어 하에서 동작하며 각종 컴퓨터 소프트웨어 애플리케이션, 구성요소, 프로그램, 객체, 모듈, 데이터 구조 등을 실행시키거나 이에 의존한다. 또한, 각종 애플리케이션, 구성요소, 프로그램, 객체, 모듈 등은 네트워크를 통해 컴퓨터(12,14)에 접속되는 다른 컴퓨터, 예를 들어 분산형 또는 고객-지불 컴퓨터 환경에서 하나 이상의 프로세서를 실행할 수도 있으며, 이에 의해 컴퓨터 프로그램의 기능을 구현하는 데 요구되는 프로세싱이 네트워크를 통해 복수의 컴퓨터에 할당될 수 있다.
일반적으로, 본 발명의 실시예를 구현하기 위해 실행되는 루틴은 운영 시스템 또는 특정 애플리케이션, 구성요소, 프로그램, 객체, 모듈 또는 인스트럭션 시퀀스의 일부로서 구현되거나 그 서브세트이며 본 명세서에서 "컴퓨터 프로그램 코드" 또는 간단히 "프로그램 코드"라고 지칭할 것이다. 전형적으로 프로그램 코드 는 다양한 시각에서 컴퓨터의 다양한 메모리 및 저장 장치에 상주하는 하나 이상의 인스트럭션을 포함하며, 컴퓨터의 하나 이상의 프로세서에 의해 판독 및 처리되면, 컴퓨터로 하여금 본 발명의 다양한 양태를 실시하는 단계 또는 구성요소를 실행하는 데 필요한 단계를 수행하게 한다. 예를 들어, 도 1의 실시예는 미복귀 대기 리소스(18)의 이용을 결정하는 프로그램 코드(42)를 포함한다. 보완적 프로그램 코드(43)가 지불 측에 상주할 수 있지만, 당업자는 본 발명의 이론에 따른 실시예는 그럼에도 불구하고 단지 하나 또는 임의의 수의 위치에 상주하는 프로그램 코드를 이용할 수 있음을 인식해야 한다.
또한, 완전히 기능하는 컴퓨터 및 컴퓨터 시스템의 관점에서 본 발명을 후술할 것이지만, 당업자는 본 발명의 다양한 실시예는 다양한 형태로 프로그램 제품으로구 분산될 수 있으며, 실제오 이 분산을 수행하는 데 이용되는 매체를 포함하는 특정 종류의 신호에 관계없이 본 발명이 마찬가지로 적용된다는 점을 인식할 것이다. 매체를 포함하는 신호의 예로는 활성 및 비활성 매모리 장치, 플로피 및 다른 제거 가능한 디스크, 하드 디스크 드라이브, 자기 테이프, 광 디스크 등과 같은 기록 가능한 종류의 매체와, 디지털 및 아날로그 통신 링크와 같은 전송 타입 매체가 있으며, 이에 한정되지는 않는다.
또한, 후술할 다양한 프로그램 코드는 본 발명의 특정 실시예에서 이것이 구현되는 애플리케이션에 기초하여 식별될 수 있다. 그러나, 후술할 임의의 특정 프로그램 명칭은 단순히 편의를 위한 것이므로, 이러한 명칭에 의해 식별 및/또는 포함되는 임의의 특정 애플리케이션에 제한되어서는 안된다. 또한, 컴퓨터 프로그램 이 루틴, 프로시져, 방법, 모듈, 객체 등으로 조직화되는 전형적으로 무수한 방식뿐만 아니라, 프로그램 기능성이 전형적 컴퓨터 내에 상주하는 다양한 소프트웨어계층(운영 시스템, 라이브러리, API, 애플리케이션, 애플릿 등) 사이에 할당되는 다양한 방식이 주어지면, 본 발명이 특정 조직 및 설명되는 프로그램 기능성에 제한되지 않는다는 것을 인식해야 한다.
전술한 바와 같이, 미복귀 대기 리소스 이용의 추적은 본 발명에 따른 다수의 상이한 컴퓨터 아키텍처에서 수행될 수 있다. 전술한 기능성을 구현할 수 있는 하나의 특정 아키텍처의 도시로서, 도 2는 논리적으로 분할되는 컴퓨터 시스템(100)으로서 컴퓨터(12)의 구현을 도시하고 있다. 일반적으로 컴퓨터(100)는, 예를 들어, 네트워크 서버, 미드레인지(midrange) 컴퓨터, 메인프레임 컴퓨터 등, 예를 들어 IBM e서버 컴퓨터와 같은 다수의 멀티-이용자 컴퓨터 중 임의의 것을 나타내며, 여기서 논리 분할이 이용된다. 그러나, 본 발명은 다른 컴퓨터 및 데이터 프로세싱 시스템에서 구현될 수 있어서, 이 특정 구현에 제한되지 않는다.
일반적으로 컴퓨터(100)는 버스(116)를 통해 메모리(114)에 접속되는 하나 이상의 프로세서(112)를 포함한다. 각 프로세서(112)는 단일 스레딩된 프로세서(threaded processor)로서 구현되거나 멀티 스레딩된 프로세서로서 프로세서(112a)와 구현될 수 있으며, 이는 복수의 하드웨어 스레드(119)를 포함한 채로 도시되어 있다. 대부분의 경우, 멀티 스레딩된 프로세서(112a)의 각 하드웨어 스레드(119)는 컴퓨터에 상주하는 소프트웨어에 의해 독립 프로세서처럼 처리된다. 이 관점에서, 이 공개의 목적을 위해, 단일 스레딩된 프로세서는 단일 하드웨어 스레드, 즉, 단일 독립 실행 유닛을 포함하는 것으로 고려할 것이다. 그러나, 소프트웨어 기반 멀티스레딩 또는 멀티 태스킹은 단일 스레딩 및 멀티 태스킹된 프로세서 모두와 관련하여 이용되어 컴퓨터의 멀티 태스킹의 병렬 성능을 더 지원할 수 있다.
또한, 도 2에 도시된 바와 같이, 하나 이상의 프로세서(112)(예: 프로세서(112b))가 서비스 프로세서로서 구현될 수 있는데, 이는 특정 펌웨어 코드를 실행하는 데 이용되어 시스템 초기 프로그램 로드(IPL)를 관리하고, 시스템 하드웨어를 모니터링하고, 진단하고 구성한다. 일반적으로, 컴퓨터(100)는 하나의 서비스 프로세서와 복수의 시스템 프로세서를 포함할 것인데, 이는 컴퓨터에 상주하는 운영 시스템 및 애플리케이션을 실행하는 데 이용되지만, 본 발명이 이 특정 구현에 제한되지는 않는다. 어떤 구현에서는, 서비스 프로세서는 버스(116)를 통하는 것이 아닌 방식으로 컴퓨터의 다양한 기타 하드웨어 구성요소에 접속될 수 있다. 도 2에 도시된 바와 같이, 시스템 프로세서는 대기 프로세서(118)뿐만 아니라 기타 임시 리소스도 포함할 수 있다. 활성화되면, 이들 대기 프로세서(118)는 임의의 다른 프로세서(112)로서 컴퓨터 내에서 기능할 수 있다.
메모리(114)는 하나 이상의 메모리 장치 레벨, 예를 들어 DRAM-기반 메인 저장 장치뿐만 아니라 하나 이상의 데이터 레벨, 인스트럭션 및/또는 조합 캐시를 포함할 수 있으며, 소정 캐시는 개별 프로세서 또는 복수의 프로세서를 제공하며 이는 이 기술 분야에 잘 알여져 있다. 또한, 메모리(114)는 버스(120)를 통해 많은 종류의 외부 장치에 접속되는데, 예를 들어, (컴퓨터와 네트워크(124)를 인터페이싱하는) 하나 이상의 네트워크 어댑터(122), (컴퓨터와 하나 이상의 저장 장치 (128)를 인터페이싱하는) 하나 이상의 저장 장치 제어기(126) 및 (하나 이상의 단말 또는 복수의 워크스테이션 어댑터를 통한 워크스테이션(132)을 인터페이싱하는)하나 이상의 워크스테이션 제어기(130)에 접속된다.
또한 도 2는 컴퓨터(100) 상에서 논리적으로 분할되는 연산 환경을 구현하는 데 이용되는 주요 소프트웨어 구성요소 및 리소스를 도시하고 있는데, 분할 관리자(136)에 의해 관리되는 복수의 논리 분할(134)을 포함한다. 이 기술 분야에 잘 알려진 바와 같이 임의의 수의 논리 분할이 지원될 수 있는데, 컴퓨터의 임의의 시각에서 상주하는 논리 분할의 수는 컴퓨터로부터 분할이 추가 또는 제거됨에 따라 동적으로 변경될 수 있다.
도시된 IBM e서버-기반 구현에서, 분할 관리자(136)는 프로그램 코드의 2개의 계층으로 구성된다. 발신-불가능한 부분(non-dispatchable portion, 138)이라 지칭되는 제 1 부분이 컴퓨터(100)의 펌웨어, 또는 LIC(licensed internal code) 내에서 구현되는데, 이는 상위 계층, 예를 들어 하드웨어 액세스의 상세한 부분으로부터의 운영 시스템을 절연시키며 하위 레벨 인터페이스를 다양한 하드웨어 컴포넌트에 제공하는 데 이용된다. 또한, 펌웨어는 서비스 프로세서(112b)와 같은 서비스 프로세서와 통신할 수 있다. 발신-불가능한 부분(138)은 컴퓨터(100)에 대한 하위 레벨 분할 관리 기능, 예를 들어, 페이지 테이블 관리 등의 많은 기능을 제공한다. 또한, 발신-불가능한 부분(138)은 태스크에 참여하지는 않으며, 소프트웨어의 상위 계층으로부터 기능 호출(function calls)을 통해 이론적으로 액세스 가능하다.
분할 관리자(136)의 프로그램 코드의 제 2 계층은 발신 가능한 부분(147)으로 지칭된다. 태스크에 참여하지 않으며, 리로케이션 오프(relocation off)에 따라 실행되며, 소프트웨어의 상위 계층으로부터 기능 호출을 통해 액세스 가능한 발신-불가능한 부분(138)과는 대조적으로, 발신 가능한 부분(147)은 (다른 운영 시스템처럼) 태스크에 참여하며 리로케이션 온에 따라 실행된다. 전형적으로 발신 가능한 부분은 이용자로부터 숨겨진다는 점을 제외하고는 분할과 거의 동일한 방식으로 실행된다. 일반적으로, 발신 가능한 부분은 분할을 생성 또는 소거, 동시 I/O 유지, 다양한 분할(134)에 프로세서, 메모리 및 다른 하드웨어 리소스를 할당하는 등의 상위 레벨 분할 관리 동작을 관리한다.
전형적으로 각 논리 분할(134)은 컴퓨터(100)의 이용 가능한 리소스의 일부에 정적 및/또는 동적으로 할당되며, 이는 전용 및 대기 리소스 중 하나이거나 모두일 수 있다. 예를 들어, 각 논리 분할은 하나 이상의 프로세서(112) 및/또는 하나 이상의 하드웨어 스레드(119)뿐만 아니라 이용 가능한 메모리 공간에도 할당될 수 있다. 논리 분할은 프로세서와 같은 특정 하드웨어 리소스를 공유할 수 있어서, 주어진 프로세서는 하나 이상의 논리 분할에 의해 이용된다. 다른 경우에, 하드웨어 리소스는 한번에 단지 하나의 논리 분할에 할당될 수 있다.
추가적 리소스, 예를 들어, 대량 저장 장치, 백업 저장 장치, 이용자 입력부, 네트워크 접속부 및 I/O 어댑터는 전형적으로 이 기술 분야에 잘 알려진 방식으로 하나 이상의 논리 분할에 할당된다. 리소스는 여러 방식, 가령, 버스-바이-버스 기반, 또는 리소스-바이-리소스 기반으로 할당될 수 있으며, 복수의 논리 분 할은 동일한 버스 상에서 리소스를 공유한다. 어떤 리소스는 한번에 복수의 논리 분할에 할당될 수도 있다.
각 논리 분할(134)은 비-분할 컴퓨터의 운영 시스템과 동일한 방식으로 논리 분할의 주요 동작을 제어하는 운영 시스템(142)을 이용한다. 예를 들어, 각 운영 시스템(142)은 IBM Corporation으로부터 입수할 수 있는 OS/400 운영 시스템을 이용하여 구현될 수 있다.
각 논리 분할(134)은 별도, 또는 독립적 메모리 공간에서 실행되므로 각 논리 분할은 이러한 논리 분할 각각에서 실행되는 각 이용자 애플리케이션(user app, 144)의 관점으로부터 독립적, 비-분할 컴퓨터와 거의 동일한 기능을 한다. 이와 같이, 이용자 애플리케이션은 전형적으로 분할 환경에서 사용되는 임의의 특수 구성을 요구하지 않는다.
별도의 가상 컴퓨터로서 논리 분할(134)의 특성이 주어지면, 상호-분할 통신을 지원하여 논리 분할이 별도의 물리적 기계인 것처럼 서로 통신하도록 하는 것이 바람직하다. 이와 같이, 어떤 구현에서, 발신-불가능한 부분(138)에서 가상 근거리 네트워크(LAN, 146)를 지원하여 논리 분할(134)이 이더넷 프로토콜과 같은 네트워킹 프로토콜을 통해 서로 통신하도록 하는 것이 바람직할 수 있다. 분할들 사이의 통신을 지원하는 다른 방식도 본 발명에 따라 지원될 수 있다.
다른 논리적으로 분할된 환경이 본 발명에 따라 이용될 수 있음을 인식해야 한다. 예를 들어, 임의의 분할(134)로부터 분리되는 발신 가능한 부분(147)을 이용하는 대신, 발신 가능한 부분의 기능성이 다른 실시예에서 하나 이상의 논리 분 할에 포함될 수 있다. 도 2에 도시된 특정 리소스는 단순히 예시적이며, 리소스의 조합 및 배열이 다른 실시예에서 임의의 논리 분할에 할당될 수 있음을 더 인식할 것이다. 또한, 어떤 구현에서, 리소스는 동적 기반으로 재할당되어 논리 분할의 필요를 제공할 수 있다.
도 2에 도시된 다양한 소프트웨어 구성요소 및 리소스 및 본 발명의 실시예의 구현은, 다양한 컴퓨터 소프트웨어 애플리케이션, 루틴, 구성요소, 프로그램, 객체, 모듈, 데이터 구조 및 프로그램의 이용을 포함하는 다수의 방식으로 구현될 수 있다. 당업자는 도 1 및 도 2에 도시된 예시적 환경이 본 발명을 제한하지 않는다는 것을 더 인식할 것이다. 예를 들어, 본 발명의 원리는 비-분할 환경에도 적용될 수 있다. 실제로, 당업자는 다른 양자 택일적 하드웨어 및/또는 소프트웨어 환경이 본 발명의 범위를 벗어나지 않고 이용될 수 있음을 인식할 것이다.
미복귀 리소스 결정 기능
도 3의 흐름도는 본 발명의 원리에 따른 예시적 방법을 도시하고 있다. 흐름도의 방법은 특히, 도 1 및 2와 관련하여 각각 설명한 요구에 따른 용량 시스템(10,100)에 대한 대기 리소스(18)에 액세싱하는 이용자에게 적합하다. 일반적으로, 도 3의 도시된 프로세스 단계(200-256)는 본 발명의 원리에 따라 대기 리소스 활성화 및 이용 결정 프로세스를 개시한다.
도 3의 실시예의 블록도(200-204)는 이용 결정을 위해 필수 요건으로서 본 발명에 따라 소정 애플리케이션 내에서 기능할 수 있는 예비 태스크 및 조건을 포 함한다. 예를 들어, 요구에 따른 용량 서비스를 원하는 이용자는 최초에 블록(200)에서 공급자와 계약을 체결할 수 있다. 여기서, 이용자는 공급자 및/또는 그들의 허가인이 리소스 이용을 모니터링할 수 있도록 동의할 수 있다. 이러한 모니터링이 예외적인 환경 하에서 고객 컴퓨터(12)로부터 고정 프린트아웃을 통해 달성되며, 전형적으로 이는 메모리(19)에 액세스하는 공급자 및/또는 네트워크 링크를 통해 고객 컴퓨터(12) 상에 상주하는 레지스터를 포함한다.
이를 위해, 블록(202)에서 이용자는 그들의 고객 컴퓨터(12)로의 인터넷 또는 기타 네트워크 링크가 설치되는 것을 보장할 수 있다. 이러한 보장은 사전 결정된 동작 주기 동안 계약적으로 요구될 수 있는 모니터링을 인에이블한다. 예를 들어, 지불 컴퓨터(14)는 네트워크(36)를 이용하여 자동적으로 프로그램 코드(42) 및/또는 고객 컴퓨터(12)의 메모리(19)에 매월 액세스하도록 할 수 있다. 즉, 본 발명에 따른 일실시예의 프로그램 코드(42)는 지불 질의에 응답하여 이용을 업로드할 수 있다.
블록(200-202)에서 모든 기술 및 계약상의 지시에 따라 규정되는 것으로 가정하면, 블록(204)에서 제공자는 엔에이블먼트 코드를 이용자에게 송신할 수 있다. 전형적 인에이블먼트 코드는 알파벳 시퀀스 또는 어떤 다른 패스워드 등가물을 포함하지만, 적합한 인에이블먼트 코드는 사전 배열되는 토큰/키 및/또는 바이오메트릭(biometric) 메커니즘을 더 포함할 수 있다. 원하는 경우, 인에이블먼트 그 자체뿐만 아니라 엔에이블먼트 코드의 전송은 이 기술 분야에 알려진 임의의 방식으로 인코딩될 수 있다. 예를 들어, 인코딩은 지불 및 고객 컴퓨터(12,14)의 인코딩 및 디코딩 소프트웨어 사이의 동기화 메커니즘을 각각 포함할 수 있다. 이러한 조치는 보안을 강화하며 데이터의 유리한 포매팅을 수용한다.
블록(206)에서, 이용자는 증가되는 프로세싱 리소스에 대한 현재 또는 인접한 필요를 인식한다. 예를 들어, 이용자의 베이스라인, 또는 4개의 프로세서의 전용 컴플리먼트(compliment)는 예상되는 워크로드 및 새로운 프로젝트에 대한 스케줄을 처리하기에 부적합할 수 있다. 이와 같이, 이용자는 그들의 단말 상에서 (예를 들어, 프로세서를 포함하는) 이용 가능한 대기 리소스(18)을 활성화할 것을 선택하여 증가되는 워크로드를 수용할 수 있다. 이를 위해, 블록(204)에서 이용자에게 제공되는 인에이블먼트 코드는 이용자에 의해 블록(208)에서 고객 컴퓨터(12)로 진입되어 대기 리소스(18)의 활성화를 개시하도록 할 수 있다.
당업자는, 요구에 따른 용량 세션 동안의 임의의 시각에서 인에이블먼트 코드에 이용자가 진입할 수 있으며, 블록(208)에서 흐름도의 나머지 단계에 대한 인에이블먼트의 삽입은 단지 예시적인 것이다. 도 3의 흐름도의 모든 단계뿐만 아니라 이어지는 모든 단계에서, 단계(208)는 흐름도 내에서 재배열되고 생략되거나 증가되며 본 발명의 원리에 따라 유지된다. 예를 들어, 본 발명에 따른 다른 실시예의 프로그램 코드(42)는 지불 컴퓨터(14)로 하여금 이용자에 의한 노력을 요구하지 않고 인에이블먼트 코드를 고객 컴퓨터(12)로 자동적으로 다운로드하게 한다.
블록(210)에서 고객 컴퓨터(12)의 스마트 칩 또는 다른 구성요소에 대한 인증 프로그램(51)은 인에이블먼트 코드를 조회할 수 있다. 인에이블먼트 코드가 블록(210)에서 인증되는 것으로 가정하면, 블록(210)에서 이용자에게 상태 화면이 제 공될 것이다. 상태 화면은 이용자에게 대기 리소스 동작 및 이용 가능성에 대한 정보를 보고할 것이다. 예를 들어, 상태 화면은 이용자를 위해 4개의 대기 리소스(18)가 활성화를 위해 현재 이용 가능하며 2개의 다른 리소스는 이미 사용 중임을 확인하게 할 수 있다.
이러한 상태 정보는 대기 리소스 활성화를 요청하는 경우에 양자 택일적으로 또는 추가적으로 이용자에게 제공될 수 있다. 이용자는 이러한 요청을 도 3의 블록(214)에서 개시한다. 즉, 이용자는 하나 이상의 대기 리소스(18)의 활성화를 초래하는 요청을 블록(214)에서 개시한다. 전형적으로 요청은 고객 컴퓨터(12)의 프로그램 코드에 의해 수신 및 처리되며, 이는 고객 입력 및 분할 관리자(136)를 이용하여 요청되는 대기 리소스(18)를 활성화 및 할당한다. 그러나, 이와 달리 본 발명의 다른 실시예에 따른 지불 컴퓨터(14)는 이용자로부터의 유사한 요청의 수신에 응답하여 대기 리소스(18)의 활성화를 개시할 수 있다.
도 4는 대기 리소스 요청을 포함하는 예시적 화면(300)을 도시하고 있다. 이 화면(300)은 이용자 입력을 수신하기에 적합한 필드(302-310)를 포함한다. 입력은 이용자의 요구조건을 처리하는 간단한 용어를 반영할 수 있다. 이 화면은 이용자가 참조하기 위한 현재와 과거 리소스 이용에 관한 상태 정보를 더 포함한다. 예를 들어, 도 4의 필드(302)는 고객 컴퓨터(12)가 8개의 전용 프로세서를 갖는 것을 도시하고 있다. 이용자는 도 4의 필드(306)에 표시되는 수에 이르기까지, 입력 필드(304)에서 요청되는 다수의 대기 프로세서/리소스(18)에 진입할 수 있다.
도 4의 필드(305)는 요청되는 대기 리소스(18) 모두에 대한 활성화 주기를 특정하는 데 이용될 수 있다. 당업자는 본 발명의 다른 실시예의 화면(300)이 이용자가 개별 대기 리소스(18)당 활성화 주기를 할당하도록 할 수 있음을 인식할 것이다. 또한, 이러한 전형적 주기는 날짜를 포함하지만, 임의의 시간 증분이 본 발명의 원리에 따라 대체될 수 있다. 본 발명에 따른 어떤 실시예에서는, 프로그램 코드(42)는 실제 이용 날짜와 상관없이 또는 이에 추가하여 프로세싱 또는 메모리 측정 가능한 유닛 또는 용량의 관점에서 리소스 이용을 추적한다. 이러한 활성화 기술은 지불 기술로 더 전달될 수 있으며, 지불 가능한 유닛, 또는 날짜가 임의의 측정 가능한 리소스 성능 특성을 포함할 수 있다.
또한 도 4의 예시적 화면(300)은 필드(308,310)에서 임의의 미복귀 및 요청된 리소스(18)에 관한 히스토리 데이터를 각각 포함한다. 이러한 구성에서, 이용자는 예를 들어 "F8" 또는 "ENTER"를 누름으로써 추가 요청의 실행을 취소하거나 개시할 수 있다. 예를 들어, 이용자는 필드 또는 버튼을 클릭 또는 표시하여 화면(300) 상에 존재하는 사전 구성되는 제 1 옵션을 선택할 수 있다. 도 4에 도시된 바와 같이, 제 1 옵션은 3개의 대기 리소스(18)를 각각 10일 동안 활성화시키는 것을 포함한다. 이러한 옵션은 이전의 이용자 요청에 유사한 콘텐츠일 수 있다. 본 발명에 따른 다른 실시예의 이용자는 추가적 준비된 구입 시나리오를 생성 또는 주문 제조하여 그들 자신의 고유 요구조건 시나리오에 더 잘 일치시킬 수 있다.
요청을 처리하기 전에, 블록(216)에서 고객 컴퓨터(12)는 이용자가 요청의 특이 사항을 확인하도록 할 수 있다. 예를 들어, 이용자는 "4개의 프로세서 각각에 대한 10일간의 당신의 요청을 확인하기 위해서는 F1을, 요청을 변경하기 위해서 는 F2를 누르시오."라는 화면을 볼 수 있다. 따라서, 블록(218)에서 이용자는 요청을 수정하거나 취소할 수 있다.
이와 달리 블록(214)에서 이용자가 그들의 본래 요청을 계속하지 원한다면, 블록(222)에서 프로그램 코드(42)는 임의의 대기 리소스(18)가 현재 미복귀인지를 판단한다. 이를 위해, 프로그램 코드(42)는 리소스 발신을 추적하는 고객 컴퓨터(12)의 레지스터 또는 다른 메모리(19)를 체크하여 현재의 미복귀 대기 리소스(18)의 수를 확인할 수 있다. 이러한 특성은 미복귀 리소스(18)의 존재가 나머지 대기 리소스(18)의 후속 이용 가능성에 영향을 미치는 경우에 구현될 수 있다. 예를 들어, 블록(225)에서 본 발명에 따른 일실시예의 방안 또는 프로그램 코드(42)는 이용자가 추가적 대기 리소스(18)를 활성화시키는 것을 조건부로 방지하며 블록(222)에서 다른 대기 리소스(18)는 미복귀로 남는다. 대신, 블록(224)에서 프로그램 코드(42)는 고객 컴퓨터(12)에서 이용자에게 방안 사양마다 독립 리소스 중 하나 이상을 우선 복귀시키도록 조언하는 통보를 발신할 수 있다.
이와 달리 도 3의 블록(222)에서 대기 리소스(18)가 복귀되지 않았음을 프로그램 코드가 판단하면, 블록(214)의 요청은 프로그램 코드(42)에 의해 처리될 수 있다. 이러한 구성의 경우에, 블록(226 및 228)에서 이용자는 요청되는 대기 리소스(18)를 할당할 수 있다. 예를 들어, 블록(228)에서 이용자는 대기 리소스(18)를 특정 분할(134)에 할당할 수 있다.
도 5의 예시적 화면(400)은 본 발명의 원리에 따라 고객 컴퓨터(12)에 대기 리소스(18)를 할당하는 데 이용되는 인터페이스를 도시하고 있다. 이 화면(400)은 고객 컴퓨터(12)의 ID뿐만 아니라, 이용자가 하나 이상의 요청되는 대기 리소스(18)를 수신하기 원하는 분할(134)의 이름 또는 다른 식별자를 지정할 수 있는 필드(402)도 포함한다. 이와 같이, 본 발명에 따른 일실시예는 상이한 분할 할당을 위한 복수의 이러한 화면(400)을 포함한다. 도 5의 화면에서, 동일하거나 다른 필드(408)는 이용자가 요청되는 대기 리소스(18)를 할당하게 하여 프로세서 풀(pool)을 공유할 수 있다. 전술한 바와 같이, 공유되는 프로세서 풀은 분할(134) 각각이 필요에 따라 프로세서를 이용할 수 있는 범용 리소스로서 기능할 수 있다.
도 5의 화면(400)의 블록(406)에서, 이용자는 필드(402,408)에서 지정되는 분할(134) 또는 풀에 대한 대기 리소스의 최소 개수를 각각 특정할 수 있다. 이 최소 개수는 주어진 분할에서 이용자가 최소한으로 활성화되기 요구하거나 원하는 대기 리소스(18)의 개수를 나타낼 것이다. 따라서, 이용자는 분할의 현재 또는 예상 워크로드에 대한 함수로서 최소 개수를 할당할 수 있다. 본 발명의 실시예에서, 프로그램 코드(42)는 최소한으로 필요한 지정되는 대기 리소스(18)의 수를 재요구할 수 있지만 전형적으로 자동적으로 재요구하지는 않을 것이다. 예를 들어, 최소한으로 지정되는 여러 대기 리소스는 지불 컴퓨터(14)와 개별적으로 또는 집단적으로 통신할 수 있다. 따라서, 그들의 미복귀 상태에도 불구하고, 본 발명의 일실시예의 프로그램 코드(42)는 미복위 대기 리소스(18)의 동작을 방해하지 않을 것이다. 이 특징은 이용자에게 중요한 프로세스의 손실 또는 방해를 방지한다. 역으로, 상세히 후술할 바와 같이, 프로그램 코드(42)는 실질적으로 동작을 방해하지 않고 최소한으로 지정되지 않은 다수의 미복귀 리소스를 회복하도록 허용될 수 있 다.
도 3과 관련하여, 블록(230)은 이용자가 중요한 대기 리소스(18)를 지정할 수 있는 경우를 반영한다. 도 3의 흐름도는 블록(234)의 활성화/이용 이전에 대기 리소스(18)의 최소 개수를 지정하는 이용자를 도시하고 있지만, 당업자는 이용자가 요구에 따른 용량 동작 동안의 임의의 시각에서 조건 변경에 응답하여 이러한 지정을 변경할 수 있음을 인식할 것이다.
이와 달리, 이용자 또는 제공자는 도 3의 블록(232)에서 할당되는 요청되는 대기 리소스(18)가 수동보다 자동으로 되기를 선호할 것이다. 이와 같이, 프로그램 코드(42)는 블록(232)에서 직접 이용자 개입을 요구하지 않고 시스템(10) 프로토콜마다 요청되는 대기 리소스(18)를 할당할 수 있다. 이 특성은 프로그램 코드(42)가 리소스를 효율적으로 모니터링하고 할당할 수 있는 어떤 애플리케이션 및/또는 대기 리소스 요청의 고주파수를 갖는 시스템에서 특히 유리할 것이다.
어떠한 경우에도, 블록(234)에서 이용자는 블록(226-232)에서 요청 및 할당되는 대기 리소스(18)를 이용할 수 있다. 따라서, 이용자는 고객 컴퓨터(12)의 베이스라인 프로세서(16)에 관한 것과 동일 또는 유사한 방식으로 요청되는 대기 리소스(18)에 액세스할 수 있다. 보다 구체적으로, 이용자는 대기 리소스(18)의 요청되는 지속기간이 블록(236)에서 만료될 때까지 정상적으로 대기 리소스(18)를 이용할 수 있다. 이 시각에, 블록(238)에서 이용자는 하나 이상의 대기 리소스(18) 중 만료 또는 계류 만료에 대한 통보를 수신할 수 있다.
블록(241)에서, 프로그램 코드에 의해 자동적으로 회복되지 않는 경우, 블록 (240)에서 이용자는 미복귀 대기 리소스(18)를 포기할 것을 선택할 수 있다. 본 발명에 따른 일실시예에서, 이용자는 블록(242)에서 블록(228-230)에서 대기 리소스를 처음으로 할당하는 데 이용되는 것과 유사한 프로세스를 이용하여, 복귀될 분할(134) 및/또는 대기 리소스(18)를 지정한다. 원하는 경우, 이러한 복귀 프로세스는 도 5의 것과 유사한 화면을 포함할 수 있다.
어떠한 경우에도, 이용자는 블록(244)에서 대기 리소스(18)의 복귀를 허용할 수 있다. 블록(248)에서 미복귀 대기 리소스(18)의 포기는 계산 가능성을 위해 기록된다. 이러한 구성에서, 복귀 동작은 고객 컴퓨터(12)에 부분적으로 기록되거나 지불 컴퓨터(14)에 원격적으로 기록된다.
이와 달리 블록(240)에서 이용자는 미복귀 대기 리소스(18)의 포기를 거절할 수 있다. 전술한 바와 같이, 이 결정은 블록(230)에서 이루어지는 최소 개수 지정 및 기타 설정으로부터 자동적으로 기인될 수 있다. 대기 리소스(18)의 복귀를 거절하는 이용자의 추정되는 통보는 블록(246)에서 확인 및/또는 계산 가능성을 위해 이용자에 의해 재관찰될 수 있다. 이러한 통보는 이용자에게 미복귀 대기 리소스(18)에 간한 지불 비용의 증가 또는 변경을 알려주는 텍스트 메시지를 포함할 수 있다. 통보 및 이용자의 결정에 대한 기록이 블록(248)에서 이루어질 수 있다.
몇 주기 후에, 블록(250)에서 이용자는 제공자로부터 인보이스(invoice)를 수신하고 재관찰할 수 있다. 예를 들어, 전자 메일 인보이스는 네트워크(36)를 통해 고객 컴퓨터(12)에 도달할 수 있다. 블록(254)에서 이용자는 고객 컴퓨터(12)에 부분적으로 저장되는 기록을 이용하여 인보이스 내용의 정확성을 증명할 수 있 다. 원하는 경우, 프로그램 코드(42)는 자동적으로 이러한 비교를 수행할 수 있다. 따라서, 그 후 블록(254 또는 256)에서 이용자는 결정 결과에 따라 인보이스를 지불하거나 제공자 또는 그들의 에이전트와 콘택트할 수 있다.
도 6은 도 1의 지불 컴퓨터(14)에 의해 실행하기에 적합한 프로세스 단계를 갖는 흐름도이다. 특히, 예시적 방법은 지불 컴퓨터(14)의 프로그램 코드(43)에 의해 취해질 수 있는 조치에 관한 것이다. 일 양태에서, 프로그램 코드(43)는 고객 컴퓨터(12) 상의 미복귀 대기 이용을 결정하고 계산한다. 블록(504)에서, 프로그램 코드(43)는 고객 컴퓨터의 소프트웨어 및 하드웨어의 질의를 시도하여 결정 프로세스를 개시할 수 있다. 이러한 질의는 고객과 제공자 사이에 수립된 계약 및 필요한 통신 링크를 가정할 수 있다. 이와 같이, 블록(504)의 질의 시도는 네트워크 통신을 포함할 수 있다. 이 통신은 프로그램적 인스트럭션 및/또는 코드워드를 포함할 수 있으며, 추가적으로 지불 사이클에 부합할 수 있다. 예를 들어, 이러한 질의는 매월 및/또는 매일 주기적으로 수행될 수 있다.
지불 컴퓨터(14)가 블록(506)에서 고객 컴퓨터(12)의 소프트웨어 및/또는 메모리(19)에 액세스하는 데 성공하지 못한 경우, 제공자는 블록(508)에서 다른 통신 메커니즘을 통해 이용자와 콘택트를 시도할 수 있다. 예를 들어, 제공자는 이용자에게 팩스, 서신 또는 전화를 통해 파손된 통신 링크 및 서비스에서의 이므이의 변경을 보고할 수 있다. 역으로, 블록(506)에서 성공적으로 수립되는 링크는 블록(510)에서 지불 컴퓨터(14)에 의해 인증될 수 있다. 이러한 인증 기술은 이 기술 분야에 잘 알려진 인코딩된 전송 기술을 포함할 수 있다.
지불 컴퓨터(14)는 블록(512-518)에서 고객 컴퓨터912)의 스마트 카드 또는 기타 구성요소를 메모리(19)에 질의할 수 있다. 예를 들어, 지불 컴퓨터(14)는 블록(512)에서 현재 이용자에게 이용 가능한 대기 리소스(18)의 수에 대응하는 메모리(19)로부터의 수를 검색할 수 있다. 이와 유사하게, 블록(514)에서 지불 컴퓨터(14)는 고객 컴퓨터(12)로부터 데이터를 검색할 수 있는데 이는 고객 컴퓨터(12) 내의 현재 활성화된 대기 리소스(18)의 수를 반영한다. 블록(516)에서, 지불 컴퓨터(14)는 고객 컴퓨터(12) 상에서 활성화되는 미복귀 대기 리소스(18)의 수를 나타내는 샘플 데이터일 수 있다.
블록(518)에서 다른 단계는 독립/미복귀 리소스 날짜 또는 다른 지불 가능한 측정 단위의 실행 중 또는 총 카운트를 검색하는 것에 관한 것이다. 도 8과 관련하여 상세히 후술하는 바와 같이, 미복귀 리소스 날짜의 수는 대기 리소스가 미복귀로 남는 각 날짜에 대한 카운트를 증가시킴으로써 결정될 수 있다. 전형적으로 이러한 결정은 고객 컴퓨터(12)에서 이루어지며, 본 발명의 다른 실시예의 미복귀 리소스 날짜의 수는 지불 컴퓨터(14)에 의해 능동적으로 결정될 수 있다. 예를 들어, 이러한 실시예의 프로그램 코드(43)는 고객 컴퓨터(12) 및/또는 로컬 지불 메모리(28)로부터 검색되는 다른 정보를 처리하여 미복귀 리로스 이용을 결정할 수 있다.
도 7은 도 6의 블록(510-518)에서 지불 컴퓨터(14)에 의해 검색되기에 적합한 예시적 보고(600)의 콘텐츠를 도시하고 있다. 고객 컴퓨터(12)의 일련번호(614) 및 종류(615)는 보고(600)에 리스트될 수 있다. 보고(600)는 시스템 프로세 서(602)의 수뿐만 아니라, 필드(604, 608)의 미복귀 및 이용 가능한 대기 프로세서의 수도 각각 더 포함할 수 있다. 원하는 경우, 보고(600)는 요청되는 미복귀 프로세서 날짜(610,612)에 관한 히스토리 데이터를 각각 포함한다. 도 7의 보고(600)의 필드(602-615) 및 도 6의 블록(510-518)은 본 발명의 소정 실시예에 관한 특정 애플리케이션을 가질 수 있지만, 당업자는 이와 달리 또는 이에 더하여 다른 데이터가 본 발명의 원리에 따라 지불 컴퓨터(14)와 통신할 수 있음을 인식할 것이다.
도 6의 블록(510-518)에서 고객 컴퓨터(12)로부터 검색되는 데이터의 일부 또는 모두는, 블록(520)에서 지불 컴퓨터(14)에서 부분적으로 저장되는 데이터에 자동적으로 비교될 수 있다. 구현되는 경우, 이 특징은 보고 정확성의 추가 계층을 제공할 수 있다. 예를 들어, 제공자는 고객 컴퓨터(12)를 검사함으로써 임의의 불일치를 수동적으로 어드레싱할 수 있다. 어떤 경우에, 도 6의 블록(518)에서 검색되는 미복귀 프로세서 날짜의 수는 블록(524)에서 처리된다. 예를 들어, 미복귀 프로세서 날짜의 수는 제공자에 의해 블록(522)에서 설정되는 지불 비율만큼 곱해질 수 있다. 이러한 지불 비율은 미복귀 상태를 공유하지 않는 대기 리소스(18)에 대한 정상 동작 비율로부터 변할 수 있다. 이와 같이, 본 발명의 실시예는 다른 예상되는 대기 리소스 이용으로부터 미복귀 리소스 이용을 식별하는 방식을 제공한다. 미복귀 대기 리소스 날짜를 계산하고 구별하는 기능은 예를 들어 더 높은 비율 또는 다른 대기 리소스 날짜와 상이한 비율로 지불될 미복귀 리소스 날짜를 허용하는 지불 기술을 식별할 수 있게 한다.
블록(524)에서 결정되는 지불 가능한 양은 블록(526)에서 다른 인보이스 데이터를 따라 결합될 수 있다. 예를 들어, 블록(528)에서 발생되는 고객 인보이스는 미복귀 리소스 날짜 데이터와 일정한 비율로 임대하는 대기 리소스 날짜와 관련되는 예상 이용 데이터 모두를 포함할 수 있다.
도 8은 도 1의 컴퓨터 시스템(10)에 의해 실행되기에 적합한 방법을 갖는 흐름도이다. 특히, 이 단계들은 본 발명의 원리에 따른 방식으로 미복귀 리소스 이용을 결정한다. 전형적으로, 고객 컴퓨터(12)는 도 8의 프로세서 단계(700-732)를 달성한다. 예를 들어, 고객 컴퓨터(12)의 프로그램 코드(42)는 블록(700)에서 요청되는 대기 리소스(18)의 활성화를 개시할 수 있다. 전술한 바와 같이, 블록(700)의 프로세스는 이용자가 대기 리소스(18)를 적용 가능한 분할(134)에 할당하는 것을 촉진하는 단계뿐만 아니라, 분할 관리자(136)의 발신 프로세스를 개시하는 단계도 포함할 수 있다.
블록(702)에서, 프로그램 코드(42)는 블록(700)의 대기 리소스 요청의 내용의 저장을 개시할 수 있다. 이러한 내용은 요청되는 대기 리소스(18)의 번호, 식별자, 지속기간 및 발신 시간을 포함할 수 있다. 고객 컴퓨터(12)의 카운터 프로그램 및/또는 레지스터는 블록(704)에서 구입된 대기 리소스(18)의 지속기간에 대응하는 시간을 감소시키기 시작한다. 즉, 활성화되는 대기 리소스를 위해 계약적으로 사전 배열되는 시간은 블록(706)에서 만료될 때까지 블록(704)에서 감소될 수 있다.
활성화되는 대기 리소스(18)의 지속기간의 만료는 블록(708)에서 기록될 수 있으며, 프로그램 코드(42)는 블록(710)에서 자신의 만료되는 상태의 이용자에게 통보를 개시할 수 있다. 블록(710)의 이 통보 후에, 프로그램 코드(42)는 이용자로부터 인스트럭션을 수신하여 블록(712)에서 미복귀 대기 리소스(18)를 포기할 수 있다. 이용자가 대기 포르세스를 해제하는 경우, 블록(714)에서 프로그램 코드(42)는 그들을 재요구할 것이다. 계산 가능성을 원하는 경우, 대기 리소스(18)의 재요구는 블록(716)에서 예상되는 리소스 이용으로서 기록된다.
미복귀 대기 리소스(18)가 블록(712)에서 자발적으로 포기되지 않으면, 프로그램 코드(42)는 도 8의 블록(718)에서 미복귀 대기 리소스(18)가 최소 개수 지정 하에서 보호되는지를 결정할 것이다. 이러한 지정은 이용자에 의해 할당되어 중요한 애플리케이션에 대한 방해되지 않는 프로세싱을 보장할 것이다. 다른 예에서, 어떤 분할에서 실행되는 운영 시스템 또는 해로운 프로그램은 대기 리소스(18)의 재요구를 방지할 수 있다. 당업자는 이러한 재요구 제한이 블록(718)에서 야기되는 다른 시나리오 및 설정을 인식할 것이다. 이러한 보호 및/또는 설정이 적절하지 않는 경우, 시스템 방안은 프로그램 코드(42)가 블록(720)에서 다수의 미복귀 리소스(18)를 자동적으로 재요구하도록 할 것이다. 최소 개수 설정에 의해 제공되는 이러한 보호는 어떤 콘텐츠에서는 유리할 수 있지만, 당업자는 본 발명에 따른 다른 실시예가 이러한 설정에 관계없이 미복귀 대기 리소스(18)를 요구할 수 있음을 인식할 것이다. 이러한 조건은 고객이 제공자 가이드라인에 따르기를 거절한 경우에 발생할 수 있다.
역으로, 블록(718)에서 미복귀 대기 리소스(18)가 요구 불가능하게 남는 경 우, 프로그램 코드는 각 미복귀 대기 리소스에 대해 블록(722)에서 기록되는 카운트를 개시할 수 있다. 블록(722)에서 이 카운트는 지불 발생의 경과 또는 실현에 부합하여 증가될 수 있다. 전술한 바와 같이, 적합한 지불 가능한 발생은 사이클, 소프트웨어 프롬프트(prompt) 및/또는 임의의 리소스 수행의 측정 가능한 특성을 포함할 수 있지만, 전형적으로, 동작 날짜 또는 어떤 다른 시간적 메트릭(metric)을 포함한다. 고객 컴퓨터(12)는 적절한 경우에 블록(722)의 증가의 통보를 블록(728)에서 이용자에게 표시할 수 있다. 카운트는 미복귀 대기 리소스(18)가 블록(724)에서 재포획될 때까지 이 방식으로 계속 증가할 수 있다. 블록(724)에서의 독립 대기 리소스의 복귀는 블록(726)에서의 카운트 이전에 종료된다.
어떤 경우에도, 카운트는 지불 컴퓨터(14)에 액세스 가능한 방식으로 고객 컴퓨터(12)의 메모리(19) 내에서 유지될 수 있다. 또한, 카운트는 미복귀 리소스 날짜의 집합 수의 표현이다. 이와 같이, 본 발명의 실시예에 따른 고객 컴퓨터(12)는 블록(732)에서 미복귀 대기 리소스 이용의 출력을 지불 컴퓨터(14)로 개시한다. 프로세싱 또는 다른 고려사항을 위한 경우, 지불 컴퓨터(14)의 프로그램 코드(43)는, 개별 대기 리소스 데이터와 관계없이, 모든 리소스 이용을 나타내는 집합 번호만을 검색할 수 있다.
다양한 실시예를 참조하여 본 발명을 설명하였으며 이들 실시예를 상당히 상세히 설명하였지만, 이는 청구 범위를 이러한 세부한정으로 하기 위한 것이 아니다. 예를 들어, 네트워킹된 통신 링크가 본 발명의 일실시예에서의 정보 교환을 위해 가장 유리한 매체로 제공되었지만, 본 발명에 따른 다른 실시예는 다른 메커 니즘에 의존할 수 있다. 예를 들어, 어떤 작업은 본 발명의 프로그램 코드(42)를 이용하여 이용 보고를 프린트할 수 있다. 이 보고는 후속적으로 제공자 또는 제공자의 에이전트이게 팩스 또는 서신으로 보내질 수 있다. 당업자에게 추가적 장점 및 변형은 쉽게 이해될 것이다. 그러므로, 본 발명은 특정 세부사항, 대표적 장치 및 방법 및 도시된 예에 제한되지 않는다. 따라서, 본 발명의 범위를 벗어나지 않고 이러한 세부 사항에 변경이 이루어질 수 있다.

Claims (43)

  1. 데이터 프로세싱 시스템 내에서 대기 리소스(a standby resource)에 대한 미복귀 리소스 이용을 결정하는 방법으로서 - 상기 대기 리소스는 특정 동작 윈도우를 가짐 - ,
    상기 특정 동작 윈도우 내에서 동작하는 상기 대기 리소스의 예상 이용 데이터를 결정하는 단계와,
    상기 특정 동작 윈도우 외부에서 동작하는 상기 대기 리소스의 미복귀 이용 데이터를 결정하는 단계와,
    상기 대기 리소스의 상기 예상 이용 데이터로부터 상기 대기 리소스의 상기 미복귀 이용 데이터를 분리하여 프로세싱하는 단계와,
    상기 프로세싱된 미복귀 이용 데이터를 출력하는 단계를 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 미복귀 이용 데이터를 결정하는 단계는 상기 특정 동작 윈도우의 외부에서 동작하는 상기 대기 리소스에 응답하여 상기 미복귀 이용 데이터와 관련되는 카운트를 개시하는 단계를 더 포함하는
    방법.
  3. 제 2 항에 있어서,
    상기 미복귀 이용 데이터를 결정하는 단계는,
    측정 가능한 지불 발생(billing occurrence)을 검출하는 단계에 응답하여 상기 카운트를 증가시키는 단계를 더 포함하는
    방법.
  4. 제 3 항에 있어서,
    상기 측정 가능한 지불 발생을 측정하는 단계는,
    시간 단위, 날짜, 프로세서 사이클, 소프트웨어 프롬프트 및 리소스 이용으로 구성되는 그룹으로부터 선택되는 적어도 하나의 이벤트를 검출하는 단계를 더 포함하는
    방법.
  5. 제 1 항에 있어서,
    상기 미복귀 이용 데이터를 결정하는 단계는,
    상기 대기 리소스와 관련되는 동작 기록을 포함하는 메모리를 샘플링하는 단계를 더 포함하는
    방법.
  6. 제 1 항에 있어서,
    상기 미복귀 이용 데이터를 결정하는 단계는,
    최소 리소스 요구조건, 운영 시스템 설정 및 프로그램 설정으로 구성되는 그룹으로부터 선택되는 적어도 하나의 설정에 대한 데이터 프로세싱 시스템 내의 지정에 기초하여 상기 대기 리소스가 재요구 불가능하다는 것을 결정하는 단계를 더 포함하는
    방법.
  7. 제 1 항에 있어서,
    상기 미복귀 이용 데이터를 결정하는 단계는,
    상기 미복귀 리소스 이용을 결정하는 단계에 응답하여 제 2 대기 리소스의 동작을 제한하는 단계를 더 포함하는
    방법.
  8. 제 1 항에 있어서,
    상기 미복귀 이용 데이터를 결정하는 단계는,
    상기 대기 리소스를 재요구하는 단계를 더 포함하는
    방법.
  9. 제 1 항에 있어서,
    상기 미복귀 이용 데이터를 결정하는 단계는,
    주기적으로 상기 미복귀 리소스 이용 데이터를 결정하는 단계를 더 포함하는
    방법.
  10. 제 1 항에 있어서,
    상기 미복귀 이용 데이터를 결정하는 단계는,
    상기 대기 리소스의 동작을 방해하지 않고 상기 미복귀 리소스 이용을 결정하는 단계를 더 포함하는
    방법.
  11. 제 1 항에 있어서,
    상기 특정 동작 윈도우 외부에서 동작하는 상기 대기 리소스의 기록을 저장 하는 단계를 더 포함하는
    방법.
  12. 제 1 항에 있어서,
    측정 가능한 지불 발생을 검출하는 단계에 응답하여 상기 예상 이용 데이터와 관련되는 카운트를 감소시키는 단계를 더 포함하는
    방법.
  13. 제 1 항에 있어서,
    상기 대기 리소스의 상기 미복귀 이용 데이터를 프로세싱하는 단계는,
    측정 가능한 단위당 지불 가능한 비용의 함수로서 상기 미복귀 이용 데이터를 프로세싱하는 단계를 더 포함하는
    방법.
  14. 제 1 항에 있어서,
    상기 대기 리소스의 상기 미복귀 이용 데이터를 프로세싱하는 단계는,
    상기 예상 이용 데이터로부터 상기 미복귀 이용 데이터를 분리하여 저장하는 단계를 더 포함하는
    방법.
  15. 제 1 항에 있어서,
    상기 대기 리소스의 상기 미복귀 이용 데이터를 프로세싱하는 단계는,
    상기 미복귀 이용 데이터로부터 분리되어 저장되는 중복 데이터에 상기 미복귀 이용 데이터를 비교하는 단계를 더 포함하는
    방법.
  16. 제 1 항에 있어서,
    상기 프로세싱된 미복귀 이용 데이터를 출력하는 단계는,
    메모리 내에서 상기 프로세싱된 미복귀 이용 데이터를 저장하는 단계를 더 포함하는
    방법.
  17. 제 1 항에 있어서,
    상기 프로세싱된 미복귀 이용 데이터를 출력하는 단계는,
    상기 프로세싱된 미복귀 이용 데이터를 포함하는 인보이스(invoice)를 발생시키는 단계를 더 포함하는
    방법.
  18. 제 1 항에 있어서,
    상기 프로세싱된 미복귀 이용 데이터를 출력하는 단계는,
    상기 프로세싱된 미복귀 이용 데이터를 지불 컴퓨터(billing computer)에 송신하는 단계를 더 포함하는
    방법.
  19. 제 1 항에 있어서,
    상기 프로세싱된 미복귀 이용 데이터를 출력하는 단계는,
    상기 프로세싱된 미복귀 이용 데이터의 송신을 인코딩하는 단계를 더 포함하는
    방법.
  20. 제 1 항에 있어서,
    상기 프로세싱된 미복귀 이용 데이터를 출력하는 단계는,
    상기 프로세싱된 미복귀 이용 데이터를 인증하는 단계를 더 포함하는
    방법.
  21. 제 1 항에 있어서,
    상기 대기 리소스의 활성화를 개시하는 요청을 발생시키는 단계를 더 포함하는
    방법.
  22. 제 1 항에 있어서,
    상기 특정 동작 윈도우를 설정하는 단계를 더 포함하는
    방법.
  23. 제 1 항에 있어서,
    사전 구성되는 대기 리소스 요청 옵션을 발생시키는 단계를 더 포함하는
    방법.
  24. 제 1 항에 있어서,
    상기 대기 리소스를 활성화시키는 인에이블먼트 코드(an enablement code)를 입력하는 단계를 더 포함하는
    방법.
  25. 제 1 항에 있어서,
    상기 대기 리소스를 재요구 불가능하게 지정하는 단계를 더 포함하는
    방법.
  26. 제 1 항에 있어서,
    상기 데이터 프로세싱 시스템에 상기 대기 리소스를 수동적으로 할당하는 단계를 더 포함하는
    방법.
  27. 제 1 항에 있어서,
    상기 대기 리소스를 상기 데이터 프로세싱 시스템에 자동적으로 할당하는 단 계를 더 포함하는
    방법.
  28. 제 1 항에 있어서,
    상기 대기 리소스가 복귀되도록 지정하는 단계를 더 포함하는
    방법.
  29. 특정 동작 윈도우를 갖는 대기 리소스를 포함하는 컴퓨터와,
    상기 컴퓨터와 통신하는 프로그램 코드를 포함하되,
    상기 프로그램 코드는 상기 특정 동작 윈도우 내에서 동작하는 대기 리소스의 예상 이용 데이터뿐만 아니라, 상기 특정 동작 윈도우 외부에서 동작하는 대기 리소스의 미복귀 이용 데이터도 결정하도록 구성되며,
    상기 프로그램 코드는 상기 대기 리소스의 상기 예상 이용 데이터로부터 상기 대기 리소스의 상기 미복귀 이용 데이터를 분리하여 프로세싱하여, 상기 프로세싱된 미복귀 이용 데이터를 출력하도록 더 구성되는
    장치.
  30. 제 29 항에 있어서,
    상기 프로그램 코드는 상기 특정 동작 윈도우 외부에서 동작하는 상기 대기 리소스에 응답하여, 상기 미복귀 이용 데이터와 관련되는 카운트를 개시하는
    장치.
  31. 제 30 항에 있어서,
    상기 프로그램 코드는 측정 가능한 지불 발생 검출에 응답하여 상기 카운트 증가를 개시하는
    장치.
  32. 제 31 항에 있어서,
    상기 측정 가능한 지불 발생은,
    시간 단위, 날짜, 프로세서 사이클, 소프트웨어 프롬프트 및 리소스 이용으로 구성되는 그룹으로부터 선택되는 적어도 하나의 이벤트를 더 포함하는
    장치.
  33. 제 29 항에 있어서,
    상기 프로그램 코드는 상기 미복귀 리소스 이용 결정에 응답하여 제 2 대기 리소스의 동작 제한을 개시하는
    장치.
  34. 제 29 항에 있어서,
    상기 프로그램 코드는 상기 특정 동작 윈도우 외부에서 동작하는 상기 대기 리소스의 기록 저장을 개시하는
    장치.
  35. 제 29 항에 있어서,
    상기 프로그램 코드는 측정 가능한 단위당 지불 가능한 비용의 함수로서 상기 미복귀 이용 데이터 프로세싱을 개시하는
    장치.
  36. 제 29 항에 있어서,
    상기 프로그램 코드는 상기 예상 이용 데이터로부터 상기 복귀 이용 데이터를 분리하여 저장을 개시하는
    장치.
  37. 제 29 항에 있어서,
    상기 프로그램 코드는 상기 프로세싱된 미복귀 이용 데이터를 지불 컴퓨터에 송신을 개시하는
    장치.
  38. 제 29 항에 있어서,
    상기 대기 리소스는,
    프로세서, 메모리, 인터페이스, 입력/출력 제어기, 어댑터, 하드웨어 장치 및 카드로 구성되는 그룹으로부터 선택되는 적어도 하나의 연산 리소스를 포함하는
    장치.
  39. 제 29 항에 있어서,
    상기 프로그램 코드는 상기 대기 리소스를 재요구 불가능하다는 결정을 개시 하는
    장치.
  40. 제 29 항에 있어서,
    상기 프로그램 코드는 상기 대기 리소스를 재요구 불가능하게 지정 개시하는
    장치.
  41. 제 29 항에 있어서,
    상기 컴퓨터는 논리적으로 분할되는 컴퓨터인
    장치.
  42. 프로그램 제품으로서,
    특정 동작 윈도우 내에서 동작하는 대기 리소스의 예상 이용 데이터뿐만 아니라, 상기 특정 동작 윈도우 외부에서 동작하는 대기 리소스의 미복귀 이용 데이터도 결정하도록 구성되는 프로그램 코드와 - 상기 프로그램 코드는 상기 대기 리소스의 상기 예상 이용 데이터로부터 상기 대기 리소스의 상기 미복귀 이용 데이터를 분리하여 프로세싱하여, 상기 프로세싱된 미복귀 이용 데이터를 출력하도록 더 구성됨 - ,
    상기 프로그램 코드를 전송하는 매체를 갖는 신호를 포함하는
    프로그램 제품.
  43. 제 42 항에 있어서,
    상기 매체를 갖는 신호는 판독 가능한 기록 매체와 전송형 매체 중 적어도 하나를 포함하는
    프로그램 제품.
KR1020057017738A 2003-04-25 2004-04-08 미복귀 대기 리소스 이용량 결정 방법, 장치 및 컴퓨터 판독 가능한 기록 매체 KR100915533B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/424,636 2003-04-25
US10/424,636 US7395334B2 (en) 2003-04-25 2003-04-25 System for determining unreturned standby resource usage

Publications (2)

Publication Number Publication Date
KR20060004920A true KR20060004920A (ko) 2006-01-16
KR100915533B1 KR100915533B1 (ko) 2009-09-04

Family

ID=33299411

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057017738A KR100915533B1 (ko) 2003-04-25 2004-04-08 미복귀 대기 리소스 이용량 결정 방법, 장치 및 컴퓨터 판독 가능한 기록 매체

Country Status (9)

Country Link
US (3) US7395334B2 (ko)
EP (1) EP1623323A2 (ko)
JP (1) JP5116304B2 (ko)
KR (1) KR100915533B1 (ko)
CN (1) CN1777872A (ko)
BR (1) BRPI0409717A (ko)
CA (1) CA2522811A1 (ko)
TW (1) TWI267758B (ko)
WO (1) WO2004097629A2 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7395334B2 (en) * 2003-04-25 2008-07-01 International Business Machines Corporation System for determining unreturned standby resource usage
US7937616B2 (en) * 2005-06-28 2011-05-03 International Business Machines Corporation Cluster availability management
US20080168301A1 (en) * 2007-01-10 2008-07-10 Inventec Corporation Method of automatically adjusting storage sources for server a system
US8856332B2 (en) * 2007-10-09 2014-10-07 International Business Machines Corporation Integrated capacity and architecture design tool
US8843609B2 (en) 2011-11-09 2014-09-23 Microsoft Corporation Managing capacity in a data center by suspending tenants
US9372735B2 (en) 2012-01-09 2016-06-21 Microsoft Technology Licensing, Llc Auto-scaling of pool of virtual machines based on auto-scaling rules of user associated with the pool
US8904008B2 (en) 2012-01-09 2014-12-02 Microsoft Corporation Assignment of resources in virtual machine pools
US9170849B2 (en) 2012-01-09 2015-10-27 Microsoft Technology Licensing, Llc Migration of task to different pool of resources based on task retry count during task lease
US10103949B2 (en) 2012-03-15 2018-10-16 Microsoft Technology Licensing, Llc Count tracking in distributed environments
CN111669341B (zh) * 2016-08-30 2024-03-15 创新先进技术有限公司 互联网资源调度方法及装置
US10807000B2 (en) * 2017-08-15 2020-10-20 Igt Concurrent gaming with gaze detection

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE175281T1 (de) 1991-05-08 1999-01-15 Digital Equipment Corp Lizenz-verwaltungssystem
SE504085C2 (sv) * 1995-02-01 1996-11-04 Greg Benson Sätt och system för att hantera dataobjekt i enlighet med förutbestämda villkor för användare
CN101303717B (zh) * 1995-02-13 2015-04-29 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的系统和方法
US6009473A (en) * 1997-04-30 1999-12-28 Oracle Corporation Using callbacks to effectively manage resources
US6330010B1 (en) * 1997-11-21 2001-12-11 Xsides Corporation Secondary user interface
JPH11296423A (ja) * 1998-04-06 1999-10-29 Matsushita Electric Ind Co Ltd ファイル管理システム、ファイル管理装置および媒体
KR100721078B1 (ko) * 1999-07-06 2007-05-22 소니 가부시끼 가이샤 데이터 처리 장치, 데이터 제공 시스템, 및 데이터 제공 방법
DE10007599A1 (de) * 2000-02-18 2001-03-01 Siemens Ag Betriebsverfahren für ein Programm und Speichermedium, auf dem ein Programm gespeichert ist
JP3885484B2 (ja) * 2000-11-07 2007-02-21 カシオ計算機株式会社 データ通信処理装置及び記録媒体
US8135795B2 (en) 2003-04-03 2012-03-13 International Business Machines Corporation Method to provide on-demand resource access
US20040199473A1 (en) 2003-04-03 2004-10-07 International Business Machines Corporation Billing information authentication for on-demand resources
US7395334B2 (en) * 2003-04-25 2008-07-01 International Business Machines Corporation System for determining unreturned standby resource usage

Also Published As

Publication number Publication date
TWI267758B (en) 2006-12-01
BRPI0409717A (pt) 2006-05-02
US20080109805A1 (en) 2008-05-08
US20080040471A1 (en) 2008-02-14
US20040215774A1 (en) 2004-10-28
CN1777872A (zh) 2006-05-24
US7958218B2 (en) 2011-06-07
KR100915533B1 (ko) 2009-09-04
JP2006524853A (ja) 2006-11-02
WO2004097629A2 (en) 2004-11-11
EP1623323A2 (en) 2006-02-08
WO2004097629A3 (en) 2005-06-02
US7574507B2 (en) 2009-08-11
JP5116304B2 (ja) 2013-01-09
CA2522811A1 (en) 2004-11-11
TW200508917A (en) 2005-03-01
US7395334B2 (en) 2008-07-01

Similar Documents

Publication Publication Date Title
US7958218B2 (en) System for determining unreturned standby resource usage
US6056786A (en) Technique for monitoring for license compliance for client-server software
US7720972B2 (en) System for transferring standby resource entitlement
EP2248060B1 (en) Software license management system that functions in a disconnected or intermittently connected mode
US10944581B2 (en) Increasing processing capacity of processor cores during initial program load processing
JP2004086392A (ja) 計算機構成変更方法およびシステム
US11327767B2 (en) Increasing resources for partition to compensate for input/output (I/O) recovery event
US9274847B2 (en) Resource management platform
JP5868442B2 (ja) 因果関係のプログラム実行容量修正への結論付け、およびプログラム実行容量の動的な修正
US7636693B2 (en) Software license optimization
US10884818B2 (en) Increasing processing capacity of virtual machines
US10884845B2 (en) Increasing processing capacity of processor cores during initial program load processing
AU2020219324B2 (en) Increasing processing capacity of partitions for an abnormal event
JP2021060886A (ja) ライセンス管理装置、ライセンス管理方法、及び、ライセンス管理プログラム

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120725

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130719

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140725

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150728

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160801

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170725

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180727

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190730

Year of fee payment: 11