KR20150132859A - 가상 데이터 센터 리소스 활용 정책들의 자동 튜닝 - Google Patents
가상 데이터 센터 리소스 활용 정책들의 자동 튜닝 Download PDFInfo
- Publication number
- KR20150132859A KR20150132859A KR1020157029882A KR20157029882A KR20150132859A KR 20150132859 A KR20150132859 A KR 20150132859A KR 1020157029882 A KR1020157029882 A KR 1020157029882A KR 20157029882 A KR20157029882 A KR 20157029882A KR 20150132859 A KR20150132859 A KR 20150132859A
- Authority
- KR
- South Korea
- Prior art keywords
- resource utilization
- vdc
- resources
- request
- policy
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/188—Virtual file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/217—Database tuning
-
- G06F17/30—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5019—Ensuring fulfilment of SLA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/508—Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
- H04L41/5096—Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/83—Admission control; Resource allocation based on usage prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
컴퓨터-구현 프로세스는 가상 데이터 센터에서 하나 이상의 가상 데이터 센터(virtual data center; VDC) 리소스를 활용하기 위한 요청을 수신하고, 요청에 적용가능한 특정 서비스 레벨을 결정한다. 특정 서비스 레벨 및 VDC 리소스 활용 정책들과 서비스 레벨들 간의 연관성들을 나타내는 매핑 정보에 기초하여, 프로세스는 요청에 대응하는 특정 VDC 리소스 활용 정책을 결정하고, 특정 VDC 리소스 활용 정책에 따라 요청의 완료를 야기한다. 또 다른 프로세스는, 리소스 활용 성능이 요청된 서비스 레벨과 호환가능하지 않다고 결정하고, 리소스 활용 성능 정보와 매핑 정보에 일부 기초하여 새로운 리소스 활용을 선택한다. 프로세스는, 이전의 리소스 활용 정책에 따라 분산된 데이터가, 가상 데이터 센터에서의 하나 이상의 리소스에서 새로운 리소스 활용 정책에 따라 배포되도록 야기한다.
Description
본 개시내용은 일반적으로 RAID와 같은 구성을 이용하는 데이터 저장 정책들(data storage policies)에 관련되며, 보다 구체적으로는 가상 데이터 센터(virtual data center)(VDC) 리소스들의 활용을 위한 기법들에 관련된다.
본 섹션에서 설명된 접근법들이 추구될 수 있으나, 반드시 이전에 구상되거나 추구되었던 접근법은 아니다. 따라서, 본원에서 달리 나타내지 않는 한, 본 섹션에서 설명된 접근법들은 본원의 특허청구범위에 대한 종래 기술이 아니며, 본 섹션에서 포함함으로써 종래 기술인 것으로 인정하는 것이 아니다.
많은 기업들 및 그들의 컴퓨터 시스템들은 가상 데이터 센터에 의해 호스팅되며 클라우스 저장소, 클라우드 컴퓨팅, 또는 클라우드 데이터베이스와 같은 인터넷을 통해 액세스가능한 리소스들을 활용한다. 이러한 구성에서, 기업은 가상 데이터 센터(VDC)의 클라이언트이다. 그러한 가상 데이터 센터들은 클라이언트에게 감소된 비용, 용이한 확장성, 및 감소된 관리 부담을 포함하는 많은 이점을 제공한다. 그러나, 그러한 VDC 리소스들을 활용하는 단점은 리소스들의 성능 품질이 시간에 따라 변경될 수 있는 것이다. 예를 들어, 판독 동작 또는 기입 동작을 완료는데 필요한 시간에 있어서 현저한 변동이 있을 수 있다. 품질에 있어서의 변동은 가상 데이터 센터의 리소스들에 의존하는 가상 클라이언트 애플리케이션의 동작에 영향을 줄 수 있다. 클라우드 저장 유닛(cloud storage unit)들로부터 일관된 성능을 획득하는 비용 효율적인 접근법들이 요구된다.
또한, 성능 품질에 대한 클라이언트 요구 또한 시간에 따라 변경될 수 있다. 예를 들어, VDC는 그의 저장 유닛들의 성능을 RAID(redundant array of independent disks) 레벨들에 따라 수량화할 수 있고, 클라이언트에게 할당된 특정 데이터 저장 유닛들에 대해, 제1 레벨의 RAID 구성 또는 성능 또는 기타의 저장 정책들을 구축할 수 있으나, 시간에 따라 클라이언트가, 그의 요구를 충족하기 위해, 상이한 레벨들의 RAID 구성 또는 성능, 또는 기타의 데이터 저장 정책들이 필요하다고 결정할 수 있다. 이러한 정책들의 조정은 통상적으로, 복잡하여, 클라이언트와 VDC 사이의 수동 통신을 요구하고, 데이터 저장 동작들(data storage operations)에 지장을 줄 수있다. 서비스 레벨 목적들을 충족하는 하나의 접근법은 필요한 리소스들을 과다공급(overprovision)하는 것이다. 그러나, 이러한 접근법들은 고수준의 지식 및 자산 투자를 요한다. 클라이언트에 대한 비용을 최소화하면서 클라이언트의 변경하는 요구를 수용하는 접근법들이 필요하다.
첨부된 특허청구범위는 본 발명의 요약으로서 기능한다.
도 1은 실시예를 구현하는데 이용될 수 있는 예시적인 네트워킹된 컴퓨터 시스템 구성을 예시한다.
도 2는 실시예에 따른 예시적인 네트워킹된 컴퓨터 시스템 구성의 정황을 예시한다.
도 3은 데이터와 연관된 서비스 레벨을 충족하는 리소스 활용 정책의 결정에 따라 데이터를 저장하는 예시적인 방법을 예시한다.
도 4는 VDC 리소스들의 세트의 성능의 분석에 기초하여 리소스 활용 정책 매핑을 자동적으로 업데이팅하는 예시적인 방법을 예시한다.
도 5는 데이터 동작 성능 정보의 결정에 기초한 새로운 리소스 저장소에 따라 데이터를 저장하는 예시적인 방법을 예시한다.
도 6은 실시예가 구현될 수 있는 컴퓨터 시스템을 예시한다.
도 2는 실시예에 따른 예시적인 네트워킹된 컴퓨터 시스템 구성의 정황을 예시한다.
도 3은 데이터와 연관된 서비스 레벨을 충족하는 리소스 활용 정책의 결정에 따라 데이터를 저장하는 예시적인 방법을 예시한다.
도 4는 VDC 리소스들의 세트의 성능의 분석에 기초하여 리소스 활용 정책 매핑을 자동적으로 업데이팅하는 예시적인 방법을 예시한다.
도 5는 데이터 동작 성능 정보의 결정에 기초한 새로운 리소스 저장소에 따라 데이터를 저장하는 예시적인 방법을 예시한다.
도 6은 실시예가 구현될 수 있는 컴퓨터 시스템을 예시한다.
가상 데이터 센터 리소스 활용 정책들을 자동적으로 튜닝하는 방법들이 설명된다. 후속하는 설명에서는, 설명의 목적을 위해, 다수의 구체적인 상세들이 개시되어 본 발명의 완전한 이해를 제공한다. 그러나, 본 기술분야의 통상의 기술자에게는 본 발명이 이러한 구체적 상세들 없이도 실시될 수 있다는 것이 명백할 것이다. 다른 예들에서, 공지된 구조들 및 디바이스들은 본 발명을 불필요하게 모호하게 하지 않도록 블록도로 도시된다.
실시예들은 다음의 개요에 따라 본원에서 설명된다.
1.0 일반적 개요
2.0 구조적 및 기능적 개요
3.0 구현 메커니즘 - 하드웨어 개요
4.0 확장들 및 대안들
1.0 일반적 개요
실시예들이 저장 관리자 컴퓨터, 복수의 컴퓨터 기반 저장 유닛, 및 클라이언트 컴퓨터 또는 머신을 갖는 네트워킹된 컴퓨터 시스템에서 이용될 수 있다. 이러한 정황에서, 가상 데이터 센터 또는 VDC는 하나 이상의 가상화된 기업 컴퓨터 시스템, 사설 데이터 센터의 가상 머신 기반구조(infrastructure), 사설 클라우드의 컴퓨팅, 저장소 또는 네트워킹 리소스들, 클라우드 서비스 제공자(CSP)에 의해 제공되는 것과 같은 공공 클라우드에서의 리소스들, 및 하이브리드 클라우드 컴퓨팅 환경들 중 임의의 것을 지칭한다.
실시예에서, 클라이언트는, 클라이언트의 작업부하 및 VDC 리소스들을 활용하고 VDC 제공자와는 별개인 리소스 관리자에 의해 관리되는 관련 기반구조 서비스들에 대한 예상 서비스 레벨들을 명시한다. 리소스 관리자는 리소스 활용 요청들이 명시된 서비스 레벨에 대응하는 성능 레벨에 따라 완료된다는 것을 보장한다. 클라이언트는 동작 동안에 명시된 서비스 레벨들을 변경할 수 있고 리소스 관리자는 리소스 활용 요청들이 수정된 서비스 레벨 사양에 대응하는 성능 레벨에 따라 완료된다는 것을 보장할 수 있다. 리소스 관리자의 로직은 VDC 리소스들을 제공하는 가상 데이터 센터와는 상이한 엔티티에 의해 제어될 수 있다.
리소스 관리자는, 인입하는 리소스 활용 요청들이 리소스 활용 요청이 수신되는 시점에서 결정되는 정책에 따라 자동적으로 완료되게 할 수 있다. 리소스 관리자는 VDC 리소스의 성능이 변경됨에 따라 리소스 관리자가 수정하는 적절한 정책을 서비스 레벨들로의 정책들의 매핑에 기초하여 결정할 수 있다.
VDC 리소스들이 저장 유닛들인 정황에서, 리소스 관리자는, 클라이언트가 VDC 저장 유닛들의 성능에 있어서의 결정된 변경 또는 상이한 서비스 레벨을 요청하는 것에 응답하여, 저장 유닛들에 저장된 데이터가 상이한 저장 정책에 따라 저장되게 할 수 있다. 상이한 저장 정책들의 예들은, 데이터 리던던시(redundancy)의 변경, 미러링(mirroring) 또는 복제 레벨, 데이터 저장 성능 요건들(data storage performance requirements), 하나의 RAID 레벨로부터 상이한 RAID 레벨로의 데이터 저장 스트리핑(data storage striping) 정책들(비트 레벨, 바이트 레벨, 블록 레벨) 변경 또는 특정 소거 코딩(erasure coding)과 같은 RAID에 대한 대안을 선택하는 것, 또는 저장 유닛의 신뢰성, 가용성, 성능 및 용량에 관련된 임의의 다른 파라미터를 포함한다.
실시예에서, 컴퓨터 구현 프로세스는 요청을 수신하여 가상 데이터 센터에서의 하나 이상의 가상 데이터 센터(VDC) 리소스를 활용하는 것을 포함한다. 요청을 수신하는 것에 응답하여, 프로세스는 요청에 적용가능한 특정 서비스 레벨을 결정한다. 프로세스는, VDC 리소스 활용 정책들과 서비스 레벨들 간의 연관성을 나타내는 매핑 정보 및 특정 서비스 레벨에 기초하여, 요청에 대응하는 특정 VDC 리소스 활용 정책을 결정한다. 프로세스는 특정 VDC 리소스 활용 정책에 따라 요청의 완료를 야기한다.
실시예에서, 프로세스는, VDC 리소스들의 세트의 성능의 분석에 기초하여, 특정 서비스 레벨과 연관된 이전의 VDC 리소스 활용 정책이 특정 서비스 레벨와 연관된 성능 예상과 더이상 호환되지 않는다고 결정하는 것을 포함한다. 프로세스는 또한, 이전 VDC 리소스 활용 정책과 특정 서비스 레벨 간의 연관성에 대한 식별을 새로운 리소스 활용 정책과 특정 서비스 레벨 간의 연관성의 식별로 대체하기 위해 매핑 정보를 수정하는 것을 포함한다.
2.0 구조적 및 기능적 개요
도 1은 실시예를 구현하는데 이용될 수 있는 예시적인 네트워킹된 컴퓨터 시스템 구성을 예시한다. 명확한 예들을 예시하기 위해, 도 1은 실시예에서 이용될 수 있는 다양한 기능적 요소들에 대해 대표적인 갯수만을 도시한다; 그러나, 다른 실시예들은 임의의 수의 그러한 기능적 요소들을 이용할 수 있고, 따라서, 도 1은 단지 하나의 가능한 구현 예일 뿐이다. 클라이언트 머신(100)은 클라이언트 머신에 대해 원격인 VDC 리소스들로부터 검색된 데이터를 프로세스할 수 있는 데이터 프로세싱 유닛(102), 및 클라이언트 머신에 대해 원격인 VDC 리소스들에 전송되는 데이터를 생성할 수 있는 데이터 생성 유닛(104)을 포함한다.
클라이언트 머신(100)은 리소스 관리자(106)에 통신가능하게 결합될 수 있다. 리소스 관리자(106)는, 각각이 하나 이상의 VDC 리소스들에 통신가능하게 결합될 수 있는 하나 이상의 리소스 매니저에 통신가능하게 결합될 수 있다. 그러한 시스템은 클라이언트 머신(100)이 데이터를 VDC 저장 유닛들에 저장 또는 그로부터 검색하는 요청과 같은 리소스 활용 요청들을 전송하는 경우 활용될 수 있다.
클라이언트 머신(100)은, 이것으로 제한되는 것은 아니지만, iSCSI(Internet Small Computer System Interface) 프로토콜을 포함하는 다양한 통신 프로토콜들 중 임의의 것을 이용하여 리소스 관리자(106)에게 데이터를 전송 또는 그로부터 데이터를 검색할 수 있다. 리소스 관리자(106)는 컴퓨터들, 프로그램들, 프로세스들, 또는 VDC 리소스들(124, 128, 136, 140)을 활용하기 위한 요청들을 관리하는 기타의 논리적 요소들을 나타낸다. VDC 리소스들(124, 128, 136, 140)은 하나 이상의 가상 데이터 센터, 데이터베이스 리소스들, VDC에 의해 제공된 컴퓨팅 리소스들, 또는 기타의 VDC 리소스들에 의해 호스팅되는 가상화된 저장 유닛들일 수 있다. VDC 리소스들(124, 128, 136, 140)은 각각 상이한 물리적 호스트 머신들에 위치될 수 있다.
리소스 관리자(106)는 클라이언트 머신(100)으로부터 원격에 있을 수 있고 클라이언트 머신(100)은, 하나 이상의 로컬 영역 네트워크(local area networks), 광역 네트워크(wide area networks), 인터네트워크(internetworks) 또는 인터넷(internets)과 같은 상이한 유형들의 하나 이상의 네트워크를 통해 리소스 관리자(106)와 통신할 수 있다.
리소스 관리자(106)는 리소스 활용 정책 매핑들(108), 리소스 활용 정책 조정 명령어들(110), VDC 리소스 성능 모니터(112), 저장 정책 매니저(118), 리소스 활용 요청 관리자(114), 및 리소스 활용 정책 업그레이더(116)를 포함한다. 리소스 활용 정책 매핑들(108)은 리소스 활용 정책들과 서비스 레벨들 간의 연관성들을 식별할 수 있다. 리소스 활용 정책들은 저장 정책들, 컴퓨팅 리소스 정책들, 데이터베이스 리소스 정책들, 또는 VDC 리소스들의 활용에 관련된 기타 유형의 정책들을 포함할 수 있다.
리소스 활용 정책 조정 명령어들(110)은 리소스 활용 정책 매핑들(108)을 수정하는 명령어들을 포함할 수 있다. 리소스 활용 요청 관리자(114)는 인입하는 데이터 동작 요청들을 적절한 VDC 리소스 매니저들 또는 VDC 리소스들로 전달할 수 있다. VDC 리소스 성능 모니터(112)는 하나 이상의 VDC 리소스의 성능을 모니터링할 수 있다. 리소스 활용 정책 업그레이더(116)는 리소스 활용 정책 조정 명령어들(110)에 따라, 그리고 VDC 리소스 성능의 분석에 기초하여 리소스 활용 정책 매핑들(108)을 업데이트할 수 있다. 저장 정책 매니저(118)는 클라이언트 머신(100)의 데이터가 결정된 성능 정보에 기초한 새로운 저장 정책에 따라 저장되게 할 수 있다.
리소스 관리자(106)는 리소스 매니저들(120 및 132)과 같은 하나 이상의 VDC 리소스 매니저에 통신가능하게 결합될 수 있다. 리소스 매니저들(120, 132) 각각은 VDC 리소스들(124, 128, 136, 140)과 같은 하나 이상의 VDC 리소스에 통신가능하게 결합될 수 있다. 실시예에서, 리소스 관리자(106)는 리소스 매니저를 통해 통신하기 보다는 VDC 리소스들(124, 128, 136, 140)과 직접 통신한다.
일부 실시예들에서, 리소스 매니저들(120 및 132)은 리소스 액세스 유닛들을 포함한다. 리소스 액세스 유닛(122)은, 양쪽이 모두 리소스 매니저(120)에 통신가능하게 결합되는 VDC 리소스들(124, 128)에 정보를 송신 또는 그로부터 정보를 수신할 수 있다. 마찬가지로, 리소스 액세스 유닛(134)은, 양쪽이 모두 리소스 매니저(132)에 통신가능하게 결합되는 VDC 리소스들(136, 140)에 정보를 송신 또는 그로부터 정보를 수신할 수 있다.
VDC 리소스들(124, 128, 136, 140)은, 클라이언트 데이터(126, 130, 138, 142)와 같은, 클라이언트 머신(100)과 연관된 데이터를 포함할 수 있다. 클라이언트 머신(100)은 판독 또는 기입 요청을 리소스 관리자(106)에 전송함으로써 VDC 리소스들(124, 128, 136, 140)으로부터 데이터를 판독 또는 그에 대해 데이터를 기입할 수 있다. VDC 리소스들은, 다양한 실시예들에 따라, 저장 유닛들, 컴퓨팅 리소스들, 또는 데이터베이스 리소스들 또는 기타의 VDC 리소스들일 수 있다.
리소스 관리자(106)는, 클라이언트 머신(100)과 같은 복수의 상이한 클라이언트로부터의 VDC 리소스 활용 요청들을 수신할 수 있고, 복수의 상이한 VDC 리소스와, 리소스 매니저를 통해 직접적으로 또는 간접적으로 통신가능하게 결합될 수 있다. 일부 VDC들의 리소스들은 특정 클라이언트와 연관된 데이터를 저장 또는 프로세스할 수 있고, 다른 VDC 리소스들은 상이한 클라이언트와 연관된 데이터를 저장 또는 프로세스할 수 있다.
리소스 관리자(106), 리소스 매니저(120, 132), 및/또는 VDC 리소스들(124, 128, 136, 140) 간의 통신은, 하나 이상의 로컬 영역 네트워크, 광역 네트워크, 인터네트워크 또는 인터넷과 같은, 다양한 네트워크 중 임의의 것을 통해 발생할 수 있다.
도 2는 실시예에 따른, 도 1의 예시적인 네트워킹된 컴퓨터 시스템 구성의 예시적인 정황을 예시한다. 클라이언트 머신(100)은 클라이언트(210)에 의해 제어될 수 있고, 리소스 매니저(120 및 132) 및 리소스 관리자(106)의 로직은 매니저(220)에 의해 제어될 수 있다.
매니저(220)는, VDC 리소스들(124, 128, 136, 140)을 호스팅하는 가상 데이터 센터(들)과는 상이하고 클라이언트(210)와는 상이할 수 있으며, VDC 리소스들(124, 128, 136, 140) 내에 저장된 또는 VDC 리소스들에서 계산된 데이터를 활용할 수 있다. 매니저(220)는 본원에 설명된 방법들에 따라, 클라이언트(210)를 대신하여 VDC 리소스들(124, 128, 136, 140)을 제어 및 관리할 수 있다.
리소스 관리자(106)는 가상 머신(222) 내에서 동작할 수 있고, 리소스 매니저(120)는 별개의 가상 머신(224) 내에서 동작할 수 있고, 리소스 매니저(132)는 별개의 가상 머신(226) 내에서 동작할 수 있다. 실시예에서, 가상 머신(222, 224, 및 226)은 VDC 리소스들(124, 128, 136, 140) 중 하나 이상을 호스팅하는 동일한 가상 데이터 센터 제공자에 의해 호스팅된다. 매니저(220)는 리소스 매니저(120), 리소스 매니저(132), 및 리소스 관리자(106)의 로직과 같은, 가상 머신들(222, 224, 226) 내의 프로세스들의 실행을 제어할 수 있다.
일부 실시예들에서, 리소스 관리자(106)는 VDC 리소스들(124, 128, 136, 140)을 리소스 매니저(120 또는 132)가 VDC 리소스들(124, 128, 136, 140)을 액세스할 것을 요청하지 않고 직접 액세스한다. 그러나, 일부 실시예들에서, VDC 리소스들(124, 128, 136, 140)을 호스팅하는 하나 이상의 가상 데이터 센터들은 동일한 가상 머신에 접속될 수 있는 VDC 리소스들의 수를 특정 수 미만으로 제약한다. 예를 들어, 일부 VDC들은 특정 가상 머신에 의해 액세스될 수 잇는 가상 디스크들의 수를 제한한다. 그러한 실시예에서, 도 1 및 2에 예시된 시스템은 리소스 관리자(106)가 리소스 관리자에 의해 제어될 수 있는 VDC 리소스들의 수를 최대화하게 할 수 있다. 리소스 관리자(106)는, 가상 머신들(224 및 226)에서의 리소스 매니저들(120 및 132)과 같은 복수의 상이한 가상 머신들의 요청 모듈들에 의해 VDC 리소스들(124, 128, 136, 140)을 관리하여 다양한 리소스 활용 동작들을 수행하거나 필요한 성능 정보를 제공할 수 있다. 그러한 접근법은 리소스 관리자(106)가 단일의 가상 머신에 의한 활용을 위해 허용되는 VDC 리소스들의 최대 수보다 큰 다수의 VDC 리소스를 관리하게 할 수 있다.
일부 실시예들에서, VDC 리소스들(124, 128, 136, 140)은 복수의 상이한 가상 데이터 센터에 존재한다. 예를 들어, VDC 리소스들(124 및 128)은 제1 가상 데이터 센터에 있을 수 있고, VDC 리소스들(136 및 140)은 상이한 클라우드 서비스 제공자에 있을 수 있다. 따라서, 매니저(220)는 클라이언트(210)를 대신하여 복수의 상이한 가상 데이터 센터에 의해 호스팅되는 VDC 리소스들을 관리 및 제어할 수 있다.
서비스 레벨 동의(230)는 클라이언트(210)에 저장될 특정 저장 서비스 레벨(storage service level)을 나타내는 매니저(220) 및 클라이언트(210) 사이의 동의일 수 있다. 서비스 레벨 동의는 리소스 활용 요청들을 수행하기 위한 성능의 수용가능한 레벨들을 나타내는 임계치 또는 값들의 범위를 나타낼 수 있다. 리소스 활용 요청들은 VDC 리소스들(124, 128, 136, 140)로부터의 데이터를 액세스하거나 VDC 리소스들에 데이터를 저장하는 요청들을 포함할 수 있다. 예를 들어, 서비스 레벨 동의는 리소스 관리자(106)에서 클라이언트 머신(110)으로부터 수신된 데이터 동작 요청들이 개별 데이터 동작에 대해 초당 100개 데이터 동작들의 중간 속도(median speed)로 그리고 초당 50개 데이터 동작들보다 느리지 않은 속도로 완료될 것을 나타낼 수 있다. 서비스 레벨 동의(230)는 오직 클라이언트(210)와 매니저(220) 사이에 있을 수 있고, 임의의 가상 데이터 센터를 포함하지 않을 수 있다.
도 3은 요청과 연관된 서비스 레벨을 충족하는 결정된 리소스 활용 정책에 따라 VDC 리소스들을 활용하는 예시적인 방법을 예시한다. 도 3의 방법은 하나 이상의 컴퓨터 프로그램, 기타의 소프트웨어 요소들, 또는 리소스 관리자(106)에서의 기타 기능 로직을 이용하여 구현될 수 있다. 블록(302)에서, 리소스 관리자(106)는 VDC 리소스 활용 요청을 수신한다. VDC 리소스 활용 요청은 VDC 컴퓨팅 리소스들을 활용하기 위한, VDC 저장 유닛들에서 데이터를 저장하기 위한, 또는 VDC에 의해 제공된 클라우드 데이터베이스를 이용하기 위한 요청일 수 있거나 또는 일부 다른 VDC 리소스 활용 요청일 수 있다. 도 3의 프로세스의 수신 및 기타의 부분들은 가상 데이터 센터와는 상이한 관리 엔티티에 의해 실행이 제어되는 실행 리소스 관리자 로직에 의해 수행될 수 있다. 특정 데이터를 저장하기 위한 요청은 클라이언트 머신(100)으로부터 수신될 수 있다.
블록(304)에서, VDC 리소스들을 활용하기 위한 요청을 수신하는 것에 응답하여, 리소스 관리자(106)는 요청에 적용가능한 특정 서비스 레벨을 결정한다. 요청에 적용가능한 특정 서비스 레벨은 서비스 레벨 동의(230)에 기초하여 결정될 수 있다. 실시예에서, 클라이언트(210)는 리소스 관리자(106)에서 클라이언트(210)로부터 수신된 모든 요청에 대해 적용가능한 서비스 레벨을 명시한다. 다른 실시예에서, 클라이언트(210)는 상이한 유형들의 VDC 리소스 활용 요청들에 대해 상이한 서비스 레벨을 명시한다. 예를 들어, 클라이언트(210)는, 아카이브된(archived) 데이터를 VDC 저장 유닛으로부터 검색하기 위한 요청을 "실버" 서비스 레벨에 대응하는 것인 반면, VDC 저장 유닛에서 클라이언트 프로파일 데이터를 업데이트하기 위한 요청은 "골드" 서비스 레벨에 대응하는 것으로 명시할 수 있다. 다른 실시예에서, 클라이언트 머신(100)은 데이터를 저장하기 위한 요청을 데이터에 대한 서비스 레벨 사양과 함께 전송한다. 예를 들어, 클라이언트 머신(100)은 데이터 저장 요청(data storage request)을 전송하고, 특정 데이터가 "골드" 서비스 레벨에 대응하는 것임을 명시할 수 있다. 다른 실시예에서, 클라이언트(210)는 모든 요청들에 적용가능한 서비스 레벨을 명시할 수 있으나, 클라이언트(210)는 상이한 시간들에서 서비스 레벨을 조정할 수 있다. 예를 들어, 클라이언트(210)는 피크 시즌(peak season) 동안에 모든 데이터에 대해 "플래티넘" 서비스 레벨을 요청할 수 있고, 오프-피크 시즌 동안에 모든 데이터에 대해 "실버" 서비스 레벨을 요청할 수 있다.
실시예에서, 서비스 레벨 동의(230)는, 예를 들어, 초당 특정 수의 동작들의 구체적인 리소스 활용 조건에 명시된다. 대안의 실시예에서, 서비스 레벨 동의(230)는, 예를 들어, "골드", "실버", 또는 "브론즈"의 추상적이고 상대적인 조건들로 명시된다. 서비스 레벨 동의(230)는 다수의 개별 메트릭(metrics)에 대한 서비스 레벨 예상, 예를 들어, 예상된 저장 요청 응답 시간 대 초당 예상된 저장 요청 동작들을 포함할 수 있다.
블록(306)에서, 리소스 관리자(106)는 리소스 활용 정책들과 서비스 레벨들 간의 연관성을 식별하는 매핑 정보와 특정 서비스 레벨에 기초하여 요청에 대응하는 특정 리소스 활용 정책을 결정한다. 리소스 관리자(106)는 리소스 활용 정책 매핑들(108)에 기초하여 결정된 특정 서비스 레벨에 대응하는 특정 리소스 활용 정책을 결정할 수 있다. 상이한 리소스 활용 정책들의 예들은 데이터 리던던시 변경, 미러링 또는 복제 레벨들, 데이터 저장 성능 요건들, 하나의 RAID 레벨로부터 상이한 RAID 레벨로의 데이터 저장 스트리핑 정책들(비트 레벨, 바이트 레벨, 블록 레벨) 변경, 특정 소거 코딩과 같은 RAID에 대한 대안을 선택하는 것 또는 저장 유닛의 신뢰성, 가용성, 성능 및 용량에 관련된 임의의 다른 파라미터를 포함한다.
블록(308)에서, 리소스 관리자(106)는 특정 VDC 리소스 활용 정책에 따른 요청의 완료를 야기한다. 예를 들어, 리소스 관리자(106)는 특정 데이터가 특정 저장 정책에 따라 하나 이상의 저장 유닛에 저장되게 할 수 있다. 특정 저장 정책은 특정 데이터가 하나 이상의 저장 유닛에 저장되는 방법을 명시할 수 있다. 실시예에서, 리소스 활용 정책은 데이터를 저장할 저장 유닛들의 클래스와 같은, 활용될 VDC 리소스들의 특정 클래스를 명시한다. VDC 리소스들의 클래스는, 이것으로 한정되는 것은 아니지만, VDC 리소스에 대한 VDC에 의해 광고된(advertised) 성능 품질, VDC 리소스와 연관된 물리적 하드웨어의 유형, 또는 가상 데이터 센터를 호스팅하는 것을 포함하는 속성들에 기초하여 정의될 수 있다.
예를 들어, 리소스 활용 정책은 리소스 저장 정책과 연관되는 데이터가 Amazon 사에 의해 제공되는 ELASTIC BLOCK STORAGE(EBS) 상에만 저장될 것을 나타낼 수 있다. 다른 리소스 활용 정책은 정책과 연관된 데이터가 6밀리초 미만의 검색 지연 레이트 또는 임계량보다 적은 비용을 갖도록 광고된 저장 유닛들 상에 저장될 것을 나타낼 수 있다. 광고된 성능은 저장 유닛들을 제공하는 가상 데이터 센터에 의해 광고될 수 있다. 다른 리소스 활용 정책은, 리소스 활용 정책과 연관된 데이터가 부하 균형(load balancing)을 자동적으로 수행하는 컴퓨팅 리소스들을 이용하여서만 계산될 것을 나타낼 수 있다.
실시예에서, 리소스 활용 정책은, 특정 정책에 대응하는 기입 동작 요청에 포함된 데이터가 가상 머신과 같은, 시스템의 랜덤 액세스 메모리에 저장될 것을 명시한다. 랜덤 액세스 메모리에 저장된 데이터는 데이터가 보다 빠르게 검색되게 하고, 따라서, 그러한 리소스 활용 정책이 높은 우선순위 데이터 동작 요청들과 연관될 수 있다.
리소스 활용 정책들은 VDC 저장 유닛들에서의 리소스 활용 요청 저장소에 포함된 데이터를 저장하는 리던던시의 레벨을 명시할 수 있다. 예를 들어, 리소스 활용 정책은 동일한 데이터의 사본들이 적어도 3개의 상이한 저장 유닛 상에 저장될 것을 명시할 수 있다. 리소스 활용 정책은 또한, 각각 동일한 데이터의 사본을 저장하는 상이한 저장 유닛들이 적어도 3개의 상이한 물리적 머신들에 의해 호스팅되는 것으로 결정되어야 한다는 것을 명시할 수 있다. 정책은 RAID 6, RAID 5와 같은 RAID 레벨, 또는 리드 솔로몬 코딩(Reed-Solomon coding) 등과 같은 특정 소거 코딩 방법을 명시할 수 있다.
리소스 활용 정책은 대응하는 데이터가 다수의 저장 유닛에 대해 스트립될지를(striped) 나타낼 수 있다. 스트리핑은 수신된 데이터 저장 요청 내의 데이터를 파티셔닝(partitioning)하고 데이터 파티션을 별도의 저장 유닛들에 저장하는 것을 포함할 수 있다. 리소스 활용 정책은 얼마나 많은 데이터가 각각의 데이터 파티션들에 포함될지, 또는 얼마나 많은 저장 유닛들에 대해 데이터의 각각의 부분이 스트립될 지를 나타낼 수 있다. 예를 들어, 리소스 활용 정책은 500 메가바이트의 데이터가 5개의 상이한 저장 유닛들에 대해 스트립되거나 각각의 데이터 부분이 100 메가바이트의 데이터를 포함하도록 나타낼 수 있다. 리소스 활용 정책은 스트리핑이 비트, 바이트, 또는 블록 레벨에서 있어야 할 지를 나타낼 수 있다.
리소스 활용 정책은 패리티 정보(parity information)를 저장할지 또는 패리티 정보를 저장하는 특정 메소드를 나타낼 수 있다. 예를 들어, 리소스 활용 정책은 데이터가 5개의 저장 유닛들에 대해 스트립되고 저장 유닛들 중 하나는 전용 패리티 저장 유닛일 것을 나타낼 수 있다. 패리티는 또한 RAID 레벨들 또는 소거 코딩 유닛들의 측면에서 표현될 수 있다.
리소스 활용 정책 매핑(108)은 저장 정책들이 속도 및 신뢰성과 같은 성능 기준에 영향을 주는 방법을 분석함으로써 결정될 수 있다. 리소스 활용 정책 매핑(108)은 매니저(220)와 같은 관리자에 의해 수동적으로 또는 자동적으로 조정될 수 있다. 리소스 활용 정책 조정 명령어들(110)에 대한 조정들은 상이한 가상 데이터 센터들에서의 상이한 리소스 관리자들에 의해 관리되는 다양한 VDC 리소스 활용 시스템들의 분석에 기초하여 결정될 수 있다.
결정된 VDC 리소스 성능 정보에 기초하여, 리소스 활용 정책 업그레이더(116)는 VDC 리소스들의 세트의 실제 성능이 성능 예상을 충족하지 않고, 따라서, 데이터는 클라이언트에 대해 보증된(guaranteed) 서비스 레벨들이 충족되는 것을 보장하기 위해 상이한 정책에 따라 저장되어야 한다고 결정할 수 있다. 리소스 활용 정책 업그레이더(116)는 리소스 활용 정책 매핑들(108)을 자동적으로 수정할 수 있거나, 관리자는 리소스 활용 정책 매핑들(108)을 수동적으로 수정할 수 있다.
도 4는 VDC 리소스들의 세트의 성능에 대한 분석에 기초하여 리소스 활용 정책 매핑을 자동적으로 업데이트하는 예시적인 방법을 예시한다. 도 4의 방법은 하나 이상의 컴퓨터 프로그램, 기타의 소프트웨어 요소들, 또는 리소스 활용 정책 업그레이더(116)에서의 기타의 기능 로직을 이용하여 구현될 수 있다. 블록(402)에서, 리소스 활용 정책 업그레이더(116)는 VDC 리소스들의 세트의 성능을 결정한다. 도 4의 프로세스의 결정 및 기타의 부분들은, 그의 실행이 가상 데이터 센터와는 상이한 관리 엔티티에 의해 제어되는 리소스 관리자 로직을 실행함으로써 수행될 수 있다.
성능 정보는 리소스 활용 요청들이 VDC 리소스들의 세트를 이용하여 완료되는 속도 및/또는 VDC 리소스들의 신뢰성을 나타낼 수 있다. 성능 정보는, 예를 들어, VDC 저장 유닛들의 세트 내에 정보를 저장하기 위한 또는 그로부터 정보를 검색하기 위한 총 액세스 시간을 나타낼 수 있다. 성능 정보는 또한, 판독 요청들이 완료되는 속도, 기입 요청들이 완료되는 속도와 같은 보다 구체적인 정보, 또는 심지어 더 구체적으로, 랜덤 판독 동작들이 완료되는 속도 또는 랜덤 판독 동작들이 완료되는 속도와 같은 정보를 포함할 수 있다. 다른 예로서, 성능 정보는 특정 유형의 VDC 계산 요청(computation request) 또는 VDC 저장 활용 요청이 완료되는 속도를 나타낼 수 있다.
VDC 리소스 성능 정보는 리소스 관리자(106)에 의해 직접적으로 관찰될 수 있다. 예를 들어, 리소스 관리자(106)는 리소스 매니저 또는 VDC 리소스로의 VDC 리소스 활용 요청의 전송과 VDC 리소스 활용 요청의 완료 사이에 경과된 시간량을 계산할 수 있다.
성능 정보는 시간에 따라 관찰된 다양한 VDC 활용 요청들의 성능 특성을 요약할 수 있다. 예를 들어, 성능 정보는 특정 시간 기간 내의 성능 특성의 최대, 최소, 또는 중간 값을 나타낼 수 있다. 예를 들어, 리소스 관리자(106)는 저장 유닛들의 특정 세트를 이용하는 데이터 동작들이 특정 시간 기간 동안 초당 20개 동작들의 평균 레이트로 완료되었다고 결정할 수 있다. 다른 실시예들에서, 성능 정보는 개별 데이터 동작 요청들의 성능을 명시할 수 있다.
블록(406)에서, 리소스 활용 정책 업그레이더(116)는 VDC 리소스들의 세트의 성능과 예상 성능을 비교하여 리소스 활용 정책 매핑들이 조정을 요구하는지를 결정한다. 블록(408)에서, 리소스 활용 정책 업그레이더(116)는 조정이 요구된다고 결정하고 특정 서비스 레벨과 연관된 리소스 활용 정책에 대한 수정을 결정할 수 있다.
예를 들어, 특정 저장 정책에 따라 저장된 데이터는 2 밀리초의 중간 시간으로 검색될 것으로 예상될 수 있다. 지난 시간 내에 완료된 데이터 동작 요청들에 대해 중간 데이터 검색 레이트가 10 밀리초라고 결정하는 것에 응답하여, 리소스 활용 정책 업그레이더(116)는 특정 저장 정책이 요청된 서비스 레벨과 호환가능하지 않고 특정 저장 정책에 대한 수정이 요구된다고 결정할 수 있다. 블록(410)에서, 리소스 활용 정책 업그레이더(116)는 특정 서비스 레벨이 대체 리소스 활용 정책(replcement resource utilization policy)과 연관되는 것을 나타내기 위해 리소스 활용 정책 매핑들(108)을 업데이트한다.
하나 이상의 정책 매핑에 대한 변경들을 결정하기 위해 그의 성능이 분석되는 VDC 리소스들의 특정 세트는 상이한 실시예에 따라 다를 수 있다. VDC 리소스들의 분석된 세트는 인입하는 VDC 리소스 활용 요청에 대해 활용될 VDC 리소스들의 동일한 세트일 수 있다. 다른 실시예에서, 분석된 VDC 리소스들은 업데이트된 정책에 따라 데이터를 저장하기 위해 활용될 VDC 리소스들과는 상이하지만, VDC 리소스 클래스에 속하며, 인입하는 리소스 활용 요청에 대해 활용될 VDC 리소스들과 동일한 가상 데이터 센터 제공자에 의해 호스팅된다. 다른 실시예에서, 분석된 VDC 리소스들은 상이한 클래스에 속하지만, 인입하는 리소스 활용 요청에 대해 활용되는 VDC 리소스들과 동일한 가상 데이터 센터 제공자에 의해 호스팅된다.
예를 들어, 특정 가상 데이터 센터 제공자에 의해 호스팅된 특정 유형의 저장 유닛들의 성능이 예상 아래라는 결정에 응답하여, 리소스 활용 정책 업그레이더는, 데이터가 특정 유형의 저장 유닛들에 저장되고, 특정 가상 데이터 센터 제공자에 의해 호스팅되게 하는 모든 리소스 활용 정책들에 대한 리소스 활용 정책 매핑들(108)에서 리소스 활용 정책들을 수정할 수 있다.
리소스 활용 정책 조정 명령어들(110)은 결정된 성능 조건들에 기초하여 리소스 활용 정책 매핑들(108)을 업데이트하는 명령어들을 포함할 수 있다. 예를 들어, 리소스 활용 정책 조정 명령어들(110)은, 실제 데이터 검색 속도가 특정 정책에 따라 저장된 데이터에 대한 예상 속도의 10 내지 20퍼센트 사이라고 결정하는 것에 응답하여, 특정 저장 정책은, 특정 저장 정책에 의해 요구되는 리던던시의 레벨을 배가시킴으로써 수정된다.
리소스 활용 정책 조정 명령어들(110)에 기초하여, 리소스 활용 정책 업그레이더(116)는, 대체 리소스 활용 정책은, 제2 정책이 데이터의 사본들은 특정 리소스 활용 정책에서 나타낸 상이한 저장 유닛들의 수의 두배인 다수의 상이한 저장 유닛들에서 저장될 것을 나타낼 수 있다는 것을 제외하면 특정 리소스 활용 정책과 동일하다고 결정할 수 있다.
다양한 실시예들에 따라서, 리소스 활용 정책 업그레이더(116)는 상이한 유형의 결정된 성능 정보에 기초하여 리소스 활용 정책들을 상이한 방식들로 수정할 수 있다. 리소스 활용 정책 업그레이더(116)는 데이터가 상이한 유형의 저장 유닛들에 저장되게 함으로써 저장 정책들을 수정할 수 있거나, 데이터의 더 큰 부분이 특정 유형의 저장 유닛에 저장되게 할 수 있다.
예를 들어, 특정 정책에 대한 데이터 검색 속도는 특정 정책에 따라 저장된 데이터에 대한 예상 속도의 10 퍼센트라고 결정하는 것에 응답하여, 특정 정책이, 데이터의 절반이 랜덤 액세스 메모리 내에 저장되고, 데이터의 절반이 고체 상태 메모리(solid state memory)(SSD) 저장 유닛들에 저장되는 것을 나타내는 경우에, 리소스 활용 정책 업그레이더(116)는 데이터의 전부가 랜덤 액세스 메모리에 저장되는 것을 나타내는 대체 저장 정책을 결정할 수 있다. 리소스 활용 정책 업그레이더(116)는 가상 데이터 센터로부터의 추가의 가상 머신들에게 추가의 가상 머신들의 랜덤 액세스 메모리를 활용할 것을 요청할 수 있다.
일부 실시예들에서, 대체 저장은 데이터의 각각의 부분에 저장된 패리티 정보량을 증가시킬 수 있다. 예를 들어, 대체 저장 정책은 데이터의 각각의 부분에 대해 적어도 2개의 상이한 저장 유닛 상에 패리티 정보가 저장될 것을 요구할 수 있는 반면, 대체될 특정 저장 정책은 데이터의 각각의 부분에 대해 단일의 저장 유닛 상에만 패리티 정보가 저장될 것을 요구할 수 있다. 리소스 활용 정책 업그레이더(116)는 데이터 손실이 특정 저장 정책에 대해 예상한 것 보다 빈번하게 발생한다고 결정하는 것에 기초하여 그러한 대체 저장 정책을 결정할 수 있다.
일부 실시예들에서, 저장 업그레이더(116)는 VDC 리소스들의 세트의 성능이 VDC 리소스들의 세트에 대한 예상을 초과한다고 결정하는 것에 응답하여 리소스 활용 정책을 수정할 수 있다. 예를 들어, 데이터 검색이 특정 정책에 따라 저장된 데이터에 대한 예상량을 초과한다고 결정하는 것에 응답하여, 저장 업그레이더(116)는 특정 대체된 정책보다 적은 리던던시를 요구하는 대체 저장 정책을 결정할 수 있다. 그러한 접근법은 VDC 리소스 활용 비용을 감소시키는데 도움을 줄 수 있다.
다른 실시예들에서, 리소스 활용 정책 업그레이더(116)는 기타의 방식으로 저장 정책을 수정할 수 있다. 예를 들어, 대체 정책은 데이터가 대체된 리소스 활용 정책에 의해 요구되는 것보다 많거나 적은 저장 유닛들에 대해 스트립되거나, 또는 각각의 스트립에 포함된 데이터의 부분이 대체된 저장 정책에 의해 요구되는 것보다 적거나 많은 것을 요구할 수 있다.
다른 예로서, 특정 유형의 데이터 계산을 수행하는 데이터 계산 속도가 컴퓨팅 리소스들의 특정 세트에 대한 예상 속도보다 5배 길다고 결정하는 것에 응답하여, 리소스 활용 정책 업그레이더(116)는 특정 유형의 데이터 계산을 완료하는데 활용될 컴퓨팅 리소스들의 양을 배가시키는 것을 나타내는 대체 컴퓨팅 리소스 활용 정책을 결정할 수 있다.
리소스 활용 정책 매핑들(108)을 업데이트함으로써, 리소스 활용 정책 업그레이더(116)는 인입하는 리소스 활용 요청들이 상이한 리소스 활용 정책들에 따라 처리되게 할 수 있다. 그러한 접근법은, VDC 환경에서 종종 발생하는 VDC 리소스 성능 변동에도 불구하고, VDC 리소스 활용 요청들이 동일한 성능 레벨에서 완료되게 함으로써 이점이 있을 수 있다.
블록(406)에서, 리소스 활용 정책 업그레이더(116)는 VDC 리소스들의 세트의 성능과 예상된 성능을 비교하여 리소스 활용 정책 매핑들이 조정을 요구하는지를 결정할 수 있고, 조정이 요구되지 않는 것을 결정할 수 있다. 예를 들어, 저장 업그레이더(116)는 특정 리소스 정책에 따라 완료된 컴퓨팅 요청들이 특정 컴퓨팅 리소스 정책에 대한 예상들에 따라 완료된다는 것을 결정할 수 있다. 결과로서, 리소스 활용 정책 업그레이더(116)는 특정 컴퓨팅 리소스 정책에 대해 조정을 행하지 않을 수 있고 VDC 리소스들의 세트 또는 VDC 리소스들의 다른 세트들의 성능을 모니터링하는 것을 계속할 수 있다.
일부 실시예들에서, 저장 정책 매니저(118)는 특정 저장 정책에 따라 이미 저장되었던 데이터가 결정된 저장 유닛 성능 정보에 기초하여 상이한 저장 정책에 따라 저장되게 할 수 있다. 도 5는 결정된 데이터 동작 성능 정보에 기초하여 새로운 저장 정책에 따라 데이터를 저장하는 예시적인 방법을 예시한다.
도 5의 방법은 하나 이상의 컴퓨터 프로그램, 다른 소프트웨어 요소들, 저장 정책 매니저(118)에서의 기타의 기능 로직을 이용하여 구현될 수 있다. 블록(502)에서, 저장 정책 매니저(118)는 요청된 서비스 레벨을 나타내는 서비스 레벨 사양을 결정한다. 도 5의 프로세스의 결정 및 기타의 부분들은 그의 실행이 가상 데이터 센터 제공자와는 상이한 관리 엔티티에 의해 제어되는 리소스 관리자 로직을 실행함으로써 수행될 수 있다.
서비스 레벨 사양은 클라이언트 머신(100)으로부터 수신될 수 있거나 서비스 레벨 동의(230)에 기초하여 결정될 수 있다. 서비스 레벨은 리소스 활용 요청들을 완료하기 위한 성능의 수용가능한 레벨들을 나타내는 임계치 또는 값들의 범위와 연관될 수 있다.
블록(504)에서, 저장 정책 매니저(118)는 데이터를 액세스 또는 저장하기 위한 하나 이상의 데이터 동작 요청들을 수신한다. 블록(506)에서, 저장 정책 매니저(118)는 하나 이상의 데이터 동작 요청에 대한 데이터 동작 성능 정보를 결정한다. 데이터 동작 성능 정보는 리소스 활용 요청들이 VDC 리소스들의 세트를 이용하여 완료되는 속도 및/또는 VDC 리소스들의 신뢰성을 나타낼 수 있다.
블록(508)에서, 데이터 동작 성능 정보에 부분적으로 기초하여, 저장 정책 매니저(118)는 데이터 동작 성능이 요청된 서비스 레벨과 호환가능하지 않다고 결정한다. 예를 들어, 관찰된 데이터 동작 성능들의 중간 속도는 요청된 서비스 레벨과 연관된 임계 속도 아래일 수 있다.
블록(510)에서, 데이터 동작 성능 정보에 부분적으로 기초하여, 저장 정책 매니저(118)는 새로운 저장 정책을 선택한다. 저장 정책 매니저(118)는 리소스 활용 정책 조정 명령어들(110)에 기초하여 새로운 저장 정책을 선택할 수 있다.
리소스 활용 정책 조정 명령어들(110)은 결정된 저장 유닛 성능 조건들에 기초하여 새로운 저장 정책을 선택하기 위한 명령어들을 포함할 수 있다. 예를 들어, 리소스 활용 정책 조정 명령어들(110)은, 실제 데이터 검색 속도가 특정 정책에 따라 저장된 데이터에 대한 예상 속도의 50 내지 75 퍼센트 사이라고 결정하는 것에 응답하여, 특정 저장 정책이 20 퍼센트 많은 저장 유닛들에 대해 데이터를 스트리핑함으로써 수정될 것을 나타낼 수 있다. 블록(512)에서, 저장 정책 매니저(118)는 이전의 저장 정책에 따라 저장된 데이터가 새로운 저장 정책에 따라 저장되게 할 수 있다. 특정 리소스 활용 정책에 따라 완료되게 하는 것은 리소스 활용 요청들은 클라이언트(210)를 대신하여 VDC로부터 새로운 VDC 리소스들을 요청하는 것을 요구할 수 있다. 예를 들어, 특정 정책에 따라 데이터를 저장하는 것은 클라이언트(210)를 대신하여 VDC로부터의 특정 유형의 추가의 저장 유닛들을 요청하는 것을 요구할 수 있다.
다른 실시예들에서, 데이터 분산 에이전트는 특정 리소스 활용 정책에 따라 이미 분산된 데이터가 결정된 리소스 활용 성능 정보에 기초하여 상이한 리소스 활용 정책에 따라 분산되게 할 수 있다. 하나 이상의 다른 유형의 리소스 활용 요청들에 대한 리소스 활용 성능 정보가 결정될 수 있다. 리소스 활용 성능 정보에 부분적으로 기초하여, 데이터 분산 에이전트는 데이터 동작 성능 정보가 요청된 서비스 레벨과 호환가능하지 않다고 결정할 수 있다. 새로운 데이터 분산 정책이 선택될 수 있고, 이전의 데이터 분산 정책에 따라 분산된 데이터가 새로운 데이터 분산 정책에 따라 분산될 수 있다.
하나 이상의 가상 데이터 센터(VDC) 리소스들을 활용하기 위한 요청들은 데이터를 액세스 또는 저장하기 위한 요청들을 포함할 수 있고, 새로운 리소스 활용 정책은 저장 정책일 수 있다. 하나 이상의 가상 데이터 센터(VDC) 리소스들을 활용하기 위한 요청들은 하나 이상의 네트워킹 리소스를 활용하기 위한 요청들 포함할 수 있고, 새로운 리소스 활용 정책은 네트워킹 정책일 수 있다. 특정 네트워킹 정책은, 물리적 링크 선택, 예를 들어, 저비용의 1 기가 이더넷 대신에 고비용의 10 기가 이더넷; 물리적 배치 및 근접성, 예를 들어, 네트워크 홉(hop)을 회피하고 대역폭 활용을 개선하기 위한 랙 상의 공동 위치(co-location); 차별화된 서비스 및 우선순위화, 예를 들어, 다른 것에 비해 하나의 애플리케이션을 선호하도록 패킷 큐잉 정책에 대한 조정과 같은 네트워크 속성들을 나타낼 수 있다.
하나 이상의 가상 데이터 센터(VDC) 리소스들을 활용하기 위한 요청들은 보안 리소스들을 활용하기 위한 요청들을 포함할 수 있고, 새로운 리소스 활용 정책은 보안 정책일 수 있다. 보안 정책들은, 예를 들어, 사용자들의 클래스가 주어진 애플리케이션(그의 물리적 위치와 무관함)과 트랜잭션하는 것을 방지하는 등의 논리적 액세스 제어; 예를 들어, 데이터 누설의 기회에 대한 윈도우를 감소시키기 위한 키 회전의 증가된 빈도 등의 암호화 옵션들의 선택; 예를 들어, 더 높은 캐시 레이트를 갖는 증가된 빈도수 등의 악성코드(malware)의 스캐닝의 빈도 또는 심도와 같은 보안 속성들을 나타낼 수 있다.
하나 이상의 가상 데이터 센터(VDC) 리소스들을 활용하기 위한 요청들은 가상 머신들을 활용하기 위한 요청들을 포함할 수 있고, 리소스 활용 정책은 가상 머신 활용 정책을 나타낼 수 있다. 가상 머신 활용 정책들은, 예를 들어, 고비용으로 더 큰 프로세싱 능력을 위한 더 높은 수의 가상 또는 물리적 프로세서들 등의 컴퓨팅 리소스들의 선택; 특정 애플리케이션에 대해 제공하는 RAM의 양; 예를 들어, 암호화 제거(encryption offloading) 또는 고성능 컴퓨팅을 위한 범용 그래픽 프로세싱 유닛들(GPGPUs)과 같은 진보된 특징들의 가용성 등의 프로세서 아키텍처 및 특징들을 나타낼 수 있다.
3.0 구현 메커니즘들 -- 하드웨어 개요
도 6은 본 발명이 구현될 수 있는 컴퓨터 시스템(600)을 예시하는 블록도이다. 컴퓨터 시스템(600)은, 정보를 통신하기 위한 버스(602) 또는 다른 통신 메커니즘, 및 버스(602)와 결합되어 정보를 프로세싱하기 위한 프로세서(604)를 포함한다. 컴퓨터 시스템(600)은 또한, 버스(602)에 결합되어 프로세서(604)에 의해 실행될 명령어와 정보를 저장하기 위한, 랜덤 액세스 메모리(RAM) 또는 다른 동적 저장 디바이스 등의, 메인 메모리(606)를 포함한다. 메인 메모리(606)는 프로세서(604)에 의해 실행될 명령어의 실행 동안에 임시 변수나 기타 다른 중간 정보를 저장하는데도 사용될 수 있다. 컴퓨터 시스템(600)은, 버스(602)에 결합되어 프로세서(604)를 위한 정적 정보 및 명령어를 저장하기 위한 판독 전용 메모리(ROM)(608) 또는 다른 정적 저장 디바이스를 더 포함한다. 자기 디스크 또는 광 디스크 등의 저장 디바이스(610)는 정보 및 명령어를 저장하기 위하여 제공되어 버스(602)에 결합된다.
컴퓨터 시스템(600)은, 컴퓨터 사용자에게 정보를 디스플레이하기 위한, 음극선관(CRT)과 같은 디스플레이(612)에 버스(602)를 통해 결합될 수 있다. 영숫자 및 다른 키들을 포함하는 입력 디바이스(614)는 버스(602)에 결합되어, 프로세서(604)에 정보와 명령 선택을 전달한다. 다른 유형의 사용자 입력 디바이스는, 방향 정보와 명령 선택을 프로세서(604)에 전달하고 디스플레이(612) 상에서의 커서의 움직임을 제어하기 위한, 마우스, 트랙볼, 또는 커서 방향키 등의 커서 컨트롤(616)이다. 이 입력 장치는, 통상적으로, 디바이스가 평면에서의 위치를 명시하는 것을 허용하는 2개의 축, 즉 제1 축(예를 들어, x) 및 제2 축(예를 들어, y)에서의 2 자유도를 가진다.
본 발명은 본원에서 설명된 기법을 구현하기 위한 컴퓨터 시스템(600)의 이용과 관련되어 있다. 본 발명의 하나의 실시예에 따르면, 이러한 기법들은 메인 메모리(606)에 포함된 하나 이상의 명령어의 하나 이상 시퀀스를 실행하는 프로세서(604)에 응답하여 컴퓨터 시스템(600)에 의해 수행된다. 그러한 명령어들은, 저장 디바이스(610) 등의 다른 머신 판독가능 매체로부터 메인 메모리(606)로 판독될 수 있다. 메인 메모리(606)에 포함된 명령어들의 시퀀스의 실행은 프로세서(604)로 하여금 본원에서 설명된 프로세스 단계들을 수행하게 한다. 대안적인 실시예에서, 하드-와이어드 회로가 본 발명을 구현하기 위해 소프트웨어 명령어들 대신에 또는 그들과 조합하여 사용될 수 있다. 따라서, 본 발명의 실시예들은 하드웨어 회로와 소프트웨어의 임의의 특정 조합으로 제한되지 않는다.
본원에 사용된 "머신 판독 가능 매체"라는 용어는 머신으로 하여금 특정 방식으로 동작하게 하는 데이터를 제공하는 데 관여하는 임의의 매체를 지칭한다. 컴퓨터 시스템(600)을 이용하여 구현된 실시예에서, 예를 들어, 실행을 위해 프로세서(604)에 명령어를 제공하는데 있어서, 다양한 머신 판독가능 매체가 수반된다. 이러한 매체는, 저장 매체와 전송 매체를 포함한 많은 형태를 취할 수 있지만, 이에 제한되지는 않는다. 저장 매체는 비휘발성 매체와 휘발성 매체 양쪽 모두를 포함한다. 비휘발성 매체는 예를 들어 저장 디바이스(610) 등의 광 또는 자기 디스크를 포함한다. 휘발성 매체는 메인 메모리(606) 등의 동적 메모리를 포함한다. 전송 매체는, 버스(602)를 포함하는 와이어를 비롯한, 동축 케이블, 구리 와이어 및 광섬유를 포함한다. 전송 매체는 또한, 라디오파 및 적외선 데이터 통신 동안에 발생되는 것과 같은 음향 또는 광 파의 형태를 취할 수도 있다. 모든 이러한 매체는, 매체에 의해 운반되는 명령어가, 명령어를 머신으로 읽어들이는 물리적 메커니즘에 의해 검출되는 것이 가능하도록 유형적이어야 한다.
머신 판독가능한 매체의 일반적인 형태는, 예를 들어, 플로피 디스크, 플렉서블 디스크, 하드 디스크, 자기 테이프, 또는 임의의 다른 자기 매체, CD-ROM, 임의의 다른 광학 매체, 펀치카드(punchcards), 페이퍼테이프(papertape), 홀의 패턴을 갖는 임의의 다른 물리적 매체, RAM, PROM, 및 EPROM, FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지, 이하에 설명된 바와 같은 반송파, 또는 컴퓨터가 판독할 수 있는 임의의 다른 매체를 포함한다.
다양한 형태의 머신 판독가능 매체가, 하나 이상의 명령어의 하나 이상의 시퀀스를 실행하기 위해 프로세서(604)에 운반하는데 수반될 수 있다. 예를 들어, 명령어는 처음에는 원격 컴퓨터의 자기 디스크 상에 전달될 수 있다. 원격 컴퓨터는 명령어를 자신의 동적 메모리로 로딩하고 모뎀을 이용하여 전화선을 통해 명령을 전송할 수 있다. 컴퓨터 시스템(600)에 대해 로컬인 모뎀이 전화선을 통해 데이터를 수신하고, 적외선 송신기를 사용하여 데이터를 적외선 신호로 변환시킬 수 있다. 적외선 검출기는 적외선 신호에서 운반된 데이터를 수신할 수 있고, 적절한 회로가 데이터를 버스(602) 상에 둘 수 있다. 버스(602)는 데이터를 메인 메모리(606)에 운반하고, 프로세서(604)는 이 메인 메모리로부터 명령어를 검색하여 실행한다. 메인 메모리(606)에 의해 수신된 명령어는, 선택사항으로서, 프로세서(604)에 의한 실행 이전에 또는 이후에 저장 디바이스(610) 상에 저장될 수 있다.
컴퓨터 시스템(600)은 또한 버스(602)에 결합된 통신 인터페이스(618)를 포함한다. 통신 인터페이스(618)는, 로컬 네트워크(622)에 접속되어 있는 네트워크 링크(620)에 대해 양방향 데이터 통신 결합을 제공한다. 예를 들어, 통신 인터페이스(618)는, 대응하는 유형의 전화 회선에 대한 데이터 통신 접속을 제공하는, 모뎀 또는 통합 서비스 디지털 네트워크(ISDN) 카드일 수 있다. 다른 예로서, 통신 인터페이스(618)는 호환가능한 LAN으로의 데이터 통신 접속을 제공하는 로컬 영역 네트워크(LAN)일 수도 있다. 무선 링크가 또한 구현될 수 있다. 임의의 이러한 구현에서, 통신 인터페이스(618)는, 다양한 유형의 정보를 나타내는 디지털 데이터 스트림을 운반하는 전기적, 전자기적 또는 광학적 신호를 송신 및 수신한다.
네트워크 링크(620)는 통상적으로 하나 이상의 네트워크를 통해 다른 데이터 디바이스로의 데이터 통신을 제공한다. 예를 들어, 네트워크 링크(620)는 로컬 네트워크(622)를 통해 호스트 컴퓨터(624)로의 또는 인터넷 서비스 제공자(ISP)(626)에 의해 운영되는 데이터 장비로의 접속을 제공할 수 있다. 또한, ISP(626)는 현재 일반적으로 "인터넷"(628)으로 지칭되는 월드 와이드 패킷 데이터 통신 네트워크를 통해 데이터 통신 서비스들을 제공한다. 로컬 네트워크(622) 및 인터넷(628) 양쪽 모두는 디지털 데이터 스트림을 운반하는 전기적, 전자기적 또는 광학적 신호를 이용한다. 디지털 데이터를 컴퓨터 시스템(600)으로 그리고 그로부터 운반하는, 다양한 네트워크를 통한 신호들 및 네트워크 링크(620) 상의 그리고 통신 인터페이스(618)를 통한 신호들은 정보를 전달하는 반송파의 예시적 형태이다.
컴퓨터 시스템(600)은, 네트워크(들), 네트워크 링크(620) 및 통신 인터페이스(618)를 통해 프로그램 코드를 포함한, 데이터를 수신하고 메시지를 송신할 수 있다. 인터넷 예에서, 서버(530)는 인터넷(628), ISP(626), 로컬 네트워크(622) 및 통신 인터페이스(618)를 통해 애플리케이션 프로그램에 대한 요청 코드를 송신할 수 있다.
수신된 코드는 수신 시에 프로세서(604)에 의해 실행되고/되거나, 나중의 실행을 위해 저장 디바이스(610) 또는 다른 비휘발성 저장소에 저장될 수 있다. 이러한 방식으로, 컴퓨터 시스템(600)은 반송파의 형태의 애플리케이션 코드를 취득할 수 있다.
6.0 확장들 및 대안들
상기 명세서에서, 본 발명의 실시예는 구현예에 따라 변경될 수 있는 수많은 특정 세부사항을 참조하여 설명하였다. 따라서, 무엇이 본 발명이고 출원인에 의해 본 발명이라고 의도된 것인지를 나타내는 유일한 독점적인 지표는, 임의의 차후 보정을 포함해서, 청구항들이 발행되는 특정 형태의, 본 출원으로부터 발행되는 청구항들의 집합이다. 이러한 청구항들에 포함된 용어들에 대해 본 명세서에 명확히 기술된 임의의 정의들은 청구항들에서 사용되는 바와 같이 이러한 용어들의 의미를 결정할 것이다. 따라서, 청구항에 명확하게 언급되지 않은 어떤 제한, 요소, 특성, 특징, 이점 또는 속성도 이러한 청구항의 범위를 결코 제한해서는 안된다. 그에 따라, 본 명세서 및 도면은 제한적인 의미가 아니라 예시적인 것으로 간주되어야 한다.
Claims (50)
- 방법으로서,
하나 이상의 가상 데이터 센터(virtual data center; VDC) 리소스를 활용하기 위한 요청을 수신하는 단계;
상기 요청을 수신하는 것에 응답하여, 요청에 적용가능한 특정 서비스 레벨을 결정하는 단계;
상기 특정 서비스 레벨 및 VDC 리소스 활용 정책들과 서비스 레벨들 간의 연관성들을 나타내는 매핑 정보에 기초하여, 상기 요청에 대응하는 특정 VDC 리소스 활용 정책을 결정하는 단계; 및
상기 특정 VDC 리소스 활용 정책에 따라 상기 요청의 완료를 유발하는 단계
를 포함하고,
상기 방법은, 그의 실행이 상기 가상 데이터 센터의 호스트와는 다른 관리 엔티티(management entity)에 의해 제어되는 리소스 관리자 로직을 실행함으로써 수행되는 방법. - 제1항에 있어서, 하나 이상의 가상 데이터 센터(VDC) 리소스를 활용하기 위한 상기 요청은 하나 이상의 네트워킹 리소스를 활용하기 위한 요청을 포함하고, 상기 특정 VDC 리소스 활용 정책은 네트워킹 정책을 나타내는 방법.
- 제1항에 있어서, 하나 이상의 가상 데이터 센터(VDC) 리소스를 활용하기 위한 상기 요청은 하나 이상의 가상 머신을 활용하기 위한 요청을 포함하고, 상기 특정 VDC 리소스 활용 정책은 가상 머신 활용 정책을 나타내는 방법.
- 제1항에 있어서, 하나 이상의 가상 데이터 센터(VDC) 리소스를 활용하기 위한 상기 요청은 보안 리소스들을 활용하기 위한 요청을 포함하고, 상기 특정 VDC 리소스 활용 정책은 보안 정책을 나타내는 방법.
- 제1항에 있어서, 하나 이상의 VDC 리소스를 활용하기 위한 상기 요청은 특정 데이터를 저장하기 위한 요청이고, 상기 하나 이상의 VDC 리소스를 활용하기 위한 상기 요청의 완료를 야기하는 단계는 상기 특정 데이터가 특정 저장 정책에 따라 하나 이상의 저장 유닛에 저장되도록 야기하는 단계를 포함하는 방법.
- 제1항에 있어서, 상기 요청에 적용가능한 상기 특정 서비스 레벨은 상기 관리 엔티티와 상기 가상 데이터 센터의 상기 호스트 이외의 사용자 간의 동의(agreement)에 기초한 것인 방법.
- 제1항에 있어서, 상기 특정 서비스 레벨은 상기 요청에 대한 허용가능한 성능을 나타내는 하나 이상의 임계 성능 특성 값과 연관되고, 상기 특정 VDC 리소스 활용 정책은 상기 하나 이상의 임계 성능 특성 값과 호환가능하도록 결정되는 방법.
- 제7항에 있어서, 상기 하나 이상의 임계 성능 특성 값은 데이터에 액세스하거나 데이터를 저장하는 허용가능한 속도를 나타내는 방법.
- 제1항에 있어서, 상기 특정 VDC 리소스 활용 정책은 상기 요청에 의해 활용된 상기 하나 이상의 VDC 리소스와는 다른 VDC 리소스들의 세트의 성능 분석에 기초하여 결정되는 방법.
- 제1항에 있어서,
VDC 리소스들의 세트의 성능 분석에 기초하여, 일정 서비스 레벨(certain service level)과 연관된 이전의 VDC 리소스 활용 정책이 더 이상 상기 일정 서비스 레벨과 연관된 성능 예상과 호환가능하지 않다고 결정하는 단계; 및
상기 이전의 VDC 리소스 활용 정책과 상기 일정 서비스 레벨 간의 연관성의 식별을, 새로운 리소스 활용 정책과 상기 일정 서비스 레벨 간의 연관성의 식별로 대체하기 위해 상기 매핑 정보를 수정하는 단계
를 더 포함하는 방법. - 제1항에 있어서, 상기 특정 VDC 리소스 활용 정책은 상기 요청에 대해 사용될 VDC 리소스들의 하나 이상의 클래스를 나타내는 방법.
- 제1항에 있어서, 상기 특정 VDC 리소스 활용 정책은 데이터가 하나 이상의 저장 유닛 위에 스트립되는(striped) 방식을 나타내는 방법.
- 제1항에 있어서, 상기 특정 VDC 리소스 활용 정책은 데이터를 저장하기 위한 리던던시(redundancy)의 레벨을 나타내는 방법.
- 제1항에 있어서, 원하는 서비스 레벨을 나타내는 서비스 레벨 사양은 상기 요청의 수신 전에 클라이언트 컴퓨터로부터 수신되는 방법.
- 방법으로서,
요청된 서비스 레벨을 나타내는 서비스 레벨 사양을 결정하는 단계;
하나 이상의 가상 데이터 센터(VDC) 리소스를 활용하기 위한 하나 이상의 요청을 수신하는 단계;
하나 이상의 가상 데이터 센터(VDC) 리소스를 활용하기 위한 상기 요청들에 대한 리소스 활용 성능 정보를 결정하는 단계;
상기 리소스 활용 성능 정보에 부분적으로 기초하여, 리소스 활용 성능이 상기 요청된 서비스 레벨과 호환가능하지 않다고 결정하는 단계;
상기 리소스 활용 성능 정보에 부분적으로 기초하여, 새로운 리소스 활용 정책을 선택하는 단계; 및
이전의 리소스 활용 정책에 따라 분산된 데이터가 가상 데이터 센터에서의 하나 이상의 리소스에서 상기 새로운 리소스 활용 정책에 따라 분산되도록 야기하는 단계
를 포함하고,
상기 방법은, 그의 실행이 상기 가상 데이터 센터의 호스트와는 다른 관리 엔티티에 의해 제어되는 리소스 관리자 리소스 관리자 로직을 실행함으로써 수행되는 방법. - 제15항에 있어서, 하나 이상의 가상 데이터 센터(VDC) 리소스를 활용하기 위한 상기 요청들은 데이터에 액세스하거나 데이터를 저장하기 위한 요청들을 포함하고, 상기 새로운 리소스 활용 정책은 저장 정책인 방법.
- 제15항에 있어서, 하나 이상의 가상 데이터 센터(VDC) 리소스를 활용하기 위한 상기 요청들은 하나 이상의 네트워킹 리소스를 활용하기 위한 요청들을 포함하고, 상기 새로운 리소스 활용 정책은 네트워킹 정책인 방법.
- 제15항에 있어서, 하나 이상의 가상 데이터 센터(VDC) 리소스를 활용하기 위한 상기 요청들은 보안 리소스들을 활용하기 위한 요청들을 포함하고, 상기 새로운 리소스 활용 정책은 보안 정책인 방법.
- 제15항에 있어서, 하나 이상의 가상 데이터 센터(VDC) 리소스를 활용하기 위한 상기 요청들은 가상 머신들을 활용하기 위한 요청들을 포함하고, 상기 리소스 활용 정책은 가상 머신 활용 정책을 나타내는 방법.
- 제15항에 있어서, 상기 요청된 서비스 레벨은 상기 관리 엔티티와, 상기 가상 데이터 센터의 상기 호스트 이외의 사용자 간의 동의에 기초하여 결정되는 방법.
- 제15항에 있어서, 상기 이전의 리소스 활용 정책에 따라 분산된 데이터가 상기 새로운 리소스 활용 정책에 따라 분산되도록 야기하는 단계는 상기 가상 데이터 센터의 상기 호스트로부터 VDC 리소스들을 요청하는 단계를 포함하는 방법.
- 제15항에 있어서, 상기 요청된 서비스 레벨은, 데이터에 액세스하거나 데이터를 저장하기 위한 허용가능한 속도를 나타내는 하나 이상의 임계 성능 특성 값과 연관되고, 상기 새로운 리소스 활용 정책은 상기 하나 이상의 임계 성능 특성 값과 호환가능하도록 결정되는 방법.
- 제15항에 있어서, 상기 새로운 리소스 활용 정책은 상기 데이터를 위해 사용될 저장 유닛들의 하나 이상의 클래스를 나타내는 방법.
- 제15항에 있어서, 상기 새로운 리소스 활용 정책은 상기 데이터가 하나 이상의 저장 유닛 위에 스트립되는 방식을 나타내는 방법.
- 제15항에 있어서, 상기 새로운 리소스 활용 정책은 상기 데이터를 저장하기 위한 리던던시의 레벨을 나타내는 방법.
- 명령어들의 하나 이상의 시퀀스를 포함하는 비-일시적인 컴퓨터-판독가능 저장 매체로서,
상기 명령어들의 하나 이상의 시퀀스는, 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금,
하나 이상의 가상 데이터 센터(VDC) 리소스를 활용하기 위한 요청을 수신하는 것;
상기 요청을 수신하는 것에 응답하여, 요청에 적용가능한 특정 서비스 레벨을 결정하는 것;
상기 특정 서비스 레벨 및 VDC 리소스 활용 정책들과 서비스 레벨들 간의 연관성들을 나타내는 매핑 정보에 기초하여, 상기 요청에 대응하는 특정 VDC 리소스 활용 정책을 결정하는 것; 및
상기 특정 VDC 리소스 활용 정책에 따라 상기 요청의 완료를 야기하는 것을 수행하게 하고,
상기 방법은, 그의 실행이 상기 가상 데이터 센터의 호스트와는 다른 관리 엔티티에 의해 제어되는 리소스 관리자 로직을 실행함으로써 수행되는 비-일시적인 컴퓨터-판독가능 저장 매체. - 제26항에 있어서, 하나 이상의 가상 데이터 센터(VDC) 리소스를 활용하기 위한 상기 요청은 하나 이상의 네트워킹 리소스를 활용하기 위한 요청을 포함하고, 상기 특정 VDC 리소스 활용 정책은 네트워킹 정책을 나타내는 비-일시적인 컴퓨터-판독가능 저장 매체.
- 제26항에 있어서, 하나 이상의 가상 데이터 센터(VDC) 리소스를 활용하기 위한 상기 요청은 하나 이상의 가상 머신을 활용하기 위한 요청을 포함하고, 상기 특정 VDC 리소스 활용 정책은 가상 머신 활용 정책을 나타내는 비-일시적인 컴퓨터-판독가능 저장 매체.
- 제26항에 있어서, 하나 이상의 가상 데이터 센터(VDC) 리소스를 활용하기 위한 상기 요청은 보안 리소스들을 활용하기 위한 요청을 포함하고, 상기 특정 VDC 리소스 활용 정책은 보안 정책을 나타내는 비-일시적인 컴퓨터-판독가능 저장 매체.
- 제26항에 있어서, 하나 이상의 VDC 리소스를 활용하기 위한 상기 요청은 특정 데이터를 저장하기 위한 요청이고, 실행될 때, 상기 하나 이상의 VDC 리소스를 활용하기 위한 상기 요청의 완료를 야기하는 상기 명령어들은, 실행될 때, 상기 특정 데이터가 특정 저장 정책에 따라 하나 이상의 저장 유닛에 저장되도록 야기하는 명령어들을 포함하는 비-일시적인 컴퓨터-판독가능 저장 매체.
- 제26항에 있어서, 실행될 때, 상기 관리 엔티티와, 상기 가상 데이터 센터의 상기 호스트 이외의 사용자 간의 동의에 기초하여 상기 요청에 적용가능한 상기 특정 서비스 레벨을 결정하는 것을 야기하는 명령어들을 포함하는 비-일시적인 컴퓨터-판독가능 저장 매체.
- 제26항에 있어서, 상기 특정 서비스 레벨은 상기 요청에 대한 허용가능한 성능을 나타내는 하나 이상의 임계 성능 특성 값과 연관되고, 상기 특정 VDC 리소스 활용 정책은 상기 하나 이상의 임계 성능 특성 값과 호환가능하도록 결정되는 비-일시적인 컴퓨터-판독가능 저장 매체.
- 제32항에 있어서, 상기 하나 이상의 임계 성능 특성 값은 데이터에 액세스하거나 데이터를 저장하는 허용가능한 속도를 나타내는 비-일시적인 컴퓨터-판독가능 저장 매체.
- 제26항에 있어서, 실행될 때, 상기 요청에 의해 활용된 상기 하나 이상의 VDC 리소스와는 다른 VDC 리소스들의 세트의 성능 분석에 기초하여 상기 특정 VDC 리소스 활용 정책을 결정하는 것을 야기하는 명령어들을 포함하는 비-일시적인 컴퓨터-판독가능 저장 매체.
- 제26항에 있어서, 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금,
VDC 리소스들의 세트의 성능 분석에 기초하여, 일정 서비스 레벨과 연관된 이전의 VDC 리소스 활용 정책이 더 이상 상기 일정 서비스 레벨과 연관된 성능 예상과 호환가능하지 않다고 결정하는 것; 및
상기 이전의 VDC 리소스 활용 정책과 상기 일정 서비스 레벨 간의 연관성의 식별을, 새로운 리소스 활용 정책과 상기 일정 서비스 레벨 간의 연관성의 식별로 대체하기 위해 상기 매핑 정보를 수정하는 것을 수행하게 하는 명령어들의 시퀀스들을 포함하는 비-일시적인 컴퓨터-판독가능 저장 매체. - 제26항에 있어서, 상기 특정 VDC 리소스 활용 정책은 상기 요청에 대해 사용될 VDC 리소스들의 하나 이상의 클래스를 나타내는 비-일시적인 컴퓨터-판독가능 저장 매체.
- 제26항에 있어서, 상기 특정 VDC 리소스 활용 정책은 데이터가 하나 이상의 저장 유닛에 대해 스트립되는 방식을 나타내는 비-일시적인 컴퓨터-판독가능 저장 매체.
- 제26항에 있어서, 상기 특정 VDC 리소스 활용 정책은 데이터를 저장하기 위한 리던던시의 레벨을 나타내는 비-일시적인 컴퓨터-판독가능 저장 매체.
- 제26항에 있어서, 실행될 때, 상기 요청의 수신 전에 클라이언트 컴퓨터로부터 원하는 서비스 레벨을 나타내는 서비스 레벨 사양을 수신하는 것을 야기하는 명령어들을 포함하는 비-일시적인 컴퓨터-판독가능 저장 매체.
- 명령어들의 하나 이상의 시퀀스를 포함하는 비-일시적인 컴퓨터-판독가능 저장 매체로서,
상기 명령어들의 하나 이상의 시퀀스는, 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금,
요청된 서비스 레벨을 나타내는 서비스 레벨 사양을 결정하는 것;
하나 이상의 가상 데이터 센터(VDC) 리소스를 활용하기 위한 하나 이상의 요청을 수신하는 것;
하나 이상의 가상 데이터 센터(VDC) 리소스를 활용하기 위한 상기 요청들에 대한 리소스 활용 성능 정보를 결정하는 것;
상기 리소스 활용 성능 정보에 일부 기초하여, 리소스 활용 성능이 상기 요청된 서비스 레벨과 호환가능하지 않다고 결정하는 것;
상기 리소스 활용 성능 정보에 일부 기초하여, 새로운 리소스 활용 정책을 선택하는 것; 및
이전의 리소스 활용 정책에 따라 분산된 데이터가 가상 데이터 센터에서의 하나 이상의 리소스에서 상기 새로운 리소스 활용 정책에 따라 분산되도록 야기하는 것을 수행하게 하고,
상기 방법은, 그의 실행이 상기 가상 데이터 센터의 호스트와는 다른 관리 엔티티에 의해 제어되는 리소스 관리자 리소스 관리자 로직을 실행함으로써 수행되는 비-일시적인 컴퓨터-판독가능 저장 매체. - 제40항에 있어서, 하나 이상의 가상 데이터 센터(VDC) 리소스를 활용하기 위한 상기 요청들은 데이터에 액세스하거나 데이터를 저장하기 위한 요청들을 포함하고, 상기 새로운 리소스 활용 정책은 저장 정책인 비-일시적인 컴퓨터-판독가능 저장 매체.
- 제40항에 있어서, 하나 이상의 가상 데이터 센터(VDC) 리소스를 활용하기 위한 상기 요청들은 하나 이상의 네트워킹 리소스를 활용하기 위한 요청들을 포함하고, 상기 새로운 리소스 활용 정책은 네트워킹 정책인 비-일시적인 컴퓨터-판독가능 저장 매체.
- 제40항에 있어서, 하나 이상의 가상 데이터 센터(VDC) 리소스를 활용하기 위한 상기 요청들은 보안 리소스들을 활용하기 위한 요청들을 포함하고, 상기 새로운 리소스 활용 정책은 보안 정책인 비-일시적인 컴퓨터-판독가능 저장 매체.
- 제40항에 있어서, 하나 이상의 가상 데이터 센터(VDC) 리소스들을 활용하기 위한 상기 요청들은 가상 머신들을 활용하기 위한 요청들을 포함하고, 상기 리소스 활용 정책은 가상 머신 활용 정책을 나타내는 비-일시적인 컴퓨터-판독가능 저장 매체.
- 제40항에 있어서, 실행될 때, 상기 관리 엔티티와 상기 가상 데이터 센터의 상기 호스트 이외의 사용자 간의 동의에 기초하여 상기 요청된 서비스 레벨을 결정하는 것을 야기하는 명령어들을 포함하는 비-일시적인 컴퓨터-판독가능 저장 매체.
- 제40항에 있어서, 상기 이전의 리소스 활용 정책에 따라 분산된 데이터가 상기 새로운 리소스 활용 정책에 따라 분산되도록 야기하는 것은 상기 가상 데이터 센터의 상기 호스트로부터 VDC 리소스들을 요청하는 것을 포함하는 비-일시적인 컴퓨터-판독가능 저장 매체.
- 제40항에 있어서, 상기 요청된 서비스 레벨은 데이터에 액세스하거나 데이터를 저장하기 위한 허용가능한 속도를 나타내는 하나 이상의 임계 성능 특성 값과 연관되고, 상기 새로운 리소스 활용 정책은 상기 하나 이상의 임계 성능 특성 값과 호환가능하도록 결정되는 비-일시적인 컴퓨터-판독가능 저장 매체.
- 제40항에 있어서, 상기 새로운 리소스 활용 정책은 상기 데이터를 위해 사용될 저장 유닛들의 하나 이상의 클래스를 나타내는 비-일시적인 컴퓨터-판독가능 저장 매체.
- 제40항에 있어서, 상기 새로운 리소스 활용 정책은 상기 데이터가 하나 이상의 저장 유닛 위에 스트립되는 방식을 나타내는 비-일시적인 컴퓨터-판독가능 저장 매체.
- 제40항에 있어서, 상기 새로운 리소스 활용 정책은 상기 데이터를 저장하기 위한 리던던시의 레벨을 나타내는 비-일시적인 컴퓨터-판독가능 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/837,456 US9306978B2 (en) | 2013-03-15 | 2013-03-15 | Automatic tuning of virtual data center resource utilization policies |
US13/837,456 | 2013-03-15 | ||
PCT/US2014/023816 WO2014150623A1 (en) | 2013-03-15 | 2014-03-11 | Automatic tuning of virtual data center resource utilization policies |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20150132859A true KR20150132859A (ko) | 2015-11-26 |
Family
ID=50733294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157029882A KR20150132859A (ko) | 2013-03-15 | 2014-03-11 | 가상 데이터 센터 리소스 활용 정책들의 자동 튜닝 |
Country Status (9)
Country | Link |
---|---|
US (2) | US9306978B2 (ko) |
EP (2) | EP2972750B1 (ko) |
JP (1) | JP2016511490A (ko) |
KR (1) | KR20150132859A (ko) |
AU (1) | AU2014235793B2 (ko) |
BR (1) | BR112015023631A2 (ko) |
CA (1) | CA2906428A1 (ko) |
TW (1) | TW201447746A (ko) |
WO (1) | WO2014150623A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017200752A1 (en) * | 2016-05-20 | 2017-11-23 | Shoretel, Inc. | Hybrid cloud deployment for hybrid unified communications |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8601473B1 (en) | 2011-08-10 | 2013-12-03 | Nutanix, Inc. | Architecture for managing I/O and storage for a virtualization environment |
US9135460B2 (en) * | 2011-12-22 | 2015-09-15 | Microsoft Technology Licensing, Llc | Techniques to store secret information for global data centers |
US9779260B1 (en) | 2012-06-11 | 2017-10-03 | Dell Software Inc. | Aggregation and classification of secure data |
US9501744B1 (en) | 2012-06-11 | 2016-11-22 | Dell Software Inc. | System and method for classifying data |
US9390240B1 (en) | 2012-06-11 | 2016-07-12 | Dell Software Inc. | System and method for querying data |
US9578060B1 (en) * | 2012-06-11 | 2017-02-21 | Dell Software Inc. | System and method for data loss prevention across heterogeneous communications platforms |
US9306978B2 (en) | 2013-03-15 | 2016-04-05 | Bracket Computing, Inc. | Automatic tuning of virtual data center resource utilization policies |
US9292331B2 (en) * | 2013-03-15 | 2016-03-22 | Bracket Computing, Inc. | Expansion of services for a virtual data center guest |
BR112015023565A2 (pt) | 2013-03-15 | 2017-07-18 | Bracket Computing Inc | administração de armazenamento multicamada para disposição flexível de dados |
US9665386B2 (en) | 2013-06-14 | 2017-05-30 | Nutanix, Inc. | Method for leveraging hypervisor functionality for maintaining application consistent snapshots in a virtualization environment |
US9740514B1 (en) | 2013-06-26 | 2017-08-22 | Nutanix, Inc. | Method and system to share data with snapshots in a virtualization environment |
US9300728B1 (en) * | 2013-10-14 | 2016-03-29 | Ca, Inc. | Controlling resource deployment thresholds in a distributed computer system |
US10747620B2 (en) * | 2013-11-15 | 2020-08-18 | Netapp, Inc. | Network storage management at scale using service level objectives |
US20150199206A1 (en) * | 2014-01-13 | 2015-07-16 | Bigtera Limited | Data distribution device and data distribution method thereof for use in storage system |
US20150244804A1 (en) | 2014-02-21 | 2015-08-27 | Coho Data, Inc. | Methods, systems and devices for parallel network interface data structures with differential data storage service capabilities |
US11243707B2 (en) | 2014-03-12 | 2022-02-08 | Nutanix, Inc. | Method and system for implementing virtual machine images |
US9349016B1 (en) * | 2014-06-06 | 2016-05-24 | Dell Software Inc. | System and method for user-context-based data loss prevention |
US10180798B2 (en) | 2014-10-27 | 2019-01-15 | Hitachi, Ltd. | Method and apparatus to configure information technology infrastructure |
US10326748B1 (en) | 2015-02-25 | 2019-06-18 | Quest Software Inc. | Systems and methods for event-based authentication |
US10417613B1 (en) | 2015-03-17 | 2019-09-17 | Quest Software Inc. | Systems and methods of patternizing logged user-initiated events for scheduling functions |
US9990506B1 (en) | 2015-03-30 | 2018-06-05 | Quest Software Inc. | Systems and methods of securing network-accessible peripheral devices |
US10061525B1 (en) * | 2015-03-31 | 2018-08-28 | EMC IP Holding Company LLC | Load balancing system and method |
US9563782B1 (en) | 2015-04-10 | 2017-02-07 | Dell Software Inc. | Systems and methods of secure self-service access to content |
US9842218B1 (en) | 2015-04-10 | 2017-12-12 | Dell Software Inc. | Systems and methods of secure self-service access to content |
US9842220B1 (en) | 2015-04-10 | 2017-12-12 | Dell Software Inc. | Systems and methods of secure self-service access to content |
US9641555B1 (en) | 2015-04-10 | 2017-05-02 | Dell Software Inc. | Systems and methods of tracking content-exposure events |
US9569626B1 (en) | 2015-04-10 | 2017-02-14 | Dell Software Inc. | Systems and methods of reporting content-exposure events |
US9826030B1 (en) | 2015-06-04 | 2017-11-21 | Amazon Technologies, Inc. | Placement of volume partition replica pairs |
US9826041B1 (en) * | 2015-06-04 | 2017-11-21 | Amazon Technologies, Inc. | Relative placement of volume partitions |
US10536352B1 (en) | 2015-08-05 | 2020-01-14 | Quest Software Inc. | Systems and methods for tuning cross-platform data collection |
US10157358B1 (en) | 2015-10-05 | 2018-12-18 | Quest Software Inc. | Systems and methods for multi-stream performance patternization and interval-based prediction |
US10218588B1 (en) | 2015-10-05 | 2019-02-26 | Quest Software Inc. | Systems and methods for multi-stream performance patternization and optimization of virtual meetings |
CN116488995A (zh) * | 2016-01-08 | 2023-07-25 | 苹果公司 | 用于虚拟化网络功能的实例化和终止的技术 |
US10142391B1 (en) | 2016-03-25 | 2018-11-27 | Quest Software Inc. | Systems and methods of diagnosing down-layer performance problems via multi-stream performance patternization |
US10826933B1 (en) * | 2016-03-31 | 2020-11-03 | Fireeye, Inc. | Technique for verifying exploit/malware at malware detection appliance through correlation with endpoints |
US10893059B1 (en) | 2016-03-31 | 2021-01-12 | Fireeye, Inc. | Verification and enhancement using detection systems located at the network periphery and endpoint devices |
JP6953738B2 (ja) | 2016-04-29 | 2021-10-27 | 富士通株式会社 | データセンターのネットワークにおいてクエリを実行する、コンピュータにより実施される方法 |
US10613947B2 (en) | 2016-06-09 | 2020-04-07 | Nutanix, Inc. | Saving and restoring storage devices using application-consistent snapshots |
US10484429B1 (en) * | 2016-10-26 | 2019-11-19 | Amazon Technologies, Inc. | Automated sensitive information and data storage compliance verification |
US10191762B2 (en) | 2017-01-31 | 2019-01-29 | Vmware, Inc. | Transparent deployment of intermediary manager into guest operating system network traffic |
CN108737146A (zh) * | 2017-04-25 | 2018-11-02 | ***通信有限公司研究院 | 一种基于运维数据的策略控制方法及*** |
US10356128B1 (en) | 2017-07-27 | 2019-07-16 | Vmware, Inc. | Tag-based policy architecture |
US10652281B1 (en) | 2017-08-31 | 2020-05-12 | Vmware, Inc. | Network policy implementation in a tag-based policy architecture |
US10509914B1 (en) | 2017-10-27 | 2019-12-17 | Vmware, Inc. | Data policy implementation in a tag-based policy architecture |
US10824522B2 (en) | 2017-11-27 | 2020-11-03 | Nutanix, Inc. | Method, apparatus, and computer program product for generating consistent snapshots without quiescing applications |
US11159569B2 (en) * | 2018-08-20 | 2021-10-26 | Cisco Technology, Inc. | Elastic policy scaling in multi-cloud fabrics |
CN111221620B (zh) * | 2018-11-27 | 2024-02-09 | 华为技术有限公司 | 存储方法、装置及存储介质 |
US11442642B2 (en) | 2019-01-29 | 2022-09-13 | Dell Products L.P. | Method and system for inline deduplication using erasure coding to minimize read and write operations |
US11372730B2 (en) | 2019-07-31 | 2022-06-28 | Dell Products L.P. | Method and system for offloading a continuous health-check and reconstruction of data in a non-accelerator pool |
US11609820B2 (en) | 2019-07-31 | 2023-03-21 | Dell Products L.P. | Method and system for redundant distribution and reconstruction of storage metadata |
US11775193B2 (en) | 2019-08-01 | 2023-10-03 | Dell Products L.P. | System and method for indirect data classification in a storage system operations |
CN111010293A (zh) * | 2019-11-27 | 2020-04-14 | 中国联合网络通信集团有限公司 | 一种虚拟资源管理方法及装置 |
US11416357B2 (en) | 2020-03-06 | 2022-08-16 | Dell Products L.P. | Method and system for managing a spare fault domain in a multi-fault domain data cluster |
US11349883B2 (en) * | 2020-05-20 | 2022-05-31 | At&T Intellectual Property I, L.P. | Determining relevant security policy data based on cloud environment |
US11418326B2 (en) | 2020-05-21 | 2022-08-16 | Dell Products L.P. | Method and system for performing secure data transactions in a data cluster |
US12032981B2 (en) | 2020-12-11 | 2024-07-09 | VMware LLC | Force provisioning using available resources |
US20220014551A1 (en) * | 2021-09-24 | 2022-01-13 | Intel Corporation | Method and apparatus to reduce risk of denial of service resource acquisition attacks in a data center |
US20230418520A1 (en) * | 2022-06-27 | 2023-12-28 | Microsoft Technology Licensing, Llc | Storage policy change usage estimation |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040243699A1 (en) * | 2003-05-29 | 2004-12-02 | Mike Koclanes | Policy based management of storage resources |
US7373363B2 (en) * | 2003-07-03 | 2008-05-13 | Hewlett-Packard Development Company, L.P. | Method of managing modification of configuration states of resources in a dynamic data center |
JP2007508623A (ja) * | 2003-10-08 | 2007-04-05 | ユニシス コーポレーション | 複数のノードにわたってシステムリソースを割り当てて管理する仮想データセンタ |
EP1723564A2 (en) * | 2004-02-11 | 2006-11-22 | Storage Technology Corporation | Clustered hierarchical file services |
US7778972B1 (en) * | 2005-12-29 | 2010-08-17 | Amazon Technologies, Inc. | Dynamic object replication within a distributed storage system |
JP5745749B2 (ja) * | 2008-01-15 | 2015-07-08 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 記憶インフラストラクチャを自動的に管理するための方法および適切な記憶インフラストラクチャ |
US8443370B2 (en) * | 2008-08-26 | 2013-05-14 | Microsoft Corporation | Method of assigning resources to fulfill a service request by a programming model abstraction layer at a data center based at least in part on a reference of the requested resource class indicative of an abstract amount of resources |
US20110126197A1 (en) | 2009-11-25 | 2011-05-26 | Novell, Inc. | System and method for controlling cloud and virtualized data centers in an intelligent workload management system |
US8732310B2 (en) * | 2010-04-22 | 2014-05-20 | International Business Machines Corporation | Policy-driven capacity management in resource provisioning environments |
US8327373B2 (en) * | 2010-08-24 | 2012-12-04 | Novell, Inc. | System and method for structuring self-provisioning workloads deployed in virtualized data centers |
US8549519B2 (en) * | 2011-08-19 | 2013-10-01 | Hitachi, Ltd. | Method and apparatus to improve efficiency in the use of resources in data center |
US20140068703A1 (en) * | 2012-08-28 | 2014-03-06 | Florin S. Balus | System and method providing policy based data center network automation |
KR101692751B1 (ko) * | 2012-09-25 | 2017-01-04 | 에이10 네트워크스, 인코포레이티드 | 데이터망 부하 분산 |
US10554505B2 (en) * | 2012-09-28 | 2020-02-04 | Intel Corporation | Managing data center resources to achieve a quality of service |
BR112015023565A2 (pt) | 2013-03-15 | 2017-07-18 | Bracket Computing Inc | administração de armazenamento multicamada para disposição flexível de dados |
US9306978B2 (en) | 2013-03-15 | 2016-04-05 | Bracket Computing, Inc. | Automatic tuning of virtual data center resource utilization policies |
-
2013
- 2013-03-15 US US13/837,456 patent/US9306978B2/en active Active
-
2014
- 2014-03-11 JP JP2016501351A patent/JP2016511490A/ja active Pending
- 2014-03-11 EP EP14724820.7A patent/EP2972750B1/en active Active
- 2014-03-11 CA CA2906428A patent/CA2906428A1/en not_active Abandoned
- 2014-03-11 KR KR1020157029882A patent/KR20150132859A/ko not_active Application Discontinuation
- 2014-03-11 AU AU2014235793A patent/AU2014235793B2/en active Active
- 2014-03-11 BR BR112015023631A patent/BR112015023631A2/pt not_active Application Discontinuation
- 2014-03-11 WO PCT/US2014/023816 patent/WO2014150623A1/en active Application Filing
- 2014-03-11 EP EP18215967.3A patent/EP3514675A1/en not_active Withdrawn
- 2014-03-14 TW TW103109686A patent/TW201447746A/zh unknown
-
2016
- 2016-03-30 US US15/085,736 patent/US9578064B2/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017200752A1 (en) * | 2016-05-20 | 2017-11-23 | Shoretel, Inc. | Hybrid cloud deployment for hybrid unified communications |
US10230662B2 (en) | 2016-05-20 | 2019-03-12 | Mitel Networks, Inc. | Hybrid cloud deployment for hybrid unified communications |
US10623331B2 (en) | 2016-05-20 | 2020-04-14 | Mitel Networks, Inc. | Hybrid cloud deployment for hybrid unified communications |
Also Published As
Publication number | Publication date |
---|---|
BR112015023631A2 (pt) | 2017-07-18 |
EP2972750B1 (en) | 2019-01-02 |
US9578064B2 (en) | 2017-02-21 |
EP2972750A1 (en) | 2016-01-20 |
AU2014235793A1 (en) | 2015-11-05 |
CA2906428A1 (en) | 2014-09-25 |
TW201447746A (zh) | 2014-12-16 |
WO2014150623A1 (en) | 2014-09-25 |
JP2016511490A (ja) | 2016-04-14 |
US20160212176A1 (en) | 2016-07-21 |
AU2014235793B2 (en) | 2018-03-15 |
US9306978B2 (en) | 2016-04-05 |
US20140282824A1 (en) | 2014-09-18 |
EP3514675A1 (en) | 2019-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9578064B2 (en) | Automatic tuning of virtual data center resource utilization policies | |
JP2016511490A5 (ko) | ||
US11573831B2 (en) | Optimizing resource usage in distributed computing environments by dynamically adjusting resource unit size | |
EP2972746B1 (en) | Storage unit selection for virtualized storage units | |
US9100343B1 (en) | Storage descriptors and service catalogs in a cloud environment | |
US7437460B2 (en) | Service placement for enforcing performance and availability levels in a multi-node system | |
US11134053B2 (en) | Determining cache time to live in an object storage system | |
JP7217580B2 (ja) | コンピューティング・クラスタにおけるデータ・アクセス認識によるワークロード管理 | |
US10176047B2 (en) | Using geographical location information to provision multiple target storages for a source device | |
US11829803B2 (en) | Methods for dynamic throttling to satisfy minimum throughput service level objectives and devices thereof | |
CN112583904A (zh) | 文件上传方法、装置、设备以及存储介质 | |
US9135064B2 (en) | Fine grained adaptive throttling of background processes | |
US10268397B2 (en) | Using geographical location information to provision a target storage for a source device | |
US9141508B2 (en) | Assigning read requests based on busyness of devices | |
US11386049B1 (en) | Synchronous replication end to end latency reporting | |
US20220317888A1 (en) | Quality of service management mechanism |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |