KR101848814B1 - 클라우드 컴퓨팅 환경에서 길드의 형성 - Google Patents

클라우드 컴퓨팅 환경에서 길드의 형성 Download PDF

Info

Publication number
KR101848814B1
KR101848814B1 KR1020167002341A KR20167002341A KR101848814B1 KR 101848814 B1 KR101848814 B1 KR 101848814B1 KR 1020167002341 A KR1020167002341 A KR 1020167002341A KR 20167002341 A KR20167002341 A KR 20167002341A KR 101848814 B1 KR101848814 B1 KR 101848814B1
Authority
KR
South Korea
Prior art keywords
guilds
network terminals
performance
vector
guild
Prior art date
Application number
KR1020167002341A
Other languages
English (en)
Other versions
KR20160027055A (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 KR20160027055A publication Critical patent/KR20160027055A/ko
Application granted granted Critical
Publication of KR101848814B1 publication Critical patent/KR101848814B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • 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
    • 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/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/065Generation of reports related to network devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/46Cluster building
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

클라우드 컴퓨팅 환경에서, 서버에 의해 호스팅된 서버 애플리케이션은 유사한 성능의 다수의 네트워크 단말을 함께 클러스터링함으로써 복수의 길드를 형성할 수 있다. 서버 애플리케이션은 이후 컴퓨팅 리소스를 이에 따라 길드에 할당할 수 있다.

Description

클라우드 컴퓨팅 환경에서 길드의 형성{FORMATION OF GUILDS IN A CLOUD COMPUTING ENVIRONMENT}
여기에서 설명된 기술은 일반적으로 클라우드 컴퓨팅 환경에서 하나 이상의 길드의 형성과 관련된다.
여기에서 달리 지적되지 않는다면, 본 섹션에서 설명되는 접근법은 본 출원에서 청구범위에 대한 선행 기술이 아니며, 본 섹션에 포함함으로써 선행 기술로 인정되지 않는다.
클라우드 컴퓨팅 환경에서, 서버는 다수의 네트워크 단말에 연결될 수 있고, 그 각각은 유사한 수행 능력을 가지거나 가지지 않을 수 있다. 보다 효율적으로 컴퓨팅 리소스를 이용하기 위해, 실질적으로 유사한 수행 능력을 가지는 네트워크 단말이 하나 이상의 길드를 형성하도록 함께 그룹화될 수 있다. 하나 이상의 길드 각각은 서버의 컴퓨팅 리소스의 일부에 할당될 수 있다.
클라우드 컴퓨팅 환경에서 하나 이상의 길드의 형성에 대한 기술이 일반적으로 설명된다. 다양한 기법이 다양한 시스템, 방법 및/또는 컴퓨터 판독 가능 매체에 구현될 수 있다.
일부 예시에서, 다양한 기법이 방법으로서 구현될 수 있다. 일부 방법은 복수의 네트워크 단말 각각에 대해, 복수의 네트워크 단말 중 대응하는 것의 연산 능력을 나타내는 성능 벡터를 생성하는 단계; 길드 각각에 대해, 각각의 성능 벡터가 서로 미리 정해진 임계 값 범위 내에 있는 복수의 네트워크 단말 중 둘 이상을 클러스터링함으로써 복수의 길드를 형성하는 단계; 및 실행 가능한 컨텐츠를 복수의 네트워크 단말에 제공하는 클라우드 서버로 복수의 길드 중 적어도 하나를 할당하는 단계를 포함할 수 있다.
일부 예시에서, 다양한 기법이 시스템으로서 구현될 수 있다. 일부 시스템은 그 각각이 대응하는 연산 능력을 나타내는 성능 벡터가 할당되는, 다수의 네트워크 단말에 실행 가능한 컨텐츠를 제공하도록 구성되는 클라우드 서버를 포함할 수 있다. 시스템은 각각의 성능 벡터가 서로 미리 정해진 임계 값 범위 내에 있는, 다수의 네트워크 단말 중 둘 이상을 각각 포함하는, 클라우드 서버에 통신적으로 결합된, 하나 이상의 길드를 더 포함할 수 있다.
일부 예시에서, 다양한 기법은 실행될 경우, 하나 이상의 프로세서가 복수의 네트워크 단말 각각에 대응하는 네트워크 단말의 연산 능력을 나타내는 성능 벡터를 어사인하는 동작; 길드 각각에 대해, 복수의 네트워크 단말 중 둘 이상의 성능 벡터에 기초하여 복수의 네트워크 단말 중 둘 이상을 클러스터링함으로써 복수의 길드를 형성하는 동작; 새로운 네트워크 단말을 복수의 기존 길드 중 하나에 추가하는 동작; 및 복수의 네트워크 단말에 실행 가능한 컨텐츠를 제공하도록 구성된 클라우드 서버로 복수의 길드 중 적어도 하나를 할당하는 동작을 포함하는 동작들을 수행하도록 하는 하나 이상의 컴퓨터 판독 가능 매체에 저장된 실행 가능한 명령어로서 구현될 수 있다.
이상의 요약은 단순히 예시적인 것으로서 어떠한 방식으로든 제한적으로 의도된 것은 아니다. 이하의 상세한 설명과 도면을 참조함으로써, 위에서 설명된 예시적인 양태들, 실시예들, 그리고 특징들에 더하여, 추가적인 양태들, 실시예들, 그리고 특징들 또한 명확해질 것이다.
이하의 상세한 설명에서, 다양한 변경 및 수정이 이하의 상세한 설명으로부터 당업자에게 명백해질 것이므로 실시예들은 단지 예시로서 설명된다. 상이한 도면에서 동일한 참조 번호의 사용은 유사한 또는 동일한 물품을 나타낸다. 도면에서:
도 1은 클라우드 컴퓨팅 환경에서 길드의 형성이 구현될 수 있는 예시적 클라우드 컴퓨팅 시스템을 도시하고;
도 2는 클라우드 컴퓨팅 환경에서 길드의 형성이 구현될 수 있는 동작의 프로세싱 흐름의 예시적인 구성을 도시하고;
도 3은 클라우드 컴퓨팅 환경에서 길드의 형성이 구현될 수 있는 동작의 하위 프로세싱 흐름의 예시적인 구성을 도시하고;
도 4는 클라우드 컴퓨팅 환경에서 길드의 형성이 구현될 수 있는 동작의 다른 하위 프로세싱 흐름의 예시적인 구성을 도시하고; 그리고
도 5는 클라우드 컴퓨팅 환경에서 길드의 형성을 위하여 배열되는 예시적 컴퓨팅 장치를 예시하는 블록도를 도시하고,
모두 여기에서 설명된 적어도 일부 실시예에 따라 배열된다.
이하의 상세한 설명에서, 설명의 일부를 이루는 첨부된 도면이 참조된다. 문맥에서 달리 지시하고 있지 않은 한, 도면에서 유사한 부호는 통상적으로 유사한 컴포넌트를 나타낸다. 또한, 달리 언급되지 않는 한, 각각의 연속적인 도면의 설명은 명백한 문맥 및 현재 실시예의 보다 실질적인 설명을 제공하도록 이전의 도면 중 하나 이상으로부터 특징을 참조할 수 있다. 또한, 상세한 설명, 도면 및 청구범위에 설명된 실시예들은 제한적으로 여겨지지 않는다. 여기에서 제시되는 대상의 범위 또는 사상에서 벗어나지 않으면서 다른 실시예들이 이용될 수 있고, 다른 변경이 이루어질 수 있다. 여기에서 일반적으로 설명되고, 도면에 예시되는 본 개시의 양태는 다양한 다른 구성으로 배열, 대체, 조합, 분리 및 설계될 수 있으며 이 모두가 여기에서 명백히 고려됨이 쉽게 이해될 것이다.
도 1은 여기에서 설명된 적어도 일부 실시예들에 따라 배열된, 클라우드 컴퓨팅 환경에서 길드의 형성이 구현될 수 있는 예시적 클라우드 컴퓨팅 시스템(100)을 도시한다. 도시된 바와 같이, 예시적 클라우드 컴퓨팅 시스템(100)은 적어도, 서버(101); 일례로 서버(101) 상에 호스팅될 수 있는, 할당기(102); 할당기(102)에서 구현될 수 있는, 평가기(103) 및 클러스터 컴포넌트(104); 및 네트워크(105)를 통해 서버(101)에 통신적으로 결합될 수 있는 하나 이상의 길드(106A-106N)를 포함할 수 있다. 하나 이상의 길드(106A-106N) 각각은 다수의 네트워크 단말, 예컨대, 네트워크 단말(108A-108N)을 포함할 수 있다. 문맥이 길드 106A, 106B, 106C, … 106N 중 특정한 하나 이상으로의 구체적인 참조를 요구하지 않는다면, 참조는 여기에서 사용된 바와 같이, "길드(106)"로 집합적으로 이루어질 수 있다. 유사하게, 참조는 "네트워크 단말(108)", "네트워크 단말(110)", "네트워크 단말(112)" 및 "네트워크 단말(114)"로 집합적으로 이루어질 수 있고, 그 각각은 이하에서 더욱 충분히 설명될 것이다.
서버(101)는 네트워크(105) 상에서 하나 이상의 다른 컴퓨터, 즉, 네트워크 단말(108-114)로부터 수신될 수 있는 하나 이상의 컴퓨팅 작업을 실행하거나, 실행 가능한 컨텐츠를 다른 컴퓨터 중 하나 이상에 제공하는 하나 이상의 호스팅된 컴퓨팅 서비스, 예컨대, 할당기(102)를 실행하도록 구성되는 컴퓨터 하드웨어 시스템과 관련될 수 있다.
Microsoft Windows®, Linux, OS X 등과 같은 운영 체제는, 다양한 소프트웨어 프로그램이 서버(101)의 하드웨어 컴포넌트(도시되지 않음) 중 하나 이상 상에 또는 의하여 실행되도록 허용하기 위해 서버(101) 상에 실행될 수 있다. 서버(101)는, 일부 예시에서, CPU(central processing unit), 물리적 저장 공간, 메모리, 네트워크 포트, 네트워크 인터페이스 컨트롤러 등을 포함하는 하나 이상의 하드웨어 컴포넌트를 포함할 수 있다. 일부 예시에서, 전술한 실행 가능한 컨텐츠는 하나 이상의 MMO(massive multiplayer online) 게임의 하나 이상의 소프트웨어 프로그램의 일부일 수 있다.
할당기(102)는 네트워크 단말 각각의 하드웨어 구성 정보에 기초하여 서버(101)에 통신적으로 결합되는 네트워크 단말의 성능을 평가하고, 유사한 성능의 둘 이상의 네트워크 단말을 클러스터링함으로써 길드(106)를 형성하고, 또한 길드(106)를 서버(101)에 할당하도록 구성될 수 있는 서버(101) 상에 호스팅된 소프트웨어 프로그램 또는 애플리케이션과 관련될 수 있다. 하드웨어 구성 정보는 네트워크 단말에 의해 서버(101)로 제출될 수 있다. 대안적으로, 서버(101)가 전술한 길드(106) 중 하나 이상을 호스팅하기에 충분한 컴퓨팅 리소스를 가지지 않는다고 할당기(102)가 결정할 경우, 할당기(102)는 적어도 하나의 다른 서버(도시되지 않음)에 길드(106) 중 하나 이상을 할당할 수 있다. 길드 중 어떤 것도 하나 보다 많은 서버에 할당될 수 없다.
여기에서 참조된 것처럼, "할당"은 길드(106) 각각에 대해 통신 연결을 설립하였고, 길드(106)에 대해 하나 이상의 컴퓨팅 작업을 실행하도록 서버(101)를 구성하고, 실행 가능한 컨텐츠를 길드(106)에 제공하는, 할당기(102)에 관련될 수 있다.
평가기(103)는 이하에서 더 설명되는 네트워크 단말(108, 110, 112 및 114) 각각의 성능을 평가하고; 그리고 결과적인 성능 벡터를
Figure 112016008924497-pct00001
형태로 생성하도록 구성될 수 있는, 할당기(102)에 포함된 소프트웨어 컴포넌트 또는 모듈에 관련될 수 있다. 성능 벡터 각각의 요소는 네트워크 단말(108, 100, 112 및 114) 각각의 대응하는 하드웨어 컴포넌트의 성능 파라미터를 나타낼 수 있다. 예를 들어,
Figure 112016008924497-pct00002
은 CPU 속력을 나타낼 수 있고,
Figure 112016008924497-pct00003
는 메모리 속력을 나타낼 수 있고, 그리고
Figure 112016008924497-pct00004
은 CPU에 포함된 코어의 수를 나타낼 수 있다. 또한, 평가기(103)는 네트워크 단말(108, 110, 112 및 114)의 성능 벡터를 정규화, 즉, 성능 벡터를 미리 정해진 수치 범위, 예컨대 0부터 1까지로 변경할 수 있다.
클러스터 컴포넌트(104)는 성능 벡터에 기초하여, 네트워크 단말(108, 110, 112 및 114) 중 둘 이상을 클러스터링하도록 구성될 수 있는 소프트웨어 컴포넌트 또는 모듈에 관련될 수 있다. 즉, 둘 이상의 네트워크 단말, 예컨대, 네트워크 단말(108)은 그 성능 벡터가 서로 미리 정해진 임계 값 범위 내에 있는 경우 클러스터링될 수 있다. 여기에서 참조된 것처럼 "값 범위"는 두 벡터 사이의 거리에 관련될 수 있다. 예를 들어, 성능 벡터 P
Figure 112016008924497-pct00005
및 Q
Figure 112016008924497-pct00006
사이의 거리 (
Figure 112016008924497-pct00007
)는 다음의 공식을 사용하여 결정될 수 있다.
Figure 112016008924497-pct00008
네트워크(105)는 모바일 통신 기술, 예컨대, GSM, CDMA 등을 포함하지만 이에 한정되지 않는, 다양한 통신 프로토콜 중 적어도 하나를 따르는 하나 이상의 통신 링크에 관련될 수 있다. 네트워크(105)의 특정 무선 서비스 제공자는 모바일 통신 기술 중 어떤 것을 채택할 것인지 결정할 수 있다. 하나 이상의 통신 링크는 종래의 아날로그 AM 또는 FM 라디오, Wi-Fi™, 무선랜 (WLAN 또는 IEEE 802.11), WiMAX™ (worldwide interoperability for microwave access), Bluetooth™, 하드 와이어드 접속, 예컨대, 케이블, 전화 선, 및 다른 아날로그 및 디지털 무선 음성 및 데이터 전송 기술과 같은 비-셀룰러 기술을 이용하여 구현될 수 있다.
길드(106) 각각은 할당기(102)에 의해 클러스터링되는, 네트워크 단말, 예컨대, 네트워크 단말(108)의 그룹과 관련될 수 있다. 여기에서 참조된 것처럼, "길드"는 하나 이상의 네트워크 단말의 추상적인 그룹에 관련될 수 있다. 길드(106) 중 각각의 하나에 컴파일되는 네트워크 단말은 유사한 하드웨어 컴포넌트를 가지거나 포함할 수 있고, 따라서, 유사한 연산 능력을 지닌다. 결과적으로, 할당기(102)는 길드의 네트워크 단말 각각으로부터 컴퓨팅 작업을 서빙, 예컨대, 실행하기 위한 서버(101)의 컴퓨팅 리소스의 유사한 부분을 이용하고, 그리고/또는 실행 가능한 컨텐츠 중 유사한 부분을 길드의 네트워크 단말 각각에 제공하도록 구성될 수 있다. 예를 들어, 도 1에 도시된 것처럼, 길드(106A)는 네트워크 단말(108A, 108B, 108C, … 108N)을 포함하고, 그 각각이, 각 네트워크 단말의 유사 하드웨어 컴포넌트를 포함하는, 유사 하드웨어 구성을 가질 수 있다. 따라서, 네트워크 단말(108A, 108B, 108C, … 108N)은 서로에 대해 유사한 연산 능력을 소유할 수 있다. 따라서, 할당기(102)는 길드(106) 각각에 대해 평균 연산 능력을 계산할 수 있고, 또한 서버(101)의 컴퓨팅 리소스 일부를 계산된 평균 연산 능력에 기초하여 길드(106) 각각에 할당할 수 있다. 추가적인 예시에 따라, 동일한 길드, 예컨대, 길드(106A) 내 네트워크 단말(108A, 108B, 108C, … 108N)에 관하여, 할당기(102)는 네트워크 단말 각각으로부터 컴퓨팅 작업에 유사한 수의 CPU 코어 및 물리적 메모리 중 유사한 부분을 할당하도록 구성될 수 있다. 또한, 할당기(102)는 유사한 양의 컴퓨팅 작업을 전술한 네트워크 단말 각각에 제공하여, 예컨대, 3-D 모델을 유사한 세부사항으로 재구성하도록 구성될 수 있다.
여기에서 참조된 바와 같이, "연산 능력"은 어떤 컴퓨팅 작업을 수행하기 위한 컴퓨터에 대한 속력과 관련될 수 있다. 연산 능력은 CPU 속력, 메모리 속력, 버스 대역폭(bus bandwidth) 등에 의해 영향 받을 수 있다.
네트워크 단말(108, 110, 112 및 114)은 네트워크(105)를 통해 서버(101)에 통신적으로 결합되는, 둘 이상의 물리적 컴퓨터 또는 컴퓨팅 장치에 관련될 수 있다. 네트워크 단말(108A, 108B, 108C, … 108N)은 길드(106A)를 형성하도록 함께 그룹화될 수 있고; 네트워크 단말(110A, 110B, 110C, … 110N)은 길드(106B)를 형성하도록 함께 그룹화될 수 있고; 네트워크 단말(112A, 112B, 112C, … 112N)은 길드(106C)를 형성하도록 함께 그룹화될 수 있고; 그리고 네트워크 단말(114A, 114B, 114C, … 114N)은 길드(106N)을 형성하도록 함께 그룹화될 수 있다. 네트워크 단말(108, 110, 112 및 114) 각각은 CPU, 물리적 저장 공간, 메모리, 네트워크 포트 등을 포함하는 다수의 하드웨어 컴포넌트를 포함할 수 있다. 일부 예시에서, 네트워크 단말(108, 110, 112 및 114) 중 적어도 하나는 무선 통신 장치, 예컨대, 휴대폰, 태블릿, 랩톱 등에 관련될 수 있다. 일부 예시에 따라, 할당기(102)는 각각의 하드웨어 컴포넌트를 평가하고, 네트워크 단말(108, 110, 112 및 114)로부터 서버(101)로 제출된 하드웨어 구성 정보에 기초하여 다수의 하드웨어 컴포넌트에 대응하는 하나 이상의 평가 결과를 생성하도록 구성될 수 있다. 또한, 할당기(102)는 하나 이상의 평가 결과에 기초하여 네트워크 단말(108, 110, 112 및 114) 각각에 대해 성능 벡터를 생성할 수 있다. 각각의 성능 벡터는 대응하는 네트워크 단말의 종합적인 연산 능력을 나타낼 수 있다.
따라서, 도 1은 그 각각이 대응하는 연산 능력을 나타내도록 성능 벡터가 어사인되는, 다수의 네트워크 단말에 실행 가능한 컨텐츠를 제공하도록 구성되는 클라우드 서버, 및 각 성능 벡터가 서로 미리 정해진 임계 값 범위 내에 있는, 다수의 네트워크 단말 중 둘 이상을 각각 포함하는, 클라우드 서버에 통신적으로 결합된 하나 이상의 길드를 포함하는 예시적 클라우드 컴퓨팅 시스템(100)을 도시한다.
도 2는 여기에서 설명된 적어도 일부 실시예들에 따라 배열된, 클라우드 컴퓨팅 환경에서 길드의 형성이 구현될 수 있는 동작의 프로세싱 흐름(200)의 예시적인 구성을 도시한다. 도시된 것처럼, 프로세싱 흐름(200)은 예시적인 클라우드 컴퓨팅 시스템(100)의 부분인 다양한 컴포넌트에 의해 실행된 하위 프로세스를 포함할 수 있다. 그러나 프로세싱 흐름(200)은 그러한 컴포넌트로 한정되지 않고, 여기에서 설명된 하위 프로세스 중 둘 이상을 재정리하거나, 하위 프로세스 중 적어도 하나를 제거하거나, 하위 프로세스를 더 추가하거나, 컴포넌트를 대체하거나, 또는 이하의 설명에서 다른 컴포넌트에 따른 하위 프로세싱 역할을 가정하는 다양한 컴포넌트를 가지는 것에 의해서도 수정이 이루어질 수 있다. 프로세싱 흐름(200)은 블록(202, 204, 206 및 208) 중 하나 이상에 의해 예시된 것처럼 다양한 동작, 기능 또는 행동을 포함할 수 있다. 프로세싱 흐름(200)은 블록(202)에서 시작할 수 있다.
블록(202)(네트워크 단말에 대해 성능 벡터를 생성)은 네트워크 단말(108, 110, 112 및 114) 각각에 대해, 대응하는 네트워크 단말의 연산 능력을 나타낼 수 있는 성능 벡터를 생성하는 평가기(103)에 관련될 수 있다. 성능 벡터의 각 요소는 네트워크 단말(108, 110, 112 및 114) 중 하나의 하드웨어 컴포넌트의 하나의 성능 파라미터를 나타낼 수 있다. 그러한 성능 파라미터의 비제한적인 예시는 CPU 속력, 메모리 속력 또는 대응하는 CPU에 포함된 코어의 수를 포함할 수 있다. 네트워크 단말(108, 110, 112 및 114)의 각각의 성능 벡터는 정규화, 즉, 미리 정해진 수치 범위, 예컨대 0 내지 1로 전환될 수 있다. 프로세싱 흐름(200)은 블록(202)에서 블록(204)으로 계속될 수 있다.
블록(204)(길드를 형성)은 길드(106) 각각에 대해, 그 성능 벡터에 기초하여 네트워크 단말(108, 110, 112 및 114) 중 둘 이상을 클러스터링함으로써 길드(106)를 형성하는 클러스터 컴포넌트(104)에 관련될 수 있다. 즉, 둘 이상의 네트워크 단말, 예컨대, 네트워크 단말(108)은 그 성능 벡터가 서로 미리 정해진 임계 값 범위 내에 있는 경우 클러스터링될 수 있다.
일부 예시에 따라, 평가기(103)는 네트워크 단말(108A 및 108B)을 평가하고, 네트워크 단말(108A 및 108B) 각각에 대해 두 개의 성능 벡터, 예컨대 P 및 Q를 생성할 수 있다. 임계 값 범위는 D로서 미리 정해질 수 있다. 클러스터 컴포넌트(104)는 성능 벡터 P 및 성능 벡터 Q 사이의 거리가 D보다 크지 않을 경우, 길드(106A)를 형성하도록, 네트워크 단말(108A)과 네트워크 단말(108B)을 클러스터링할 수 있다. 마찬가지로, 클러스터 컴포넌트(104)는 성능 벡터 P 및 성능 벡터 Q 사이의 거리가 D보다 클 경우, 네트워크 단말(108A)과 네트워크 단말(108B)을 클러스터링하지 않을 수 있다. 일부 예시에 따라, 길드(106) 각각은 길드(106) 각각 내의 네트워크 단말의 수가 초과하지 않을 수 있는 미리 정해진 제한으로 어사인될 수 있다. 미리 정해진 임계 값 범위 및 미리 정해진 제한은 MMO 게임의 게임 제공자에 의해 제공되고 동적으로 수정될 수 있다. 프로세싱 흐름(200)은 블록(204)에서 블록(206)으로 계속될 수 있다.
블록(206)(길드를 클라우드 서버로 할당)은 클라우드 서버가 길드(106) 중 적어도 하나를 호스팅하기에 충분한 컴퓨팅 리소스를 가지는 경우, 클라우드 서버, 예컨대, 서버(101)에 길드(106) 중 적어도 하나를 할당하는 할당기(102)에 관련될 수 있다. 서버(101)가 충분한 컴퓨팅 리소스를 가지는지 결정하기 위해, 길드(106)는 컴퓨팅 작업을 완료하기 위한, 길드(106) 각각 내의 네트워크 단말, 예컨대, 길드(106A) 내의 네트워크 단말(108)에 대해 요구되는 컴퓨팅 리소스를 나타내는 컴퓨팅 리소스 기대 벡터를 각각 제공할 수 있다. 예를 들어, 컴퓨팅 리소스 기대 벡터는
Figure 112016008924497-pct00009
의 형태일 수 있다. 컴퓨팅 리소스 기대 벡터의 각각의 요소는 길드(106) 중 하나가 서버(101)에 할당되는 경우 서버(101)의 하드웨어 컴포넌트의 사용 기대를 나타낼 수 있다. 평가기(102)는 서버(101)의 연산 능력을 평가할 수 있고, 따라서 서버(101)에 할당될 수 있는 추가적인 네트워크 단말의 최대 수를 나타낼 수 있는 현재 연산 능력 벡터를 생성할 수 있다. 일부 예시에 따라, 할당기(102)는 길드 중 하나 이상의 컴퓨팅 리소스 기대 벡터의 합계가 서버(101)의 현재 연산 능력 벡터보다 적은 경우, 길드(106) 중 하나 이상을 서버(101)에 할당할 수 있다. 일부 다른 예시에 따라, 할당기(102)는 길드(106) 중 하나의 미리 정해진 제한이 서버(101)의 현재 연산 능력 벡터에 의해 나타난 최대 수보다 적은 경우, 길드(106) 중 하나를 서버(101)에 할당할 수 있다. 프로세싱 흐름(200)은 블록(206)부터 블록(208)으로 계속될 수 있다.
블록(208)(새로운 네트워크 단말을 길드에 추가)은 새로운 네트워크 단말을 길드(106) 중 하나에 추가하는 할당기(102)와 관련될 수 있다. 일부 예시에 따라, 평가기(103)는 새로운 네트워크 단말을 평가하고 새로운 네트워크 단말에 대한 새로운 성능 벡터를 설정하도록 구성될 수 있다. 평가기(103)는 또한 길드(106)에 대한 길드 성능 벡터를 설정하도록 구성될 수 있다. 각각의 길드 성능 벡터는 각각의 길드 내의 네트워크 단말, 예컨대, 네트워크 단말(108)의 성능 벡터의 평균 값을 나타낼 수 있다. 평가기(103)는 이후 새로운 성능 벡터 및 각각의 길드 성능 벡터 사이의 값 범위, 즉, 거리를 계산할 수 있다. 길드(106)는 이후 오름차순으로, 새로운 성능 벡터에 대해 계산된 값 범위에 기초하여, 큐(queue)에 소팅될 수 있다. 새로운 네트워크 단말은 그 값 범위가 큐 내 제1 길드의 미리 정해진 임계 값 범위보다 적은 것으로 제공된 큐 내 제1 길드에 추가될 수 있다.
따라서, 도 2는 네트워크 단말(108, 110, 112 및 114) 각각에 대해, 네트워크 단말(108, 110, 112 및 114) 중 대응하는 것의 연산 능력을 나타내는 성능 벡터를 생성하는 동작; 길드(106) 각각에 대해, 각각의 성능 벡터가 서로 미리 정해진 임계 값 범위 내에 있는, 네트워크 단말(108, 110, 112 및 114) 중 둘 이상을 클러스터링함으로써 길드(106)를 형성하는 동작; 길드(106) 중 적어도 하나를 실행 가능한 컨텐츠를 네트워크 단말(108, 110, 112 및 114)에 제공하는 서버(101)에 할당하는 동작을 포함하는 동작들의 프로세싱 흐름(200)의 예시적인 구성을 도시한다.
도 3은 여기에서 설명된 적어도 일부 실시예들에 따라 배열된, 클라우드 컴퓨팅 환경에서 길드의 형성이 구현될 수 있는 동작의 하위 프로세싱 흐름(300)의 예시적인 구성을 도시한다. 도시된 바와 같이, 하위 프로세싱 흐름(300)은 도 2를 참조하여 위에서 설명된 블록(206)(길드를 클라우드 서버로 할당)에 포함될 수 있다. 또한, 하위 프로세싱 흐름(300)은 예시적인 클라우드 컴퓨팅 시스템(100)의 부분인 다양한 컴포넌트에 의해 실행된 하위 프로세스를 포함할 수 있다. 그러나 하위 프로세싱 흐름(300)은 그러한 컴포넌트로 한정되지 않고, 여기에서 설명된 하위 프로세스 중 둘 이상을 재정리하거나, 하위 프로세스 중 적어도 하나를 제거하거나, 하위 프로세스를 더 추가하거나, 컴포넌트를 대체하거나, 또는 이하의 설명에서 다른 컴포넌트에 따른 하위 프로세싱 역할을 가정하는 다양한 컴포넌트를 가지는 것에 의해서도 수정이 이루어질 수 있다. 하위 프로세싱 흐름(300)은 블록(302 및 304) 중 하나 이상에 의해 예시된 바와 같이 다양한 동작, 기능 또는 행동을 포함할 수 있다. 프로세싱 흐름(300)은 블록(302)에서 시작할 수 있다.
블록(302)(클라우드 서버의 현재 연산 능력 벡터를 생성)은 클라우드 서버, 예컨대, 서버(101)의 연산 능력을 평가하고, 평가에 기초하여 서버(101)의 현재 연산 능력 벡터를 생성하는 할당기(102)에 관련될 수 있다. 현재 연산 능력 벡터는 서버(101)에 할당할 수 있는 추가적인 네트워크 단말의 최대 수를 나타낼 수 있다. 네트워크 단말(108, 110, 112 및 114)의 성능 벡터와 유사하게, 현재 연산 능력 벡터는
Figure 112016008924497-pct00010
의 형태로 생성될 수 있다. 현재 연산 능력 벡터의 각 요소는 서버(101)의 하드웨어 컴포넌트의 이용 가능한 연산 능력을 나타낼 수 있다. 예를 들어,
Figure 112016008924497-pct00011
은 CPU 능력의 사용되지 않은 부분을 나타낼 수 있고,
Figure 112016008924497-pct00012
는 물리적 메모리의 사용되지 않은 부분을 나타낼 수 있고,
Figure 112016008924497-pct00013
은 대역폭의 사용되지 않은 부분을 나타낼 수 있는, 등이다. 프로세싱 흐름(300)은 블록(302)에서 블록(304)으로 계속될 수 있다.
블록(304)(현재 연산 능력 벡터에 따라 길드를 클라우드 서버로 할당)은 길드(106) 중 적어도 하나를 서버(101)에 할당하는 할당기(102)와 관련될 수 있다. 일부 예시에 따라, 할당기(102)는 길드(106) 중 하나의 전술한 미리 정해진 제한이 현재 연산 능력 벡터에 의해 나타낸 최대 수보다 적은 경우 길드(106) 중 하나를 서버(101)에 할당하도록 구성될 수 있다. 길드(106) 중 하나 이상은 컴퓨팅 작업을 완료하기 위해 길드(106) 각각 내의 네트워크 단말에 대해 요구되는 컴퓨팅 리소스를 나타내는 컴퓨팅 리소스 기대 벡터를 할당기(102)에 각각 제공할 수 있다. 예를 들어, 컴퓨팅 리소스 기대 벡터는
Figure 112016008924497-pct00014
의 형태일 수 있다. 컴퓨팅 리소스 기대 벡터의 각 요소는 길드(106) 중 대응하는 것이 서버(101)에 할당되는 경우 서버(101)의 하드웨어 컴포넌트의 사용 기대를 나타낼 수 있다. 할당기(102)는 길드 중 하나 이상의 컴퓨팅 리소스 기대 벡터의 합계가 서버(101)의 현재 연산 능력 벡터보다 적은 경우, 길드(106) 중 하나 이상을 서버(101)에 이후 할당하도록 구성될 수 있다.
따라서, 도 3은 서버(101)에 할당 가능한 추가적인 네트워크 단말의 최대 수를 나타내는 서버(101)의 현재 연산 능력 벡터를 생성하는 것과 길드(106) 중 하나의 미리 정해진 제한이 서버(101)의 현재 연산 능력 벡터에 포함된 최대 수보다 적은 경우 길드(106) 중 하나를 서버(101)에 할당하는 것을 포함하는 동작의 하위 프로세싱 흐름(300)의 예시적인 구성을 도시한다.
도 4는 여기에서 설명된 적어도 일부 실시예들에 따라 배열된, 클라우드 컴퓨팅 환경에서 길드의 형성이 구현될 수 있는 동작의 다른 하위 프로세싱 흐름의 예시적인 구성(400)을 도시한다. 도시된 것처럼, 하위 프로세싱 흐름(400)은 도 2를 참조하여 위에서 설명된 블록(208)(새로운 네트워크 단말을 길드에 추가)에 포함될 수 있다. 또한, 하위 프로세싱 흐름(400)은 예시적인 클라우드 컴퓨팅 시스템(100)의 부분인 다양한 컴포넌트에 의해 실행된 하위 프로세스를 포함할 수 있다. 그러나, 하위 프로세싱 흐름(400)은 그러한 컴포넌트로 한정되지 않고, 여기에서 설명된 하위 프로세스 중 둘 이상을 재정리하거나, 하위 프로세스 중 적어도 하나를 제거하거나, 하위 프로세스를 더 추가하거나, 컴포넌트를 대체하거나, 또는 이하의 설명에서 다른 컴포넌트에 따른 하위 프로세싱 역할을 가정하는 다양한 컴포넌트를 가지는 것에 의해서 수정이 이루어질 수 있다. 하위 프로세싱 흐름(400)은 블록(402, 404, 406, 408 및 410) 중 하나 이상에 의해 예시된 것처럼 다양한 동작, 기능 또는 행동을 포함할 수 있다. 프로세싱 흐름(400)은 블록(402)에서 시작할 수 있다.
블록(402)(새로운 성능 벡터를 설정)은 새로운 네트워크 단말의 성능을 평가한 이후 새로운 네트워크 단말에 대한 새로운 성능 벡터를 설정하는 평가기(103)에 관련될 수 있다. 네트워크 단말(108, 110, 112 및 114) 각각의 성능 벡터와 유사하게, 새로운 성능 벡터는 또한 새로운 네트워크 단말의 연산 능력을 나타낼 수 있다. 새로운 성능 벡터는
Figure 112016008924497-pct00015
의 형태일 수 있다. 프로세싱은 블록(402)에서 블록(404)으로 계속될 수 있다.
블록(404)(길드 성능 벡터를 설정)은 길드(106) 각각에 대한 길드 성능 벡터를 설정하는 평가기(103)와 관련될 수 있다. 각각의 길드 성능 벡터, 예컨대,
Figure 112016008924497-pct00016
는 각각의 길드 내의 네트워크 단말, 예컨대, 네트워크 단말(108)의 성능 벡터의 평균 값을 나타낼 수 있다. 벡터의 평균 값, 예컨대,
Figure 112016008924497-pct00017
은 다음과 같이 참조될 수 있다.
Figure 112016008924497-pct00018
프로세싱 흐름(400)은 블록(404)에서 블록(406)으로 계속될 수 있다.
블록(406)(값 범위를 계산)은 새로운 성능 벡터 및 길드 성능 벡터 사이의 값 범위, 즉, 거리를 계산하는 평가기(103)와 관련될 수 있다. 값 범위는 다음과 같이 참조될 수 있다.
Figure 112016008924497-pct00019
프로세싱은 블록(406)에서 블록(408)으로 계속될 수 있다.
블록(408)(길드의 큐를 형성)은 계산된 값 범위의 오름차순으로 큐 내 길드(106)를 소팅하는 할당기(102)에 관련될 수 있다. 벡터 사이의 값 범위는 벡터가 아니므로, 할당기(102)는 값 범위를 소팅하도록 구성될 수 있다. 프로세싱 흐름(400)은 블록(408)에서 블록(410)으로 계속될 수 있다.
블록(410)(새로운 네트워크 단말을 추가)은 새로운 네트워크 단말이 유사한 성능의 다른 네트워크 단말과 클러스터링될 수 있도록 큐에서 첫 번째인 길드에 새로운 네트워크 단말을 추가하는 할당기(102)에 관련될 수 있다.
따라서, 도 4는 새로운 네트워크 단말에 대한 새로운 성능 벡터를 설정하는 동작; 길드(106) 각각에 대해 길드 성능 벡터를 설정하는 동작; 새로운 성능 벡터 및 길드(106) 각각의 길드 성능 벡터 사이의 값 범위를 계산하는 동작; 오름차순으로, 새로운 성능 벡터에 계산된 값 범위 각각의 것에 기초하여 길드(106)의 큐를 형성하는 동작; 및 새로운 네트워크 단말을 큐의 첫 번째인 길드(106) 중 하나에 추가하는 동작을 포함하는 동작들의 다른 하위 프로세싱 흐름의 예시적인 구성(400)을 도시한다.
도 5는 여기에서 설명된 적어도 일부 실시예들에 따라 배열된, 클라우드 컴퓨팅 환경에서 길드의 형성이 배열되는 예시적 컴퓨팅 장치(500)를 예시하는 블록도를 도시한다.
매우 기본 구성(502)에서, 컴퓨팅 장치(500)는 보통 하나 이상의 프로세서(504) 및 시스템 메모리(506)를 포함한다. 메모리 버스(508)는 프로세서(504)와 시스템 메모리(506) 사이의 통신에 사용될 수 있다.
요구되는 구성에 따라, 프로세서(504)는 마이크로프로세서(μP), 마이크로컨트롤러(μC), 디지털 신호 프로세서(DSP) 또는 그 임의의 조합을 포함하는 임의의 유형일 수 있지만, 이에 한정되는 것은 아니다. 프로세서(504)는 레벨 1 캐시(510) 및 레벨 2 캐시(512)와 같은 하나 이상의 레벨의 캐싱, 프로세서 코어(514) 및 레지스터(516)를 포함할 수 있다. 예시적인 프로세서 코어(514)는 ALU(arithmetic logic unit), FPU(floating point unit), DSP 코어(digital signal processing core) 또는 그 임의의 조합을 포함할 수 있다. 예시적인 메모리 컨트롤러(518)는 또한 프로세서(504)와 사용될 수 있거나 또는 일부 구현예에서, 메모리 컨트롤러(518)는 프로세서(504)의 내부 부품일 수 있다.
요구되는 구성에 따라, 시스템 메모리(506)는 (RAM과 같은) 휘발성 메모리, (ROM, 플래시 메모리 등과 같은) 비휘발성 메모리 또는 그 임의의 조합을 포함할 수 있지만, 이에 한정되지 않는 임의의 유형일 수 있다. 시스템 메모리(506)는 운영 체제(520), 하나 이상의 애플리케이션(522) 및 프로그램 데이터(524)를 포함할 수 있다. 애플리케이션(522), 예컨대, 평가기(103) 및 클러스터 컴포넌트(104)를 포함하는 할당기(102)는 프로세스(200, 300 및 400)에 관해 설명된 것을 포함하는 여기에서 설명된 기능, 예컨대, 네트워크 단말(108)에 대한 성능 벡터를 생성을 수행하도록 배열되는 길드 형성 알고리즘(526)을 포함할 수 있다. 프로그램 데이터(524)는 여기에서 설명되는 길드 형성 알고리즘(526)을 구성하기에 유용할 수 있는 길드 형성 데이터(528)를 포함할 수 있다. 일부 실시예에서, 애플리케이션(522)은 길드 형성의 구현이 여기에서 설명된 것처럼 제공될 수 있도록 운영 체제(520) 상에 프로그램 데이터(524)와 동작하도록 배열될 수 있다. 프로그램 데이터(524)는 네트워크 단말(108, 110, 112 및 114) 각각의 성능 벡터의 요소를 포함할 수 있고 또한 그 연산 능력을 나타낼 수 있다. 이러한 설명된 기본 구성(502)은 내부 파선 내에 그 컴포넌트에 의해 도 5에 예시된다.
컴퓨팅 장치(500)는 추가적인 특징 또는 기능 및 기본 구성(502)과 임의의 요구되는 장치와 인터페이스 간 통신을 용이하게 하기 위한 추가적인 인터페이스를 가질 수 있다. 예를 들면, 버스/인터페이스 컨트롤러(530)는 저장 인터페이스 버스(534)를 통한 기본 구성(502)과 하나 이상의 데이터 저장 장치(532) 간의 통신을 용이하게 하는데 사용될 수 있다. 데이터 저장 장치(532)는 분리형 저장 장치(536), 비분리형 저장 장치(538) 또는 그 조합일 수 있다. 분리형 저장 장치 및 비분리형 저장 장치의 예로는, 몇 가지 말하자면, 플렉서블 디스크 드라이브 및 하드 디스크 드라이브(HDD)와 같은 자기 디스크 장치, 컴팩트 디스크(CD) 드라이브 또는 디지털 다기능 디스크(DVD) 드라이브와 같은 광 디스크 드라이브, 고체 상태 드라이브(solid state drive; SSD) 및 테이프 드라이브가 포함된다. 예시적인 컴퓨터 저장 매체는, 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성의, 분리형 및 비분리형 매체를 포함할 수 있다.
시스템 메모리(506), 분리형 저장 장치(536) 및 비분리형 저장 장치(538)는 컴퓨터 저장 매체의 예이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD) 또는 다른 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치 또는 원하는 정보를 저장하는데 사용될 수 있고 컴퓨팅 장치(500)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에 한정되는 것은 아니다. 그러한 임의의 컴퓨터 저장 매체는 컴퓨팅 장치(500)의 일부일 수 있다.
컴퓨팅 장치(500)는 버스/인터페이스 컨트롤러(530)를 통한 다양한 인터페이스 장치(예를 들면, 출력 장치(542), 주변 인터페이스(544) 및 통신 장치(546))로부터 기본 구성(502)으로의 통신을 용이하게 하기 위한 인터페이스 버스(540)도 포함할 수 있다. 예시적인 출력 장치(542)는 그래픽 처리 유닛(548) 및 오디오 처리 유닛(550)을 포함하며, 이는 하나 이상의 A/V 포트(552)를 통해 디스플레이 또는 스피커와 같은 다양한 외부 장치로 통신적으로 구성될 수 있다. 예시적인 주변 인터페이스(544)는 직렬 인터페이스 컨트롤러(554) 또는 병렬 인터페이스 컨트롤러(556)를 포함하며, 이는 하나 이상의 I/O 포트(558)를 통해 입력 장치(예를 들면, 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등) 또는 다른 주변 장치(예를 들면, 프린터, 스캐너 등)와 같은 외부 장치와 통신적으로 구성될 수 있다. 예시적인 통신 장치(546)는 네트워크 컨트롤러(560)를 포함하며, 이는 하나 이상의 통신 포트(564)를 통해 네트워크 통신 링크 상에서의 하나 이상의 다른 컴퓨팅 장치(562)와의 통신을 용이하게 하도록 배치될 수 있다.
네트워크 통신 링크는 통신 매체의 일 예시일 수 있다. 통신 매체는 전형적으로 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 반송파 또는 다른 전송 메커니즘 같은 변조된 데이터 신호 내의 다른 데이터에 의해 구현될 수 있고, 임의의 정보 전달 매체를 포함할 수 있다. "변조된 데이터 신호"는 신호 내에 정보를 인코딩하기 위한 방식으로 설정되거나 변경된 특성 중 하나 이상을 가지는 신호일 수 있다. 제한적이지 않은 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체 및 음파, 무선 주파수(RF), 마이크로웨이브, 적외선(IR) 및 다른 무선 매체와 같은 무선 매체를 포함할 수 있다. 여기서 사용된 컴퓨터 판독 가능 매체라는 용어는 저장 매체 및 통신 매체 둘 다를 포함할 수 있다.
컴퓨팅 장치(500)는, 휴대 전화, PDA(personal data assistant), 개인용 미디어 플레이어 장치, 무선 웹-워치(web-watch) 장치, 개인용 헤드셋 장치, 특수 용도 장치 또는 위 기능 중 임의의 것을 포함하는 하이브리드 장치 같은 소형 폼 팩터(small-form factor) 휴대용(또는 모바일) 전자 장치의 일부로서 구현될 수 있다. 컴퓨팅 장치(500)는 또한 랩톱 컴퓨터 및 랩톱이 아닌 컴퓨터 구성을 모두 포함하는 개인용 컴퓨터로서 구현될 수 있다.
예시적인 실시예에서, 여기에서 기술된 임의의 동작, 처리 등은 컴퓨터 판독 가능 매체에 저장된 컴퓨터 판독 가능 명령어로서 구현될 수 있다. 컴퓨터 판독 가능 명령어는 모바일 유닛, 네트워크 요소 및/또는 임의의 다른 컴퓨팅 장치의 프로세서에 의해 실행될 수 있다.
시스템 양상들의 하드웨어와 소프트웨어 구현 사이에는 구별이 거의 없다. 하드웨어 또는 소프트웨어의 사용은 일반적으로 (그러나 어떤 맥락에서 하드웨어 및 소프트웨어 사이의 선택이 중요하게 될 수 있다는 점에서 항상 그런 것은 아니지만) 비용 대비 효율의 트레이드오프(tradeoff)를 나타내는 설계상 선택(design choice)이다. 여기에서 기술된 프로세스 및/또는 시스템 및/또는 다른 기술들이 영향 받을 수 있는 다양한 수단(vehicle)(예컨대, 하드웨어, 소프트웨어 및/또는 펌웨어)이 있으며, 선호되는 수단은 프로세스 및/또는 시스템 및/또는 다른 기술이 사용되는 맥락에 따라 변경될 것이다. 예를 들어, 만약 구현자가 속도 및 정확도가 중요하다고 결정하면, 구현자는 주로 하드웨어 및/또는 펌웨어 수단을 선택할 수 있고; 만약 유연성이 중요하다면, 구현자는 주로 소프트웨어 구현을 선택할 수 있으며; 또는, 또 다른 대안으로서, 구현자는 하드웨어, 소프트웨어 및/또는 펌웨어 중 일부 조합을 선택할 수 있다.
전술한 상세한 설명은 블록도, 흐름도 및/또는 예시의 사용을 통해 장치 및/또는 프로세스의 다양한 실시예를 설명하였다. 그러한 블록도, 흐름도 및/또는 예시가 하나 이상의 기능 및/또는 동작을 포함하는 한, 당업자라면 그러한 블록도, 흐름도, 또는 예시 내의 각각의 기능 및/또는 동작은 하드웨어, 소프트웨어, 펌웨어, 또는 실질적으로 그 임의의 조합의 넓은 범위에 의해 개별적으로 및/또는 집합적으로 구현될 수 있다는 것이 이해될 것이다. 일 실시예에서, 여기에서 기술된 대상의 몇몇 부분은 ASIC(application specific integrated circuit), FPGA(field programmable gate array), DSP(digital signal processor) 또는 다른 집적의 형태를 통해 구현될 수 있다. 그러나, 당업자라면, 여기에서 개시된 실시예의 일부 양상이, 하나 이상의 컴퓨터 상에 실행되는 하나 이상의 컴퓨터 프로그램(예를 들어, 하나 이상의 컴퓨터 시스템 상에 실행되는 하나 이상의 프로그램), 하나 이상의 프로세서 상에서 실행되는 하나 이상의 프로그램(예를 들어, 하나 이상의 마이크로프로세서 상에서 실행되는 하나 이상의 프로그램), 펌웨어 또는 실질적으로 그 조합으로서, 전체적으로 또는 부분적으로 균등하게 집적 회로에 구현될 수 있다는 것을 알 수 있으며, 소프트웨어 및/또는 펌웨어를 위한 코드의 작성 및/또는 회로의 설계는 본 개시에 비추어 당업자에게 자명할 것이다. 또한, 당업자라면, 여기에서 기술된 대상의 수단(mechanism)이 다양한 형태의 프로그램 제품으로 분포될 수 있음을 이해할 것이며, 여기에서 기술된 대상의 예시적인 실시예는, 분배를 실제로 수행하는데 사용되는 신호 베어링 매체의 특정 유형과 무관하게 적용됨을 이해할 것이다. 신호 베어링 매체의 예시는, 플로피 디스크, 하드 디스크 드라이브, CD, DVD, 디지털 테이프, 컴퓨터 메모리 등과 같은 판독 가능 유형의 매체 및 디지털 및/또는 아날로그 통신 매체(예를 들어, 섬유 광학 케이블, 웨이브가이드, 유선 통신 링크, 무선 통신 링크 등)와 같은 전송 유형 매체를 포함할 수 있으나, 이에 한정되는 것은 아니다.
당업자라면, 여기서 설명된 형식으로 장치 및/또는 프로세스를 기술하고, 이후, 공학 실무를 사용하여 그러한 기술된 장치 및/또는 프로세스를 데이터 처리 시스템에 통합한다는 것은 당해 분야에서는 일반적이란 것을 인식할 것이다. 즉, 여기서 기술된 장치 및/또는 방법의 적어도 일부는 합당한 실험 량을 통해 데이터 처리 시스템에 통합될 수 있다. 당업자라면, 전형적인 데이터 처리 시스템은 일반적으로 시스템 유닛 하우징, 비디오 디스플레이 장치, 휘발성 및 비휘발성 메모리 같은 메모리, 마이크로프로세서 및 디지털 신호 프로세서와 같은 프로세서, 운영 체제, 드라이버, 그래픽 사용자 인터페이스 및 애플리케이션 프로그램과 같은 컴퓨터 엔티티(computational entities), 터치 패드 또는 스크린 같은 하나 이상의 상호작용 장치 및/또는 피드백 루프 및 제어 모터(예를 들면, 위치 및/또는 속도를 감지하기 위한 피드백; 컴포넌트 및/또는 양(quantity)을 이동하고 및/또는 조정하기 위한 제어 모터)를 포함하는 제어 시스템 중 하나 이상을 일반적으로 포함한다는 것을 인식할 것이다. 전형적인 데이터 처리 시스템은 데이터 컴퓨팅/통신 및/또는 네트워크 컴퓨팅/통신 시스템에서 전형적으로 발견되는 바와 같은 임의의 적절한 상업적으로 이용 가능한 컴포넌트를 이용하여 구현될 수 있다.
여기에서 기술된 대상은 때때로 상이한 다른 컴포넌트 내에 포함되거나 접속된 상이한 컴포넌트를 예시한다. 도시된 그러한 아키텍처는 단순히 예시적인 것이고, 사실상 동일한 기능을 달성하는 다른 많은 아키텍처가 구현될 수 있다는 것이 이해되어야 한다. 개념적으로, 동일한 기능을 달성하기 위한 컴포넌트의 임의의 배치는 원하는 기능이 달성되도록 유효하게 "연관"된다. 이에 따라, 특정 기능을 달성하기 위해 여기서 조합된 임의의 두 개의 컴포넌트는, 아키텍처 또는 중간 컴포넌트와는 무관하게, 원하는 기능이 달성되도록 서로 "연관"된 것으로 볼 수 있다. 마찬가지로, 연관된 임의의 두 개의 컴포넌트는 또한 원하는 기능을 달성하기 위해 서로 "동작적으로 연결"되거나 또는 "동작적으로 결합"되는 것으로 간주될 수 있고, 그와 같이 연관될 수 있는 임의의 두 개의 컴포넌트는 또한 원하는 기능을 달성하기 위해 서로 "동작적으로 결합 가능"한 것으로 볼 수 있다. 동작적으로 결합 가능하다는 것의 특정 예시는 물리적으로 양립가능(mateable)하고 및/또는 물리적으로 인터액팅하는 컴포넌트 및/또는 무선으로 인터액팅이 가능하고 및/또는 무선으로 인터액팅하는 컴포넌트 및/또는 논리적으로 인터액팅하고 및/또는 논리적으로 인터액팅이 가능한 컴포넌트를 포함하지만, 이에 한정되는 것은 아니다.
여기에서 실질적으로 임의의 복수 및/또는 단수의 용어 사용에 대하여, 당업자는 맥락 및/또는 응용에 적절하도록, 복수를 단수로 및/또는 단수를 복수로 해석할 수 있다. 다양한 단수/복수의 치환은 명확성을 위해 여기에서 명시적으로 기재될 수 있다.
당업자라면, 일반적으로 여기에서 사용되며 특히 첨부된 청구범위(예를 들어, 첨부된 청구범위의 주요부(body))에 사용된 용어들이 일반적으로 "개방적(open)" 용어(예를 들어, 용어 "포함하는"은 "포함하지만 이에 제한되지 않는"으로, 용어 "갖는"는 "적어도 갖는"으로, 용어 "포함하다"는 "포함하지만 이에 한정되지 않는" 등으로 해석되어야 함)로 의도되었음을 이해할 것이다. 또한, 당업자라면, 도입된 청구항의 기재사항의 특정 수가 의도된 경우, 그러한 의도가 청구항에 명시적으로 기재될 것이며, 그러한 기재사항이 없는 경우, 그러한 의도가 없음을 또한 이해할 것이다. 예를 들어, 이해를 돕기 위해, 이하의 첨부된 청구범위는 "적어도 하나" 및 "하나 이상" 등의 도입 구절의 사용을 포함하여 청구항 기재사항을 도입할 수 있다. 그러나, 그러한 구절의 사용은, 부정관사 "하나"("a" 또는 "an")에 의한 청구항 기재사항의 도입이, 그러한 하나의 기재사항을 포함하는 실시예들로, 그러한 도입된 청구항 기재사항을 포함하는 특정 청구항을 제한함을 암시하는 것으로 해석되어서는 안되며, 동일한 청구항이 도입 구절인 "하나 이상" 또는 "적어도 하나" 및 "하나"("a" 또는 "an")과 같은 부정관사(예를 들어, "하나"는 "적어도 하나" 또는 "하나 이상"을 의미하는 것으로 해석되어야 함)를 포함하는 경우에도 마찬가지로 해석되어야 한다. 이는 청구항 기재사항을 도입하기 위해 사용된 정관사의 경우에도 적용된다. 또한, 도입된 청구항 기재사항의 특정 수가 명시적으로 기재되는 경우에도, 당업자라면 그러한 기재가 적어도 기재된 수(예를 들어, 다른 수식어가 없는 "두 개의 기재사항"을 단순히 기재한 것은, 적어도 두 개의 기재사항 또는 두 개 이상의 기재사항을 의미함)를 의미하도록 해석되어야 함을 이해할 것이다. 또한, "A, B 및 C 등 중의 적어도 하나"와 유사한 규칙이 사용된 경우에는, 일반적으로 그러한 해석은 당업자가 그 규칙을 이해할 것이라는 전제가 의도된 것이다(예를 들어, "A, B 및 C 중의 적어도 하나를 갖는 시스템"은, A만을 갖거나, B만을 갖거나, C만을 갖거나, A 및 B를 함께 갖거나, A 및 C를 함께 갖거나, B 및 C를 함께 갖거나, A, B 및 C를 함께 갖는 시스템 등을 포함하지만 이에 제한되지 않음). "A, B 또는 C 등 중의 적어도 하나"와 유사한 규칙이 사용된 경우에는, 일반적으로 그러한 해석은 당업자가 그 규칙을 이해할 것이라는 전제가 의도된 것이다(예를 들어, "A, B 또는 C 중의 적어도 하나를 갖는 시스템"은, A만을 갖거나, B만을 갖거나, C만을 갖거나, A 및 B를 함께 갖거나, A 및 C를 함께 갖거나, B 및 C를 함께 갖거나, A, B 및 C를 함께 갖는 시스템 등을 포함하지만 이에 제한되지 않음). 또한 당업자라면, 실질적으로 임의의 이접 접속어(disjunctive word) 및/또는 두 개 이상의 대안적인 용어들을 나타내는 구절은, 그것이 상세한 설명, 청구범위 또는 도면에 있는지와 상관없이, 그 용어들 중의 하나, 그 용어들 중의 어느 하나 또는 그 용어들 두 개 모두를 포함하는 가능성을 고려했음을 이해할 것이다. 예를 들어, "A 또는 B"라는 구절은 "A" 또는 "B" 또는 "A 및 B"의 가능성을 포함하는 것으로 이해될 것이다.
추가적으로, 본 개시의 특징 또는 양태가 마쿠시(Markush) 그룹으로 기술되는 경우, 본 개시가 마쿠시 그룹의 임의의 개별 요소 또는 요소들의 하위 그룹 또한 기술하고 있다는 것을 당업자는 인식할 것이다.
당업자에게 이해될 것과 같이, 임의의 그리고 모든 목적에서든, 기술 내용을 제공하는 것 등에 있어서, 여기에 개시되어 있는 모든 범위는 임의의 그리고 모든 가능한 하위범위와 그러한 하위범위의 조합 또한 포함한다. 임의의 열거된 범위는 적어도 1/2, 1/3, 1/4, 1/5, 1/10 등으로 나누어지는 동일한 범위를 충분히 설명하고 실시 가능하게 하는 것으로서 쉽게 인식될 수 있다. 제한하지 않는 예시로서, 여기서 논의되는 각각의 범위는 하위 1/3, 중앙 1/3 및 상위 1/3 등으로 나누어질 수 있다. 또한, "까지", "적어도"와 같은 모든 언어는 기재된 수를 포함하며, 전술한 하위범위로 후속적으로 나누어질 수 있는 범위를 지칭함이 당업자에게 이해되어야 한다. 마지막으로, 범위는 각각의 개별 요소를 포함함이 당업자에게 이해되어야 한다. 따라서, 예를 들어, 1-3개의 셀을 갖는 그룹은 1, 2 또는 3개의 셀을 갖는 그룹들을 의미한다. 유사하게, 1-5개의 셀을 갖는 그룹은 1, 2, 3, 4 또는 5개의 셀을 갖는 그룹을 의미한다.
앞서 말한 바로부터, 본 개시의 다양한 실시예가 예시의 목적을 위해 여기에서 기술되었고, 다양한 수정이 본 개시의 사상과 범위를 벗어나지 않으면서 이루어질 수 있음이 인정될 것이다. 따라서, 여기에서 개시된 다양한 실시예는 제한하려고 의도된 것이 아니며, 진정한 범위와 사상은 이하 청구범위에서 나타난다.

Claims (23)

  1. 복수의 네트워크 단말 각각에 대하여, 상기 복수의 네트워크 단말 중 대응하는 것의 연산 능력(computational capability)을 나타내는 성능 벡터(performance vector)를 생성하는 단계;
    복수의 길드를, 상기 길드 각각에 대하여, 각각의 상기 성능 벡터가 서로 임계 값 범위 내에 있는, 상기 복수의 네트워크 단말 중 둘 이상을 클러스터링함으로써 형성하는 단계; 및
    상기 복수의 네트워크 단말에 실행 가능한 컨텐츠를 제공하는 클라우드 서버에 상기 복수의 길드 중 적어도 하나를 할당하는 단계
    를 포함하고,
    상기 형성하는 단계는 상기 복수의 길드 각각 내 상기 네트워크 단말의 수를 미리 정해진 제한으로 제한하는 단계를 포함하고,
    상기 임계 값 범위는 상기 네트워크 단말의 수에 따라 동적으로 수정되는 것인, 방법.
  2. 제1항에 있어서,
    상기 생성하는 단계는 상기 성능 벡터를 정규화하는 단계를 포함하는, 방법.
  3. 제1항에 있어서,
    상기 성능 벡터는 CPU 속력, 코어 수 또는 메모리 속력을 포함하는 적어도 하나의 성능 파라미터를 포함하는, 방법.
  4. 삭제
  5. 제1항에 있어서,
    새로운 네트워크 단말에 대한 새로운 성능 벡터를 설정하는 단계;
    상기 복수의 길드 각각에 대한 길드 성능 벡터를 설정하는 단계;
    상기 새로운 성능 벡터 및 상기 복수의 길드 각각에 대한 상기 길드 성능 벡터 사이의 값 범위를 계산하는 단계;
    오름차순으로, 상기 새로운 성능 벡터에 대한 각각의 개별적인 계산된 값 범위에 기초하여 상기 복수의 길드의 큐를 형성하는 단계; 및
    상기 새로운 네트워크 단말을 상기 큐 내 첫 번째인 기존의 상기 복수의 길드 중 하나에 추가하는 단계
    를 더 포함하는 방법.
  6. 제1항에 있어서,
    상기 할당하는 단계는:
    상기 클라우드 서버에 할당할 수 있는 추가적인 네트워크 단말의 최대 수를 나타내는 상기 클라우드 서버의 현재 연산 능력 벡터를 생성하는 단계; 및
    상기 복수의 길드 중 하나의 상기 미리 정해진 제한이 상기 클라우드 서버의 상기 현재 연산 능력 벡터에 포함된 상기 최대 수보다 적은 경우 상기 복수의 길드 중 하나를 상기 클라우드 서버로 할당하는 단계
    를 포함하는 방법.
  7. 제1항에 있어서,
    상기 임계 값 범위 및 상기 미리 정해진 제한은 게임 제공자에 의해 미리 정해지는, 방법.
  8. 제1항에 있어서,
    상기 미리 정해진 제한은 상기 네트워크 단말의 수에 따라 동적으로 수정되는 것인, 방법.
  9. 각각이 대응하는 연산 능력을 나타내도록 성능 벡터가 어사인(assign)되는, 복수의 네트워크 단말에 실행 가능한 컨텐츠를 제공하도록 구성된 클라우드 서버; 및
    각각의 상기 성능 벡터가 서로 임계 값 범위 내에 있는, 상기 복수의 네트워크 단말 중 둘 이상을 각각 포함하는, 상기 클라우드 서버에 통신적으로 결합된, 하나 이상의 길드
    를 포함하고,
    상기 하나 이상의 길드는 상기 복수의 네트워크 단말의 수를 미리 정해진 제한까지 포함하고,
    상기 임계 값 범위는 상기 네트워크 단말의 수에 따라 동적으로 수정되는 것인 시스템.
  10. 삭제
  11. 제9항에 있어서,
    상기 성능 벡터는 CPU 속력, 코어 수 또는 메모리 속력을 포함하는 적어도 하나의 성능 파라미터를 포함하는, 시스템.
  12. 삭제
  13. 제9항에 있어서,
    상기 하나 이상의 길드 각각에 대하여 상기 임계 값 범위 및 상기 미리 정해진 제한을 결정하도록 구성된, 상기 클라우드 서버 상에 실행 가능한, 게임 제공자를 더 포함하는, 시스템.
  14. 제13항에 있어서,
    상기 게임 제공자는 상기 하나 이상의 길드 각각의 것 내 상기 네트워크 단말의 수에 따라 상기 하나 이상의 길드 각각에 대한 상기 미리 정해진 제한을 동적으로 수정하도록 더 구성되는, 시스템.
  15. 실행될 경우, 하나 이상의 프로세서가 동작들을 수행하도록 하는 명령어를 저장하는 비일시적 컴퓨터 판독 가능 메모리로서, 상기 동작들은:
    복수의 네트워크 단말 각각에 대응하는 네트워크 단말의 연산 능력을 나타내는 성능 벡터를 어사인하는 동작;
    복수의 길드를, 상기 길드 각각에 대해, 상기 복수의 네트워크 단말 중 둘 이상의 상기 성능 벡터에 기초하여 상기 복수의 네트워크 단말 중 둘 이상을 클러스터링함으로써, 형성하는 동작;
    새로운 네트워크 단말을 복수의 기존 길드 중 하나에 추가하는 동작; 및
    상기 복수의 길드 중 적어도 하나를 상기 복수의 네트워크 단말에 실행 가능한 컨텐츠를 제공하도록 구성된 클라우드 서버로 할당하는 동작
    을 포함하고,
    상기 복수의 네트워크 단말 중 둘 이상의 상기 성능 벡터는 임계 값 범위 내에 있는 것인, 비일시적 컴퓨터 판독 가능 메모리.
  16. 제15항에 있어서,
    상기 성능 벡터는 CPU 속력, 코어 수 또는 메모리 속력을 포함하는 적어도 하나의 성능 파라미터를 포함하는, 비일시적 컴퓨터 판독 가능 메모리.
  17. 삭제
  18. 제15항에 있어서,
    상기 동작들은 상기 성능 벡터를 정규화하는 동작을 더 포함하는, 비일시적 컴퓨터 판독 가능 메모리.
  19. 제15항에 있어서,
    상기 동작들은:
    상기 새로운 네트워크 단말에 대한 새로운 성능 벡터를 설정하는 동작;
    상기 복수의 기존 길드 각각에 대한 길드 성능 벡터를 계산하는 동작;
    상기 새로운 성능 벡터 및 상기 복수의 기존 길드 각각에 대한 상기 길드 성능 벡터 사이의 복수의 값 범위를 계산하는 동작;
    오름차순으로 상기 복수의 값 범위에 기초하여 상기 복수의 기존 길드의 큐를 형성하는 동작; 및
    상기 새로운 네트워크 단말을 상기 큐의 첫 번째 위치에 있는 상기 복수의 기존 길드 중 하나에 추가하는 동작
    을 더 포함하는, 비일시적 컴퓨터 판독 가능 메모리.
  20. 제15항에 있어서,
    상기 동작들은 상기 복수의 길드 각각 내 상기 네트워크 단말의 수를 미리 정해진 제한으로 제한하는 동작을 더 포함하는, 비일시적 컴퓨터 판독 가능 메모리.
  21. 제20항에 있어서,
    상기 동작들은:
    상기 클라우드 서버에 할당될 수 있는 추가적인 네트워크 단말의 최대 수를 나타내는 상기 클라우드 서버의 현재 연산 능력 벡터를 생성하는 동작; 및
    상기 미리 정해진 제한이 상기 클라우드 서버의 상기 추가적인 네트워크 단말의 최대 수보다 적은 경우 상기 길드 중 적어도 하나를 상기 클라우드 서버로 할당하는 동작
    을 더 포함하는, 비일시적 컴퓨터 판독 가능 메모리.
  22. 제20항에 있어서,
    상기 동작들은 상기 임계 값 범위 및 상기 미리 정해진 제한을 결정하는 동작을 더 포함하는, 비일시적 컴퓨터 판독 가능 메모리.
  23. 제20항에 있어서,
    상기 동작들은 상기 네트워크 단말의 수에 따라 상기 임계 값 범위 및 상기 미리 정해진 제한 중 적어도 하나를 동적으로 수정하는 동작을 더 포함하는, 비일시적 컴퓨터 판독 가능 메모리.
KR1020167002341A 2013-07-01 2013-07-01 클라우드 컴퓨팅 환경에서 길드의 형성 KR101848814B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/078578 WO2015000107A1 (en) 2013-07-01 2013-07-01 Formation of guilds in a cloud computing environment

Publications (2)

Publication Number Publication Date
KR20160027055A KR20160027055A (ko) 2016-03-09
KR101848814B1 true KR101848814B1 (ko) 2018-04-16

Family

ID=52142982

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167002341A KR101848814B1 (ko) 2013-07-01 2013-07-01 클라우드 컴퓨팅 환경에서 길드의 형성

Country Status (3)

Country Link
US (1) US9455868B2 (ko)
KR (1) KR101848814B1 (ko)
WO (1) WO2015000107A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102480045B1 (ko) 2022-01-12 2022-12-20 주식회사 투스라이프 스트리머 길드 후원 시스템 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102394903A (zh) 2011-07-14 2012-03-28 上海红神信息技术有限公司 一种主动重构计算体系构建系统
CN102801750A (zh) * 2011-05-26 2012-11-28 上海红神信息技术有限公司 一种云计算目标系统构建方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6871222B1 (en) * 1999-05-28 2005-03-22 Oracle International Corporation Quorumless cluster using disk-based messaging
US7949737B2 (en) * 2002-11-04 2011-05-24 Riverbed Technology, Inc. Method and apparatus for grouping nodes based on connection characteristics
US7338368B2 (en) 2003-10-29 2008-03-04 Multimedia Games, Inc. Method, system, and program product for grouping game players by class
US7380177B2 (en) * 2004-06-25 2008-05-27 Hewlett-Packard Development Company, L.P. Method and system for comparing individual computers to cluster representations of their peers
US7493234B2 (en) * 2005-05-10 2009-02-17 International Business Machines Corporation Monitoring and reporting normalized device system performance
US7813351B2 (en) * 2007-04-13 2010-10-12 Hewlett-Packard Development Company, L.P. Available bandwidth estimation
US8825834B2 (en) * 2007-12-03 2014-09-02 International Business Machines Corporation Automated cluster member management based on node capabilities
US8924392B2 (en) * 2011-05-23 2014-12-30 Cisco Technology, Inc. Clustering-based resource aggregation within a data center
US20130097276A1 (en) * 2011-10-13 2013-04-18 Unisys Corp. Cloud computing integration for sensor networks
US9535764B2 (en) * 2012-02-15 2017-01-03 Cisco Technology, Inc. Resource allocation mechanism

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102801750A (zh) * 2011-05-26 2012-11-28 上海红神信息技术有限公司 一种云计算目标系统构建方法
CN102394903A (zh) 2011-07-14 2012-03-28 上海红神信息技术有限公司 一种主动重构计算体系构建系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102480045B1 (ko) 2022-01-12 2022-12-20 주식회사 투스라이프 스트리머 길드 후원 시스템 및 방법

Also Published As

Publication number Publication date
US9455868B2 (en) 2016-09-27
US20150304168A1 (en) 2015-10-22
KR20160027055A (ko) 2016-03-09
WO2015000107A1 (en) 2015-01-08

Similar Documents

Publication Publication Date Title
US10200261B2 (en) Multiple-computing-node system job node selection
Singh et al. Leveraging energy‐efficient load balancing algorithms in fog computing
KR20160082678A (ko) 학습 메커니즘을 갖는 전자 시스템 및 그것의 동작 방법
KR20220044717A (ko) 작업 스케줄링 효율을 향상시키기 위한 방법, 시스템, 제품 및 장치
JP2015506526A (ja) クラウドサービス間の転送時のアプリケーション性能の維持
CN104412235A (zh) 云计算环境中的资源管理
EP4202670A1 (en) Infrastructure managed workload distribution
NL2029288B1 (en) Model-assisted deep reinforcement learning based scheduling in wireless networks
Magotra et al. Adaptive computational solutions to energy efficiency in cloud computing environment using VM consolidation
CN114816738A (zh) 算力节点的确定方法、装置、设备及计算机可读存储介质
US9632831B2 (en) Distributed real-time computing framework using in-storage processing
KR101848814B1 (ko) 클라우드 컴퓨팅 환경에서 길드의 형성
Laskaridis et al. The future of consumer edge-ai computing
WO2014033882A1 (ja) 稼働管理装置、稼働管理方法、稼働管理プログラム及び記録媒体
CN112118314A (zh) 负载均衡方法和装置
Bhagavathi et al. Improved beetle swarm optimization algorithm for energy efficient virtual machine consolidation on cloud environment
US9652298B2 (en) Power-aware scheduling
US11782699B1 (en) Systems and methods for non-interruptive update
KR101563808B1 (ko) 모바일 그리드를 이용한 분산 가상 클라우드 제공 시스템 및 방법
Zhu et al. Multi-Dimensional Constrained Cloud Computing Task Scheduling Mechanism Based on Genetic Algorithm.
JP2010160552A (ja) リソース配分装置、その方法及びプログラム
US20230195201A1 (en) Coprocessor power management in hybrid architectures
CN114090257B (zh) 虚拟机的调度方法、装置、存储介质及设备
CN113703680B (zh) 数据的管理方法及装置、存储介质、电子装置
CN117891618B (zh) 人工智能模型训练平台的资源任务处理方法及装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant