KR20210097591A - 구성 관리 데이터베이스에 대한 비용 효율성 추적 - Google Patents

구성 관리 데이터베이스에 대한 비용 효율성 추적 Download PDF

Info

Publication number
KR20210097591A
KR20210097591A KR1020200055320A KR20200055320A KR20210097591A KR 20210097591 A KR20210097591 A KR 20210097591A KR 1020200055320 A KR1020200055320 A KR 1020200055320A KR 20200055320 A KR20200055320 A KR 20200055320A KR 20210097591 A KR20210097591 A KR 20210097591A
Authority
KR
South Korea
Prior art keywords
resource
virtual server
role
request
cost
Prior art date
Application number
KR1020200055320A
Other languages
English (en)
Other versions
KR102324086B1 (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 KR20210097591A publication Critical patent/KR20210097591A/ko
Priority to KR1020210149725A priority Critical patent/KR20210134582A/ko
Application granted granted Critical
Publication of KR102324086B1 publication Critical patent/KR102324086B1/ko

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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0621Item configuration or customization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • Game Theory and Decision Science (AREA)
  • Databases & Information Systems (AREA)
  • Operations Research (AREA)
  • Educational Administration (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

리소스 사용 추적을 위한 방법 및 시스템이 개시된다. 일 실시 예에서, 예시적인 방법은 적어도 하나의 가상 서버에 제1 역할을 할당하기 위한 요청을 수신하는 단계; 제1 역할을 가상 서버의 제1 리소스와 연관시키도록 가상 서버를 구성하는 단계; 가상 서버와 연관된 식별자 및 가상 서버에 할당된 제1 역할의 식별자를 포함하도록 데이터베이스를 수정하는 단계; 가상 서버로부터, 제1 리소스 사용의 표시들을 수신하는 단계; 수신된 각 표시들과 연관된 비용들의 조합으로서 제1 리소스 비용을 계산하는 단계; 제1 리소스 비용을 제1 역할에 매핑하는 단계; 및 제1 역할에 매핑된 비용을 포함하도록 웹 페이지 상에 프레젠테이션하기 위한 사용자 인터페이스 요소를 수정하는 단계를 포함한다.

Description

구성 관리 데이터베이스에 대한 비용 효율성 추적{COST EFFICIENCY TRACKING FOR CONFIGURATION MANAGEMENT DATABASE}
본 개시는 일반적으로 구성 관리 데이터베이스를 이용하여 가상 서버의 비용 효율성을 추적하기 위한 컴퓨터화된 시스템 및 방법에 관한 것이다. 특히, 본 개시의 실시예는 프로세싱, 스토리지 또는 통신 역할을 가상 서버에 할당하기 위한 요청을 수신하는 시스템과 관련된다. 시스템은 역할을 가상 서버의 리소스와 연관시키도록 가상 서버를 구성하고 역할과 관련된 비용을 결정한다. 비용은 역할에 매핑되고 웹 페이지에 표시된다. 이러한 방식으로, 단일 구성 관리 데이터베이스는 여러 가지 다른 리소스 또는 가상 서버 간에 분산될 수 있는 다수의 역할의 비용 효율성을 빠르게 추적할 수 있다.
가상 서버의 확산으로 저렴한 비용으로 대규모 컴퓨팅 리소스에 대한 액세스가 확대되었다. 다양한 기업들이 클라우드 컴퓨팅이라고도 하는 가상 서버 리소스를 제공한다. 또한, 회사, 대학, 정부 조직은 다른 서비스들 중에서도, 웹 사이트를 호스트하고, 복잡한 컴퓨터 시뮬레이션을 수행하며, 대규모 데이터베이스를 저장하는 데 가상 서버를 활용한다. 가상 서버는 클라이언트에 안전하고 신뢰할 수 있으며 확장 가능한 컴퓨팅 리소스를 제공하므로, 클라이언트가 서버 역량을 유지하기 보다는 제품을 만드는 데 집중할 수 있게 한다.
그러나, 많은 양의 가상 서버 리소스를 소비하는 복잡한 조직은 종종 가상 서버 사용 비용을 추적하는 데 어려움을 겪는다. 예를 들어, 대기업은 각각 다른 가상 서버 리소스를 필요로 하는 여러 가지 다른 운영을 가질 수 있다. 관리 부서는 가상 서버에 스토리지가 필요할 수 있는 반면, 연구 및 개발은 연산 모델링을 위한 처리가 필요하며, 영업 부서는 웹 사이트를 호스트 하기 위해 가상 서버가 필요할 수 있다.
또한, 조직 내의 여러 가지 다른 운영에서 동일한 리소스를 소비한다. 고객 서비스 채팅과 온라인 상점은 둘 다 웹 사이트를 호스팅 하는 가상 서버를 필요로 할 수 있다. 대안적으로, 대학에서 컴퓨터 공학부는 머신 러닝 알고리즘(machine learning algorithm) 트레이닝 및 몬테 카를로(Monte Carlo) 시뮬레이션 수행과 같은 다양한 연산학적 연구를 위한 처리 능력을 요구할 수 있다. 그러나, 가상 서버 제공자들은 종종 각 리소스의 합산된 비용만을 보고하기 때문에, 복잡한 조직들이 총 가상 서버 비용 중 각 운영에서 발생하는 부분들을 정확하게 파악하기 어렵다. 위의 예에서, 회사는 온라인 상점에 비해 온라인 헬프 데스크를 제공하기 위해 얼마나 많은 돈을 할당해야 하는지를 결정할 수 없거나, 컴퓨터 공학부는 가상 서버에 얼마의 특정 보조금을 지출해야 하는지를 결정할 수 없을 수 있다.
따라서, 가상 서버 리소스를 필요로 하는 조직 내의 각 다양한 역할과 가상 서버 비용을 연관시키기 위한 시스템 및 방법이 필요하다.
본 개시의 한 양상은 리소스 사용 추적을 위한 컴퓨터-구현 시스템에 관한 것이다. 시스템은 명령을 저장하는 메모리 및 명령을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 명령은 적어도 하나의 가상 서버에 제1 역할을 할당하기 위한 요청을 수신하고; 제1 역할을 가상 서버의 제1 리소스와 연관시키도록 가상 서버를 구성하며; 가상 서버와 연관된 식별자 및 가상 서버에 할당된 제1 역할의 식별자를 포함하도록 데이터베이스를 수정하며; 가상 서버로부터, 제1 리소스 사용(usage)의 표시들을 수신하며; 수신된 각 표시들과 연관된 비용들의 조합으로서 제1 리소스 비용을 계산하며; 제1 리소스 비용을 제1 역할에 매핑하며; 그리고 제1 역할에 매핑된 비용을 포함하도록 웹 페이지 상에 프레젠테이션하기 위한 사용자 인터페이스 요소를 수정하는 것을 포함한다.
본 개시의 다른 양상은 리소스 사용 추적을 위한 컴퓨터-구현 방법에 관한 것이다. 방법은 적어도 하나의 가상 서버에 제1 역할을 할당하기 위한 요청을 수신하는 단계; 제1 역할을 가상 서버의 제1 리소스와 연관시키도록 가상 서버를 구성하는 단계; 가상 서버와 연관된 식별자 및 가상 서버에 할당된 제1 역할의 식별자를 포함하도록 데이터베이스를 수정하는 단계; 가상 서버로부터, 제1 리소스 사용의 표시들을 수신하는 단계; 수신된 각 표시들과 연관된 비용들의 조합으로서 제1 리소스 비용을 계산하는 단계; 제1 리소스 비용을 제1 역할에 매핑하는 단계; 및 제1 역할에 매핑된 비용을 포함하도록 웹 페이지 상에 프레젠테이션하기 위한 사용자 인터페이스 요소를 수정하는 단계를 포함한다.
본 개시의 또 다른 양상은 리소스 사용 추적을 위한 컴퓨터-구현 시스템에 관한 것이다. 시스템은 명령을 저장하는 메모리 및 명령을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 명령은 제1 클라이언트로부터 처리 리소스 요청을 수신하고; 요청을 제1 역할과 연관시키며; 리소스를 제공할 수 있는 가상 서버를 결정하고; 제1 역할을 가상 서버의 제1 리소스와 연관시키도록 가상 서버를 구성하며; 가상 서버와 연관된 식별자 및 가상 서버에 할당된 제1 역할의 식별자를 포함하도록 데이터베이스를 수정하며; 요청에 따라 제공된 처리 기간 및 가상 서버와 연관된 단위 시간당 비용을, 상기 가상 서버로부터, 수신하며; 제1 리소스 비용을 기간 및 단위 시간당 비용의 곱으로 계산하며; 제1 리소스 비용을 제1 역할에 매핑하며; 제1 역할에 매핑된 비용을 포함하도록 웹 페이지 상에 프레젠테이션하기 위한 사용자 인터페이스 요소를 수정하며; 그리고 제1 클라이언트에 매핑된 비용을 포함하도록 웹 페이지 상에 프레젠테이션하기 위한 사용자 인터페이스 요소를 수정하는 것을 포함한다.
다른 시스템들, 방법들 및 컴퓨터-판독 가능한 매체도 본 명세서에서 논의된다.
도 1은 개시된 실시예에 따른, 클라이언트와 가상 서버를 포함하는 네트워크를 도시한다.
도 2는 개시된 실시예에 따른, 리소스 사용(usage) 추적 프로세스의 흐름도이다.
도 3은 개시된 실시예에 따른, 리소스 사용 할당 및 추적 프로세스의 흐름도이다.
도 4는 개시된 실시예에 따른, 다수의 가상 서버의 역할 및 리소스의 연관성을 도시한다.
도 5는 개시된 실시예에 따른, 웹 페이지 상에 표시된 사용자 인터페이스 요소를 도시한다.
이어서 첨부된 도면을 참조하여 자세하게 설명된다. 가능하면, 다음의 설명에서 같거나 유사한 부분에 대해 참조되도록 도면에서 같은 도면 부호가 사용된다. 여기에 몇몇 예시적인 실시예가 설명되지만, 변경, 조정 및 다른 구현도 가능하다. 예를 들면, 도면 내의 구성 및 스텝에 대해 교체, 추가, 또는 변경이 이루어질 수 있고, 여기에 설명된 예시적인 방법은 개시된 방법에 대해 스텝을 교체, 순서 변경, 제거 또는 추가함으로써 변경될 수 있다. 따라서, 다음의 자세한 설명은 개시된 실시예 및 예시로 제한되는 것은 아니다. 대신에 본 발명의 적절한 범위는 청구범위에 의해 규정된다.
본 개시의 실시예는 가상 서버 리소스 사용 추적을 위한 시스템 및 방법에 관한 것이다.
도 1은 가상 서버 리소스 사용 추적 시스템(102)을 포함하는 네트워크(100)를 보여준다. 리소스 추적 시스템(102)은 적어도 하나의 프로세서(116), 데이터를 전송할 수 있는 입출력(I/O) 디바이스(118), 및 적어도 하나의 메모리(120)를 포함한다. 메모리(120)는 IP 분류 모듈을 동작시키기 위한 프로그램을 저장한다. 메모리(120)는 또한 그래픽 사용자 인터페이스(GUI)에 대한 명령을 저장할 수 있다.
더욱이, 프로세서(116)는 정보를 조작하거나 처리할 수 있는 범용 또는 특정 전자 디바이스일 수 있다. 예를 들어 프로세서(103)는 임의의 수의 중앙 처리 장치(또는 "CPU"), 그래픽 처리 장치(또는 "GPU"), 광학 프로세서, 프로그래머블 로직 컨트롤러, 마이크로컨트롤러, 마이크로프로세서, 디지털 신호 프로세서, IP 코어, 프로그래머블 로직 어레이(Programmable Logic Array)(PLA), 프로그래머블 어레이 로직(PAL), 일반 어레이 로직(Generic Array Logic)(GAL), 복합 프로그래머블 로직 디바이스(CPLD), 필드-프로그래머블 게이트 어레이(FPGA), 시스템 온 칩(SoC), 주문형 반도체(Application-Specific Integrated Circuit)(ASIC) 및 데이터 처리가 가능한 임의의 타입의 회로의 임의의 조합을 포함할 수 있다. 프로세서는 또한 네트워크를 통해 연결된 다수의 기계 또는 디바이스에 걸쳐 분산된 하나 이상의 프로세서를 포함하는 가상 프로세서일 수 있다.
추가적으로, 메모리(120)는 프로세서에 의해(예를 들면, 미도시된 버스를 통해) 접근할 수 있는 코드와 데이터를 저장할 수 있는 범용 또는 특정 전자 디바이스일 수 있다. 예를 들어, 메모리(105)는 임의의 수의 랜덤-액세스 메모리(RAM), 읽기-전용 메모리(ROM), 광학 디스크, 자기 디스크, 하드 드라이브, 솔리드 스테이트 드라이브, 플래시 드라이브, 보안 디지털(SD) 카드, 메모리 스틱, 소형 플래시(CF) 카드 또는 임의의 유형의 저장 디바이스의 임의의 조합을 포함할 수 있다. 코드는 특정 작업을 위한 하나 이상의 응용 프로그램(또는 "앱(apps)")과 운영 시스템(OS)을 포함할 수 있다. 메모리는 또한 네트워크를 통해 연결된 다수의 기계 또는 디바이스에 걸쳐 분산된 하나 이상의 메모리를 포함하는 가상 메모리일 수 있다.
시스템(102)은 구성 관리 데이터베이스(CMDB)(104)에 연결된다. CMDB(104)는 프로세서, I/O 디바이스 및 메모리를 포함할 수 있다. CMDB(104)의 메모리는, 프로세서 속도 및 메모리를 포함하는 필요한 리소스 할당, 저장된 변수, 포트 및 IP 주소를 포함하는 연결 파라미터와 같은, 가상 서버를 초기화하기 위한 구성 파일을 저장할 수 있다. CMDB(104)는 또한 가상 서버 리소스에 대한 역할에 대응하는 사용자 요청을 저장할 수 있다. 일부 실시예에서, 시스템(102)은 CMDB(104)로서 동시에 동작할 수 있다.
시스템(102)은 컴퓨터 네트워크(106)에 연결된다. 예를 들어, 컴퓨터 네트워크(106)는 임의의 수의 인터넷, 인트라넷, 랜(Local-Area Network)(LAN), 광역 통신망(Wide-Area Network)(WAN), 거대 도시 통신망(Metropolitan-Area Network)(MAN), 가상 사설 네트워크(VPN), 무선 네트워크(예를 들면, IEEEE 802.11a/b/g/n 준수), 유선 네트워크, 전용 회선, 셀룰러 데이터 네트워크, 블루투스 연결, 적외선 연결 또는 근거리 통신(NFC) 연결을 사용하는 네트워크의 임의의 조합을 포함할 수 있다.
시스템(102)은, 직접 또는 컴퓨터 네트워크(106)를 통해, 클라이언트 디바이스(108)에 추가로 연결된다. 클라이언트 디바이스(108)는 랩톱, 독립형 컴퓨터, 휴대폰 등 일 수 있다. 사용자는 클라이언트 디바이스(108)를 통해 가상 서버 리소스 요청을 시스템(102)으로 전송할 수 있다. 일부 실시예에서, 시스템(102)은 단일 장치가 사용자 요청을 수신하고 구성 파일을 생성 및 저장하도록 클라이언트 디바이스(108)를 포함할 수 있다. 대안적으로, 시스템(102) 및 클라이언트 디바이스(108)는 클라이언트 디바이스(108)와 시스템(102) 사이에 교환된 정보가 컴퓨터 네트워크(106)를 통해 전달될 필요가 없도록 직접 연결될 수 있다.
추가적으로, 시스템(102)은 가상 서버 제공자(110)와 통신한다. 예를 들어, 제공자(110)는 임대 또는 구입이 가능한, 서버 팜과 같은, 복수의 서버 또는 범용 컴퓨터를 운영하는 서비스일 수 있다. 일부 실시예에서, 제공자(110)는 처리 시간, 프로세서 역량, 스토리지 또는, 대역폭과 같은, 연결성(connectivity)에 대해 사용자에게 청구할 수 있다. 제공자(110)는 또한, 사용 수준에 관계없이, 추후 액세스를 보장하기 위한 리테이너(retainer)로서, 가상 서버에 연결하기 위해 설정된 기본 요금(baseline)인을 사용자에게 청구할 수 있다. 제공자(110)는 다양한 역량의 서버 및 컴퓨터를 보유할 수 있으며, 유지 수수료를 청구하면서 사용자에게 시스템을 판매할 수 있다. 제공자(110)에 의해 가상 서버 리소스를 판매하는 다른 구성도 가능하다.
일부 실시예에서, 고객 디바이스(112)는 네트워크(106)를 통해 제공자(110)의 가상 서버에 의해 호스팅되는 서비스에 연결할 수 있다. 예를 들어, 회사는 전자상거래 웹사이트를 호스트하기 위해 제공자(110)에 의해 운영되는 서버를 이용할 수 있다. 그 다음에 고객 디바이스(112)는 네트워크(106)를 통해 전자상거래 웹사이트에 연결할 수 있다. 이러한 방식으로, 고객은 회사가 소유한 컴퓨터에 직접 액세스하지 않고 회사의 웹사이트에 액세스할 수 있으며, 대신 제공자(110)에 의해 운영되는 가상 서버와 상호작용 할 수 있다. 이는 서버를 운영할 유기적인 직원이 없는 편리함을 회사에 제공하고, 회사가 필요로 하는 컴퓨팅 파워의 양에 대해서만 비용을 지불함으로써 비용을 절감할 수 있다. 대안적으로, 고객 디바이스(112)는, 예를 들어, 대규모 서버 팜을 운영하지 않고도 제공자(110)의 가상 서버나 컴퓨팅 파워에 의해 저장된 공통 데이터를 공유할 수 있는 연구 협력자일 수 있다.
도 2는 리소스 사용 추적 프로세스(200)의 단계를 보여준다. 시스템(102)은 리소스 사용 추적 프로세스(200)를 수행할 수 있다. 예를 들어, 리소스 사용 추적 프로세스(200)를 수행하기 위한 명령은 메모리(120)에 저장되고 시스템(102)의 프로세서에 의해 구현될 수 있다. 리소스 사용 추적 프로세스(200)는 다음의 단계들을 포함한다.
단계 202에서, 시스템(102)은 적어도 하나의 가상 서버에 제1 역할을 할당하기 위한 요청을 수신한다. 요청은, 다른 프로세스에 의해 자동으로 또는 사용자가 클라이언트 디바이스(108)를 통해 요청을 입력함으로써, 클라이언트 디바이스(108)로부터 발생할 수 있다. 제1 역할은, 예를 들어, 웹 사이트 호스팅, 시뮬레이션 프로세스 또는 데이터 스토리지 일 수 있다. 요청은 특정 가상 서버를 지정할 수 있다. 대안적으로, 요청은 또한, 예를 들어, 처리 시간, 처리 능력, 스토리지 또는 대역폭과 같은, 요구사항을 포함할 수 있다. 대안적으로, 사용자는 클라이언트 디바이스(108)를 이용하여 동작을 초기화할 수 있으며, 시스템(102)은 동작을 완수하는 데 필요한 리소스를 결정할 수 있다.
단계 204에서, 시스템(102)은 제1 역할을 가상 서버의 제1 리소스와 연관시키도록 가상 서버를 구성한다. 역할을 리소스와 연관시키려면 시스템(102)(또는 가상 서버)이, CMDB(104)로부터, IP 주소 및 포트와 같은, 데이터를 검색해야 할 수 있다. 대안적으로, 소프트웨어, 코드, 초기화 데이터 또는 파라미터 또는 디지털 자산은 CMDB(104) 또는 다른 스토리지로부터 복사되어 가상 서버에 제공될 수 있다. 시스템(102)은 가상 서버에 필요한 리소스를 결정할 수 있다. 반면에, 가상 서버는 요청에 포함된 역할에 기초하여 필요한 리소스를 결정할 수 있다.
단계 206에서, 시스템(102)은 가상 서버와 연관된 식별자 및 가상 서버에 할당된 제1 역할의 식별자를 포함하도록 데이터베이스를 수정한다. 데이터베이스는, 예를 들어, CMDB(104), 메모리(120)이거나 가상 서버에 저장될 수 있다. 예를 들어, 데이터베이스는 SQL 데이터베이스에 가상 서버 식별자와 제1 역할 식별자를 기록할 수 있다. 제공자(110)는, 영숫자 코드, MAC 주소, IP 주소 또는, 예를 들어, 서버 창고 위치 및 창고 내의 서버 스택 위치를 포함하는 지구물리적 위치와 같은, 리소스를 호스팅 하는 가상 서버에 대한 고유한 식별자를 제공할 수 있다. 가상 서버 식별자는 또는 역할을 수행하는 가상 서버의 리소스를 지정할 수 있다.
단계 208에서, 시스템(102)은, 가상 서버로부터, 제1 리소스 사용의 표시들을 수신한다. 표시들은 전력 소비, 처리 기간, 프로세서 동작, 대역폭 사용, 스토리지 등일 수 있다. 또한, 표시들은, 시간당 센트, 실행당 센트 또는 부동 소수점 운영당 센트와 같은, 단위당 비용을 포함할 수 있다. 표시들은, 월당 테라바이트 당 센트와 같은, 시간 당 단위당 비용을 포함할 수 있다. 대안적으로, 단위당 비용은 제1 리소스 사용의 표시들과 별도로 얻을 수 있다. 일부 실시예에서, 표시들은 특정 가상 서버 또는 가상 서버 리소스를 소비하는 계정을 식별하는 정보를 추가적으로 포함할 수 있다. 표시들은 제공자(110)에 의해 운영되는 애플리케이션 프로그래밍 인터페이스(API)에 의해 또는 가상 서버에 의해 직접 제공될 수 있다.
단계 210에서, 시스템(102)은 수신된 각 표시들과 연관된 비용들의 조합으로서 제1 리소스 비용을 계산한다. 시스템(102)은 단계 208로부터의 제1 리소스 사용 표시들과 리소스 사용의 단위당 비용에 기초하여 비용을 결정할 수 있다. 더욱이, 비용은 시간이 지남에 따라 누적된 비용의 조합일 수 있다. 예를 들어, 역할은 제1 리소스 비용이 여러 날에 발생된 비용의 조합이 되도록, 지속적이기 보다는, 산발적으로 리소스를 요청할 수 있다. 대안적으로, 제1 리소스 비용은 복수의 가상 서버와 연관된 비용의 조합일 수 있다. 예를 들어, 스토리지의 제1 리소스를 필요로 하는 대규모 데이터베이스 역할이 15개의 가상 서버에 걸쳐 분산된 경우, 시스템(102)은 15개의 사용 표시들을 수신할 수 있다. 사용의 15개 표시들은 제공자(110)에 속하는 15개의 개별 머신에서 차치한 스토리지의 양을 상세히 기술할 수 있다. 그 다음에 시스템(102)은 수신된 표시들에 기초하여 15개 머신의 스토리지의 총 비용을 결정할 수 있다. 일부 실시예에서, 제공자(110)는 가상 서버당 또는, 월 구독료와 같이, 일반적인 제공자로의 액세스에 대한 기본 접속료를 추가로 청구할 수 있다. 시스템(102)은, 리소스 사용에 의해 또는 역할에 의해 비례적으로 배분되는, 임의의 기본 접속료의 일부를 포함하여 제1 리소스 비용을 추가로 계산할 수 있다.
단계 212에서, 시스템(102)은 제1 리소스 비용을 제1 역할에 매핑한다. 시스템(102)은 표시들과 함께 제공된 가상 서버 식별자를 데이터베이스에 저장된 가상 서버 식별자와 상관시킴으로써 단계 212를 수행할 수 있다. 데이터베이스에 저장된 가상 서버 식별자를 결정하는 것은 단계 204에서 가상 서버와 연관된 제1 역할을 제공할 것이며, 따라서 시스템(102)이 제1 리소스 비용을 제1 역할에 매핑할 수 있게 한다.
일부 실시예에서, 수신된 표시들은 가상 서버 식별자를 포함하지 않을 수 있다. 그 다음에 시스템(102)은 리소스 사용을 제공자(110)의 다른 정보와 매칭시켜 가상 서버 식별자를 결정할 수 있다. 예를 들어, 수신된 표시들은, 한 달 동안 23 테라바이트, 29 테라바이트, 51 테라바이트, 81 테라바이트의 스토리지와 같은, 사용 목록만 포함할 수 있다. 예를 들어, 시스템(102)은 추가 단계에서 제공자 웹 사이트에 액세스하여, 예를 들어, 한달 동안 23 테라바이트가 저장된 가상 서버를 결정함으로써, 제1 역할에 매핑 할 수 있는 가상 서버 식별자를 얻을 수 있다.
더욱이, 일부 상황에서, 시스템(102)은, 가상 서버로부터, 제2 리소스 사용의 표시들을 수신할 수 있다. 리소스 사용을 데이터베이스 또는, 제공자 정보와 같은, 다른 리소스와 비교한 후, 시스템(102)은 제2 리소스가 어떠한 역할과도 연관되지 않은 것으로 판단하고 제2 리소스에 대한 액세스를 종료할 수 있다. 예를 들어, 시스템(102)은 가상 서버 식별자가 없고 0.20 달러의 비용으로 5시간의 처리 시간의 표시를 수신할 수 있다. 제공자 정보를 분석한 후, 시스템(102)은 0.20 달러의 요금을 부과하는 가상 서버가 데이터베이스의 어떤 역할에도 연결되지 않았다고 판단하고 서버에 대한 액세스를 자동으로 종료할 수 있다. 예로서, 시스템(102)은 식별자 A623g.6을 가진 가상 서버에 대해 2 테라바이트의 스토리지 표시를 수신할 수 있다. 시스템(102)은 식별자 A623g.6을 가진 서버에 대해 데이터베이스를 검색할 수 있지만, 예를 들어, 사용자가 역할을 중단하고 더 이상 리소스를 요구하지 않음을 나타내는, 관련 역할이 없음을 찾을 수 있다. 그 다음에 시스템(102)은 제2 리소스에 대한 액세스를 자동으로 종료할 수 있다. 일부 실시예에서, 시스템(102)은 관련된 역할을 갖지 않는 가상 서버 리소스에 다른 역할을 자동으로 재할당하거나, 사용자에 의한 재할당을 위해 관련되지 않은 리소스임을 플래그 할 수 있다.
단계 214에서, 시스템(102)은 제1 역할에 매핑된 비용을 포함하도록 웹 페이지 상에 프레젠테이션하기 위한 사용자 인터페이스 요소를 수정한다. 파이 차트, 트랜드 라인 또는 텍스트 디스플레이를 포함하는, 다양한 프레젠테이션 모드를 사용하여 비용을 디스플레이 할 수 있다. 추가적으로, 시스템(102)은, 과거 사용으로부터의 편차를 식별하는 것과 같이, 제1 역할에 매핑된 비용에 대한 추가 분석을 완료할 수 있다. 일부 실시예에서, 시스템(102)은 복수의 역할을 처리하고, 복수의 역할에 대한 사용자 인터페이스 요소를 수정할 수 있을 뿐만 아니라, 사전 설정된 예산을 초과하는 비정상적으로 비싼 역할 또는 역할들을 플래그 하는 것과 같이, 서로 비교한 역할의 분석을 제공할 수 있다.
시스템(102)은 제1 리소스 비용과 제1 역할을 그룹에 추가로 매핑할 수 있다. 예를 들어, 회사는, 웹사이트 운영, 고객 서비스, 배달, 연구개발 및 관리와 같은, 다수의 그룹을 가질 수 있다. 각 그룹은 다수의 역할을 담당할 수 있다. 예를 들어, 연구개발 부서는 다수의 모델링 역할을 개별적으로 운영하여 적은 비용이 발생하지만, 총 비용은 많이 든다. 회사는 각 역할에 대한 리소스 사용을 추적할 뿐만 아니라, 또한 각 그룹에 대한 리소스 사용을 추적하기를 원할 수 있다. 이를 돕기 위해, 시스템(102)은 제1 조직에 매핑된 제1 리소스 비용을 포함하도록 웹 페이지 상에 프레젠테이션 하기 위한 사용자 인터페이스 요소를 추가로 수정할 수 있다. 이 방법은 또한 다수의 학과, 보조금 수령자, 연구 노력(endeavor) 등에 걸쳐 리소스 사용을 추적하는 대학 또는 연구 기관에 유용할 수 있다.
시스템(102)은 또한 제1 리소스 비용을 클라이언트에 매핑할 수 있다. 예를 들어, 사용자는, MAC 주소, IP 주소, 컴퓨터 이름 또는 사용자 로그인 정보와 같은, 식별자를 가진 제1 클라이언트를 이용하여 리소스 요청을 제출할 수 있다. 시스템(102)은 제1 클라이언트를 제1 리소스와 연관시키고, 제1 클라이언트에 매핑된 비용을 포함하도록 웹 페이지 상에 프레젠테이션 하기 위한 사용자 인터페이스 요소를 수정할 수 있다. 이것은 조직이 개별 사용자 또는 클라이언트에 대한 리소스 사용을 추적할 수 있게 하고, 비싼 클라이언트 또는 비생산적인 클라이언트의 식별을 도울 수 있다.
단계 214 이후, 시스템(102)은 단계 208로 돌아가 추가 표시들을 수신하고 리소스 사용 추적을 계속할 수 있다. 사이클에 대한 주기는, 시간당 1회와 같은, 시간 기반 또는, 온디맨드 또는 리소스 사용이 임계값을 통과한 경우와 같은, 이벤트 기반일 수 있다.
도 3은 리소스 사용 할당 및 추적 프로세스(300)의 단계를 보여준다. 시스템(102)은 리소스 사용 추적 프로세스(300)를 수행하도록 가상 서버를 구성할 수 있다. 리소스 사용 추적 프로세스(300)는 다음의 단계를 포함한다.
단계 302에서, 가상 서버는 제1 클라이언트로부터 리소스 사용 요청을 수신한다. 사용자는 요청을 시작하기 위해 클라이언트 디바이스(108)를 사용할 수 있다. 사용자는, 스토리지가 필요함을 나타내는 것과 같이, 리소스에 대한 일반화된 요청을 시작할 수 있다. 사용자는 또한 동작에 대한 세부 요청, 데이터베이스의 데이터 수정 요청, 데이터 저장 요청 또는 데이터 전송 요청을 제공할 수 있다. 데이터 전송 요청은, 예를 들어, 데이터베이스 간에 데이터를 전송하거나 소비자에게 웹 사이트를 제공하는 것을 포함할 수 있으며, 대역폭 사용으로 측정될 수 있다. 클라이언트 디바이스(108)는 가상 서버와 직접 통신하여 사용 요청을 변경하거나 시작하고, 또는 시스템(102)을 통해 가상 서버와 통신할 수 있다.
단계 304에서, 가상 서버는 수신된 리소스 사용 요청과 연관된 역할을 결정한다. 가상 서버는 제1 클라이언트의 신원에 기초하여 역할을 결정할 수 있다. 예를 들어, 제1 클라이언트는 알려진 역할을 가진 특정 부서와 연관된 MAC 주소나 IP 주소를 가질 수 있다. 사용자는 또한 요청을 할 때 역할을 나타낼 수 있다. 일부 실시예에서, 시스템(102)은 리소스 사용 요청과 다른 역할의 리소스 사용 요청 간의 유사성에 기초하여 역할을 결정하고, 가상 서버에 역할을 제공할 수 있다.
단계 306에서, 가상 서버는 리소스 사용 요청에 기초하여 제1 리소스의 사용을 할당한다. 제1 리소스는, 리소스 사용 요청에 따라, 예를 들어, 처리, 스토리지, 또는 연결성, 또는 이들의 조합을 포함할 수 있다. 가상 서버는 리소스 사용 요청에 기초하여 시간의 양 또는 스토리지를 할당할 수 있다. 일부 실시예에서, 가상 서버는 사용자에게 기본 예약 수수료를 부과하면서, 리소스 사용 요청에 대해 독점적으로 시간 또는 스토리지를 예약할 수 있다. 대안적으로, 가상 서버는 필요에 따라 동일한 리소스에 대한 다수의 역할을 수용할 수 있다.
단계 308에서, 가상 서버는, 결정된 역할을 포함하여 생성된 표시인, 리소스 사용 표시를 생성한다. 가상 서버는, 예를 들어, 가상 서버가 실행하는 프로그램에 표시를 포함하는 것에 의해, 표시를 생성하도록 시스템(102)에 의해 구성될 수 있다. 이 표시는, 예를 들어, 이메일을 통해, 또는 시스템(102)의 의한 요청에 따라 온디맨드 방식으로, 시스템(102)에 자동으로 제공될 수 있다. 또한, 가상 서버는 시스템(102)에 의한 신속한 처리를 위해 리소스 사용의 표시를 미리 포맷하도록 구성될 수 있다.
도 4는 다수의 가상 서버의 역할 및 리소스의 예시적인 연관성을 도시한다. 도 4는 영업 그룹(402) 및 연구개발 그룹(404)의 두 개의 조직을 보여준다. 영업 그룹(402)은 웹 호스팅 역할(406)과 이메일 보관 역할(408)의 두 가지 역할을 포함하는 반면, 연구개발 그룹(404)은 신경망 트레이닝 역할(410)을 포함한다.
영업 그룹(402)의 웹 호스팅 역할(406)에는 처리, 스토리지 및 연결성이 필요하다. 도 4에 도시된 바와 같이, 이들 세 가지 요건은 다수의 가상 서버에 분산될 수 있다. 예를 들어, 가상 서버 A(412), 가상 서버 B(414) 및 가상 서버 C(416)는 웹 호스팅 역할(406)에 리소스를 제공한다. 이러한 방식으로, 단일 역할은 복수의 가상 서버로부터의 리소스를 활용할 수 있다. 일부 예에서, 웹 호스팅 역할(406)이 가상 서버 A(412)의 스토리지 및 가상 서버 C(416)의 스토리지를 사용하는 것처럼, 역할은 동일한 리소스 유형의 다수의 서버를 사용할 수 있다. 이는 단일 가상 서버가, 디바이스 제한 또는 다른 역할의 경쟁 할당으로 인해, 역할의 요구를 충족할 수 없는 경우에 발생할 수 있다.
또한, 도 4는 가상 서버가 복수의 역할을 포함할 수 있고, 각 역할은 가상 서버의 적어도 하나의 리소스와 연관됨을 도시한다. 예를 들어, 가상 서버 B(414)는 신경망 트레이닝 역할(410)에 대한 처리, 이메일 보관 역할(408)에 대한 스토리지, 웹 호스팅 역할(406)에 대한 연결성을 제공한다. 추가적으로, 개별 리소스는 복수의 역할과 연관될 수 있다. 예를 들어, 가상 서버 A(412)의 스토리지는 웹 호스팅 역할(406) 및 이메일 보관 역할(408)과 연관된다.
이러한 방식으로, 제1 역할은 많은 다른 서버 간에 분산되어, 단일 서버가 제공할 수 있는 것보다 더 큰 리소스에 액세스하거나, 비싼 고전력 프로세서와 저렴한 소형 스토리지 역량을 혼합하는 것과 같이, 역할에 맞게 조정되었지만 단일 서버에서는 사용할 수 없는 특정 리소스를 선택할 수 있다. 따라서, 사용자는 효율성을 극대화하고 비용을 절감할 수 있다.
도 5는 웹 페이지 상에 제시된 사용자 인터페이스 요소를 도시한다. 시스템(102)은 다수의 역할로부터의 비용 및 사용자 인터페이스 요소로 프레젠테이션하기 위한 비용을 결합할 수 있다. 예를 들어, 차트(502)는 복수의 역할을 총 가상 서버 비용의 관련 부분과 함께 보여준다. 차트(502)는 또한 파이 차트, 시간 경과에 따른 진행을 보여주는 선 차트 등을 포함할 수 있다. 비용은, 자동으로 또는 사용자에 의해 선택되는, 주, 일 또는 월과 같은, 다양한 기간에 걸쳐 집계될 수 있다. 추가적으로, 순위(504)는 오름차순 비용, 내림차순 비용, 백분율 변경, 알파벳 순서 등에 의해 정렬된 역할의 목록을 보여준다. 또한, 시스템(102)은 그룹별로 개별 역할을 집계하여 그룹 간 가상 서버 비용 비교를 보여줄 수 있다.
본 개시의 예시적인 실시예로서 리소스 사용 추적을 위한 컴퓨터 구현 시스템은 명령을 저장하는 메모리 및 명령을 실행하도록 구성된 적어도 하나의 프로세서를 포함한다. 명령은 시스템이 제1 클라이언트로부터 처리 리소스 요청을 수신하고 요청을 제1 역할과 연관시키게 한다. 시스템은 리소스를 제공할 수 있는 가상 서버를 결정하고 제1 역할을 가상 서버의 제1 리소스와 연관시키도록 가상 서버를 구성한다. 시스템은 또한 가상 서버와 연관된 식별자 및 가상 서버에 할당된 제1 역할의 식별자를 포함하도록 데이터베이스를 수정한다. 그 다음에 시스템은 요청에 따라 제공된 처리 기간 및 가상 서버와 연관된 단위 시간당 비용을, 가상 서버로부터, 수신하고, 제1 리소스 비용을 기간 및 단위 시간당 비용의 곱으로 계산한다. 시스템은 또한 제1 리소스 비용을 제1 역할에 매핑한다. 그 다음에 시스템은 제1 역할에 매핑된 비용을 포함하도록 웹 페이지 상에 프레젠테이션하기 위한 사용자 인터페이스 요소를 수정하고, 제1 클라이언트에 매핑된 비용을 포함하도록 웹 페이지 상에 프레젠테이션하기 위한 사용자 인터페이스 요소를 수정한다. 일부 실시예에서, 클라이언트 및 역할은 또한 그룹에 매핑된다.
본 개시는 그 특정 실시예를 참조하여 도시되고 설명되었지만, 본 개시는 다른 환경에서, 변경없이, 실시될 수 있음을 이해할 것이다. 전술한 설명은 예시의 목적으로 제시되었다. 그것은 개시된 정확한 형태나 실시예에 대해 총망라된 것이 아니며 이것으로 한정되는 것은 아니다. 개시된 실시예의 설명 및 실시를 고려하는 것으로부터 변경 및 조정이 통상의 기술자에게 명백할 것이다. 추가적으로, 비록 개시된 실시예의 형태가 메모리에 저장되는 것으로서 설명되었지만, 통상의 기술자는 이들 형태가 2차 저장 디바이스, 예를 들면, 하드디스크나 CD ROM, 또는 다른 형태의 RAM이나 ROM, USB 매체, DVD, 블루레이, 또는 다른 광 드라이브 매체와 같이, 다른 형태의 컴퓨터 판독 가능한 매체에 저장될 수도 있는 것을 이해할 것이다.
상술한 설명 및 개시된 방법에 기초한 컴퓨터 프로그램은 숙련된 개발자의 기술 내에 있다. 여러 프로그램 혹은 프로그램 모듈은 통상의 기술자에게 알려진 어느 기술을 이용하여 생성되거나, 또는 기존의 소프트웨어와 연결하여 설계될 수 있다. 예를 들면, 프로그램 섹션 혹은 프로그램 모듈은 닷넷 프레임워크, 닷넷 컴팩트 프레임워크(및 비주얼 베이식, C 등과 같은, 관련 언어), 자바, C++, 오브젝티브 C, HTML, HTML/AJAX 조합, XML, 또는 자바 애플릿이 포함된 HTML 내에서 혹은 그것들에 의해서 설계될 수 있다.
게다가, 여기에서는 예시적인 실시예가 설명되었지만, 본 개시에 기초하여 통상의 기술자가 이해할 수 있는 바와 같이, 일부 또는 모든 실시예의 범위는 동등한 요소, 변경, 생략, 조합(예로써, 여러 실시예에 걸치는 형태의 조합), 조정 및/또는 수정을 가질 수 있다. 청구범위 내의 제한 사항은 그 청구범위 내에 적용된 언어에 기초하여 폭넓게 이해되도록 하는 것이며, 응용의 수행 동안 혹은 본 명세서 내에 설명된 예시로 한정되는 것은 아니다. 그 예시는 비배타적으로 해석되도록 하기 위한 것이다. 추가로, 개시된 방법의 스텝은 어떤 다른 방법으로 변경되거나, 스텝을 재배열 및/또는 스텝을 삽입하거나 삭제하는 것을 포함할 수 있다. 그러므로, 설명 및 예시는 오직 예시적으로 고려되는 것이며, 진정한 범위 및 기술 사상은 다음의 청구범위 및 그 동등한 전체 범위에 의해 나타내지는 것으로 의도된다.

Claims (20)

  1. 명령을 저장하는 메모리; 및
    상기 명령을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고,
    상기 명령은
    적어도 하나의 가상 서버에 제1 역할을 할당하기 위한 요청을 수신하고;
    상기 제1 역할을 상기 가상 서버의 제1 리소스와 연관시키도록 상기 가상 서버를 구성하며;
    상기 가상 서버와 연관된 식별자 및 상기 가상 서버에 할당된 상기 제1 역할의 식별자를 포함하도록 데이터베이스를 수정하며;
    상기 가상 서버로부터, 제1 리소스 사용(usage)의 표시들을 수신하며;
    상기 수신된 각 표시들과 연관된 비용들의 조합으로서 제1 리소스 비용을 계산하며;
    상기 제1 리소스 비용을 상기 제1 역할에 매핑하며; 그리고
    상기 제1 역할에 매핑된 상기 비용을 포함하도록 웹 페이지 상에 프레젠테이션하기 위한 사용자 인터페이스 요소를 수정하는 것을 포함하는, 리소스 사용 추적을 위한 컴퓨터-구현 시스템.
  2. 청구항 1에 있어서,
    상기 명령은 추가적으로 상기 프로세서가
    상기 가상 서버로부터, 제2 리소스 사용의 표시들을 수신하고;
    상기 제2 리소스가 어떠한 역할과도 연관되지 않음을 판단하며; 그리고
    상기 제2 리소스에 대한 액세스를 종료하도록 하는 시스템.
  3. 청구항 1에 있어서,
    상기 제1 역할은 복수의 가상 서버와 연관되는 시스템.
  4. 청구항 1에 있어서,
    상기 가상 서버는 복수의 역할을 포함하고, 각 역할은 상기 가상 서버의 적어도 하나의 리소스와 연관되는 시스템.
  5. 청구항 4에 있어서,
    상기 가상 서버의 적어도 하나의 리소스는 복수의 역할과 연관되는 시스템.
  6. 청구항 1에 있어서,
    상기 제1 역할을 상기 가상 서버의 상기 제1 리소스와 연관시키는 것은
    상기 가상 서버가
    제1 클라이언트로부터 리소스 사용 요청을 수신하고;
    상기 수신된 리소스 사용 요청과 연관된 역할을 결정하며;
    상기 리소스 사용 요청에 기초하여 상기 제1 리소스의 사용을 할당하며; 그리고
    상기 결정된 역할을 포함하는, 리소스 사용의 표시를 생성하도록 구성하는 것을 포함하는 시스템.
  7. 청구항 6에 있어서,
    상기 제1 리소스는 처리, 스토리지 또는 연결성(connectivity)을 포함하고; 그리고
    상기 리소스 사용 요청은 동작을 수행하기 위한 요청, 데이터베이스에서 데이터를 수정하기 위한 요청, 데이터를 저장하기 위한 요청 또는 데이터를 전송하기 위한 요청 중 적어도 하나를 포함하는 시스템.
  8. 청구항 1에 있어서,
    상기 가상 서버와 연관된 상기 식별자는 IP 주소인 시스템.
  9. 청구항 1에 있어서,
    상기 표시들은 애플리케이션 프로그래밍 인터페이스(API)에 의해 제공되는 시스템.
  10. 청구항 1에 있어서,
    상기 명령은 추가적으로 상기 프로세서가
    상기 제1 리소스 비용과 상기 제1 역할을 그룹에 매핑하고; 그리고
    상기 그룹에 매핑된 상기 제1 리소스 비용을 포함하도록 웹 페이지 상에 프레젠테이션하기 위한 사용자 인터페이스 요소를 수정하도록 하는 시스템.
  11. 적어도 하나의 가상 서버에 제1 역할을 할당하기 위한 요청을 수신하는 단계;
    상기 제1 역할을 상기 가상 서버의 제1 리소스와 연관시키도록 상기 가상 서버를 구성하는 단계;
    상기 가상 서버와 연관된 식별자 및 상기 가상 서버에 할당된 상기 제1 역할의 식별자를 포함하도록 데이터베이스를 수정하는 단계;
    상기 가상 서버로부터, 제1 리소스 사용의 표시들을 수신하는 단계;
    상기 수신된 각 표시들과 연관된 비용들의 조합으로서 제1 리소스 비용을 계산하는 단계;
    상기 제1 리소스 비용을 상기 제1 역할에 매핑하는 단계; 및
    상기 제1 역할에 매핑된 상기 비용을 포함하도록 웹 페이지 상에 프레젠테이션하기 위한 사용자 인터페이스 요소를 수정하는 단계를 포함하는, 리소스 사용 추적을 위한 컴퓨터-구현 방법.
  12. 청구항 11에 있어서,
    상기 가상 서버로부터, 제2 리소스 사용의 표시들을 수신하는 단계;
    상기 제2 리소스가 어떠한 역할과도 연관되지 않음을 판단하는 단계; 및
    상기 제2 리소스에 대한 액세스를 종료하는 단계를 더 포함하는 방법.
  13. 청구항 11에 있어서,
    상기 제1 역할은 복수의 가상 서버와 연관되는 방법.
  14. 청구항 11에 있어서,
    상기 가상 서버는 복수의 역할을 포함하고, 각 역할은 상기 가상 서버의 적어도 하나의 리소스와 연관되는 방법.
  15. 청구항 14에 있어서,
    상기 가상 서버의 적어도 하나의 리소스는 복수의 역할과 연관되는 방법.
  16. 청구항 11에 있어서,
    상기 제1 역할을 상기 가상 서버의 상기 제1 리소스와 연관시키는 단계는
    상기 가상 서버가
    제1 클라이언트로부터 리소스 사용 요청을 수신하는 단계;
    상기 수신된 리소스 사용 요청과 연관된 역할을 결정하는 단계;
    상기 리소스 사용 요청에 기초하여 상기 제1 리소스의 사용을 할당하는 단계; 및
    상기 결정된 역할을 포함하는, 리소스 사용의 표시를 생성하는 단계를 구성하는 것을 포함하는 방법.
  17. 청구항 16에 있어서,
    상기 제1 리소스는 처리, 스토리지 또는 연결성을 포함하고; 그리고
    상기 리소스 사용 요청은 동작을 수행하기 위한 요청, 데이터베이스에서 데이터를 수정하기 위한 요청, 데이터를 저장하기 위한 요청 또는 데이터를 전송하기 위한 요청 중 적어도 하나를 포함하는 방법.
  18. 청구항 11에 있어서,
    상기 가상 서버와 연관된 상기 식별자는 IP 주소인 방법.
  19. 청구항 11에 있어서,
    상기 표시들은 애플리케이션 프로그래밍 인터페이스(API)에 의해 제공되는 방법.
  20. 명령을 저장하는 메모리; 및
    상기 명령을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고,
    상기 명령은
    제1 클라이언트로부터 처리 리소스 요청을 수신하고;
    상기 요청을 제1 역할과 연관시키며;
    상기 리소스를 제공할 수 있는 가상 서버를 결정하고;
    상기 제1 역할을 상기 가상 서버의 제1 리소스와 연관시키도록 상기 가상 서버를 구성하며;
    상기 가상 서버와 연관된 식별자 및 상기 가상 서버에 할당된 상기 제1 역할의 식별자를 포함하도록 데이터베이스를 수정하며;
    상기 요청에 따라 제공된 처리 기간 및 상기 가상 서버와 연관된 단위 시간당 비용을, 상기 가상 서버로부터, 수신하며;
    제1 리소스 비용을 상기 기간 및 단위 시간당 비용의 곱으로 계산하며;
    상기 제1 리소스 비용을 상기 제1 역할에 매핑하며;
    상기 제1 역할에 매핑된 비용을 포함하도록 웹 페이지 상에 프레젠테이션하기 위한 사용자 인터페이스 요소를 수정하며; 그리고
    상기 제1 클라이언트에 매핑된 비용을 포함하도록 웹 페이지 상에 프레젠테이션하기 위한 사용자 인터페이스 요소를 수정하는 것을 포함하는, 리소스 사용 추적을 위한 컴퓨터-구현 시스템.



KR1020200055320A 2020-01-30 2020-05-08 구성 관리 데이터베이스에 대한 비용 효율성 추적 KR102324086B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210149725A KR20210134582A (ko) 2020-01-30 2021-11-03 구성 관리 데이터베이스에 대한 비용 효율성 추적

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/777,541 2020-01-30
US16/777,541 US11182716B2 (en) 2020-01-30 2020-01-30 Cost efficiency tracking for configuration management database

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210149725A Division KR20210134582A (ko) 2020-01-30 2021-11-03 구성 관리 데이터베이스에 대한 비용 효율성 추적

Publications (2)

Publication Number Publication Date
KR20210097591A true KR20210097591A (ko) 2021-08-09
KR102324086B1 KR102324086B1 (ko) 2021-11-09

Family

ID=77062920

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200055320A KR102324086B1 (ko) 2020-01-30 2020-05-08 구성 관리 데이터베이스에 대한 비용 효율성 추적
KR1020210149725A KR20210134582A (ko) 2020-01-30 2021-11-03 구성 관리 데이터베이스에 대한 비용 효율성 추적

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020210149725A KR20210134582A (ko) 2020-01-30 2021-11-03 구성 관리 데이터베이스에 대한 비용 효율성 추적

Country Status (5)

Country Link
US (1) US11182716B2 (ko)
KR (2) KR102324086B1 (ko)
SG (1) SG11202104536WA (ko)
TW (1) TWI749963B (ko)
WO (1) WO2021152374A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230087319A (ko) * 2021-12-09 2023-06-16 국민대학교산학협력단 인공지능 기반 클라우드 학습장치 및 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002300324A (ja) * 2001-04-02 2002-10-11 Nippon Telegr & Teleph Corp <Ntt> リソース状況反映課金方法及びその実施システム並びにその処理プログラムと記録媒体
JP5097750B2 (ja) * 2009-06-09 2012-12-12 株式会社エヌ・ティ・ティ・データ コンピュータリソース提供システムおよびコンピュータリソース提供方法
JP2015232813A (ja) * 2014-06-10 2015-12-24 東日本電信電話株式会社 物理マシン、金額算出方法及びコンピュータプログラム
JP5948451B2 (ja) * 2010-09-30 2016-07-06 アマゾン テクノロジーズ インコーポレイテッド 専用実装リソースを用いる仮想リソース費用追跡
JP6287226B2 (ja) * 2014-01-10 2018-03-07 日本電気株式会社 見積もり装置、見積もりシステム、見積もり方法、及び、プログラム
JP2019053672A (ja) * 2017-09-19 2019-04-04 富士通株式会社 情報処理システム、費用算出装置、および費用算出プログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0597750A (ja) 1991-10-03 1993-04-20 Dainippon Ink & Chem Inc 3環式アルキレングリコール誘導体
US20130054426A1 (en) * 2008-05-20 2013-02-28 Verizon Patent And Licensing Inc. System and Method for Customer Provisioning in a Utility Computing Platform
US8671089B2 (en) * 2009-10-06 2014-03-11 Brightedge Technologies, Inc. Correlating web page visits and conversions with external references
KR20110083084A (ko) * 2010-01-13 2011-07-20 한국전자통신연구원 가상화를 이용한 서버 운영 장치 및 방법
US8645543B2 (en) * 2010-10-13 2014-02-04 International Business Machines Corporation Managing and reconciling information technology assets in a configuration database
US20150006730A1 (en) * 2013-06-27 2015-01-01 Sap Ag Enabling multi-tenant virtual servers in a cloud system
JP5916958B2 (ja) 2013-07-31 2016-05-11 株式会社日立製作所 計算機システム及び計算機システム制御方法
EP3111329A4 (en) * 2014-02-27 2017-11-15 Intel Corporation Techniques to allocate configurable computing resources
US10275749B2 (en) 2015-03-20 2019-04-30 International Business Machines Corporation Tracking use of a virtualization service according to globalization characteristic based usage
EP3289473A4 (en) * 2015-04-28 2018-10-17 Solano Labs, Inc. Cost optimization of cloud computing resources
US10397309B2 (en) 2015-05-13 2019-08-27 Salesforce.Com, Inc. Systems and methods of implementing tracking of resource usage for a cloud-based system
US10193762B2 (en) * 2016-08-11 2019-01-29 Rescale, Inc. Dynamic optimization of simulation resources
US11150950B2 (en) * 2016-12-01 2021-10-19 Vmware, Inc. Methods and apparatus to manage workload domains in virtual server racks
JP6891611B2 (ja) * 2017-04-17 2021-06-18 富士通株式会社 管理装置、情報処理システムの制御方法、および管理装置の管理プログラム
US10841188B2 (en) * 2019-03-25 2020-11-17 International Business Machines Corporation Data tagging for service provider usage allocation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002300324A (ja) * 2001-04-02 2002-10-11 Nippon Telegr & Teleph Corp <Ntt> リソース状況反映課金方法及びその実施システム並びにその処理プログラムと記録媒体
JP5097750B2 (ja) * 2009-06-09 2012-12-12 株式会社エヌ・ティ・ティ・データ コンピュータリソース提供システムおよびコンピュータリソース提供方法
JP5948451B2 (ja) * 2010-09-30 2016-07-06 アマゾン テクノロジーズ インコーポレイテッド 専用実装リソースを用いる仮想リソース費用追跡
JP6287226B2 (ja) * 2014-01-10 2018-03-07 日本電気株式会社 見積もり装置、見積もりシステム、見積もり方法、及び、プログラム
JP2015232813A (ja) * 2014-06-10 2015-12-24 東日本電信電話株式会社 物理マシン、金額算出方法及びコンピュータプログラム
JP2019053672A (ja) * 2017-09-19 2019-04-04 富士通株式会社 情報処理システム、費用算出装置、および費用算出プログラム

Also Published As

Publication number Publication date
US20210241195A1 (en) 2021-08-05
TWI749963B (zh) 2021-12-11
KR20210134582A (ko) 2021-11-10
WO2021152374A1 (en) 2021-08-05
US11182716B2 (en) 2021-11-23
TW202133002A (zh) 2021-09-01
KR102324086B1 (ko) 2021-11-09
SG11202104536WA (en) 2021-09-29

Similar Documents

Publication Publication Date Title
US20240086240A1 (en) Allocating computing resources based on user intent
Ribas et al. A Petri net-based decision-making framework for assessing cloud services adoption: The use of spot instances for cost reduction
US11526754B2 (en) Feature generation for asset classification
CN103930863A (zh) 可轻松云化的应用的基于发现的标识和迁移
EP2569709A2 (en) A decision support system for moving computing workloads to public clouds
US20140019295A1 (en) Automated Technique For Generating Recommendations Of Potential Supplier Candidates
CN113946690A (zh) 潜在客户挖掘方法、装置、电子设备及存储介质
Prakash et al. Multi-dependency and time based resource scheduling algorithm for scientific applications in cloud computing
US10769691B2 (en) Method and computer program product for automated generation and assembly of proposal elements
KR102324086B1 (ko) 구성 관리 데이터베이스에 대한 비용 효율성 추적
CN111801666A (zh) 虚拟代理系统中的查询识别弹性确定
WO2023066073A1 (en) Distributed computing for dynamic generation of optimal and interpretable prescriptive policies with interdependent constraints
TWI760022B (zh) 用於診斷虛擬伺服器及時表現資料的電腦實施系統以及方法
Chang et al. Development of multiple big data analytics platforms with rapid response
US11645595B2 (en) Predictive capacity optimizer
US11741099B2 (en) Supporting database queries using unsupervised vector embedding approaches over unseen data
KR102346364B1 (ko) 가상 서버 리소스 사용량 메트릭 평가 및 성능 추적을 위한 시스템 및 방법
US20240319974A1 (en) Identifying applications impacted by request-related attribute changes
Ravi et al. Analytics in/for Cloud-an Interdependence: A
Ribas et al. Author's Accepted Manuscript

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant