KR20190126406A - 자원 요청을 처리하는 방법 및 장치 - Google Patents

자원 요청을 처리하는 방법 및 장치 Download PDF

Info

Publication number
KR20190126406A
KR20190126406A KR1020197030435A KR20197030435A KR20190126406A KR 20190126406 A KR20190126406 A KR 20190126406A KR 1020197030435 A KR1020197030435 A KR 1020197030435A KR 20197030435 A KR20197030435 A KR 20197030435A KR 20190126406 A KR20190126406 A KR 20190126406A
Authority
KR
South Korea
Prior art keywords
resource request
density
quota
preset
virtual object
Prior art date
Application number
KR1020197030435A
Other languages
English (en)
Other versions
KR102267572B1 (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 KR20190126406A publication Critical patent/KR20190126406A/ko
Application granted granted Critical
Publication of KR102267572B1 publication Critical patent/KR102267572B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5013Request control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/504Resource capping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 출원의 실시예는, 서버의 컴퓨팅 능력의 부족에 의해 유발되는 시간 지연 문제를 완화하기 위한, 자원 요청 처리 방법 및 장치를 개시한다. 상기 방법은, 액세스 가상 객체를 복수의 조밀도 등급으로 분류하는 단계, 자원 요청 쿼터(quota)를 각 조밀도 등급에 할당하는 단계, 조밀도 등급 내의 가상 객체에 의해 송신되는 자원 요청이 미리 설정된 지속기간 이내에 수신될 때, 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 큰 지 여부를 결정하고, 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 크면 자원 요청을 처리하고, 조밀도 등급에 대응하는 자원 요청 쿼터로부터 미리 설정된 값을 차감하는 단계; 및 조밀도 등급에 대응하는 상기 자원 요청 쿼터가 상기 미리 설정된 쿼터 임계치보다 크지 않다면 자원 요청을 거절하는 단계를 포함한다.
본 출원의 실시예에서, 중앙 처리 유닛(central processing unit, CPU)은 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 작거나 같을 때 조밀도 등급 내의 가상 객체에 의해 송신되는 자원 요청의 처리를 거절할 수 있어서, CPU의 처리가 과부하되지 않고, 이에 의해 서버의 컴퓨팅 능력의 부족에 의해 유발되는 시간 지연시간 지연이 완화된다.

Description

자원 요청을 처리하는 방법 및 장치
본 출원의 실시예는 게임 분야에 관한 것으로, 특히 자원 요청을 처리하는 방법 및 장치에 관한 것이다.
본 출원은 "METHOD AND APPARATUS FOR PROCESSING RESOURCE REQUEST"라는 명칭으로 2017년 4월 18일에 중국특허청에 출원된, 중국특허출원번호 201710253253.3의 우선권을 주장하며, 그 전문은 여기에 참조로서 병합된다.
대규모 멀티 플레이어 온라인 롤-플레잉 게임(Massive Multiplayer Online Role-Playing Game, mmorpg)은 플레이어가 서버에서 구동되는 가상 세계 내의 역할을 수행하고 대규모 사용자 그룹 상호 작용 활동에 참여할 사용자 그룹을 만들 수 있는 게임을 말한다.
차세대 강력한 상호 작용 액션 온라인 게임은 최신 컴퓨팅 시스템의 강력한 컴퓨팅 처리 기능 및 네트워크 전송 기능을 기반으로 하는 MMORPG이고, 플레이어에게 고품질 전투 성능, 신속한 전투 경험, 복잡한 전투 세부사항, 및 전투 중 플레이어 간의 고빈도 상호 작용 기능을 제공할 수 있다. 이러한 게임에서 단일 전투 스펠(spell)을 캐스팅(casting)하여 발생하는 컴퓨팅 시스템 성능 오버헤드 및 네트워크 트래픽 압박은 통상의 기존 MMORPG보다 몇 배나 높다.
차세대 강력한 상호 작용 액션 온라인 게임의 스펠의 세부사항 표현, 신속한 전투 페이스, 및 강력한 상호 작용의 부드러움은 게임의 핵심 경험이자 경쟁 우위 중 하나이다. 하지만, 스펠 표현 세부사항의 추가, 전투 속도의 가속화, 및 강력한 상호 작용의 생성은 서버의 컴퓨팅 오버헤드가 크게 증가시키고, 그러므로 대규모의 동일-스크린 매치에서 서버의 컴퓨팅 능력의 부족에 의해 발생되는 시간 지연 문제(stalling problem)가 심화된다.
본 출원의 실시예는 서버의 컴퓨팅 능력이 불충분하여 발생하는 시간 지연 문제를 완화시키기 위해, 자원 요청을 처리하는 방법 및 장치를 제공한다.
제1 측면에 따르면, 본 출원의 실시예는,
각 가상 객체의 현재 시각 범위 내의 상호 작용 가상 객체의 조밀도에 따라 액세스 가상 객체를 복수의 조밀도 등급으로 분류하는 단계 - 조밀도 등급의 레벨은 상호 작용 가상 객체의 조밀도의 값과 양의 상관관계가 있음 -;
자원 요청 쿼터(quota)를 각 조밀도 등급에 할당하는 단계 - 각 조밀도 등급에 대응하는 자원 요청 쿼터는, 제1 미리 설정된 지속기간 이내에 처리되도록 허용된, 조밀도 등급 내의 가상 객체에 의해 송신되는 자원 요청의 개수임 -; 및
제1 조밀도 등급 내의 가상 객체에 의해 송신되는 자원 요청이 제1 미리 설정된 지속기간 이내에 수신될 때, 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 큰 것으로 결정되면, 자원 요청을 처리하고, 제1 조밀도 등급에 대응하는 자원 요청 쿼터로부터 미리 설정된 값을 차감하는 단계; 및 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 작거나 같은 것으로 결정되면 자원 요청을 거절하는 단계를 포함하는 자원 요청 처리 방법을 제공한다.
제2 측면에 따르면, 본 출원의 실시예는 자원 요청을 처리하는 장치를 제공하고, 상기 장치는 하나 이상의 프로세서와, 프로그램 유닛을 저장하는 하나 이상의 메모리를 포함하고, 프로그램 유닛은 상기 프로세서에 의해 실행되며, 프로그램 유닛은,
각 가상 객체의 현재 시각 범위 내의 상호 작용 가상 객체의 조밀도에 따라 액세스 가상 객체를 복수의 조밀도 등급으로 분류하도록 구성된 조밀도 등급 분할부 - 조밀도 등급의 레벨은 상호 작용 가상 객체의 조밀도의 값과 양의 상관관계가 있음 -;
자원 요청 쿼터(quota)를 각 조밀도 등급에 할당하도록 구성된 쿼터 할당부 - 각 조밀도 등급에 대응하는 자원 요청 쿼터는, 제1 미리 설정된 지속기간 이내에 처리되도록 허용된, 조밀도 등급 내의 상기 액세스 가상 객체에 의해 송신되는 자원 요청의 개수임 -;
제1 조밀도 등급 내의 가상 객체에 의해 송신되는 자원 요청을 수신하도록 구성된 자원 요청 수신부; 및
수신부가 제1 조밀도 등급 내의 액세스 가상 객체에 의해 송신되는 자원 요청을, 제1 미리 설정된 지속기간 이내에 수신할 때, 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 큰 것으로 결정되면, 자원 요청을 처리하고, 제1 조밀도 등급에 대응하는 자원 요청 쿼터로부터 미리 설정된 값을 차감하고; 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 작거나 같은 것으로 결정되면 자원 요청 쿼터를 거절하도록 구성된 자원 요청 처리부를 포함한다.
제3 측면에 따르면, 본 출원의 실시예는 저장 매체를 제공하고, 여기서 컴퓨터 프로그램이 저장 매체 내에 저장되며, 구동될 때 컴퓨터 프로그램은 본 출원의 실시예의 방법을 수행하도록 구성된다.
제4 측면에 따르면, 본 출원의 실시예는 전자 장치를 제공하고, 메모리 및 프로세서를 포함하며, 여기서 컴퓨터 프로그램이 메모리 내에 저장되고, 프로세서는 컴퓨터 프로그램을 통해 본 출원의 실시예의 방법을 수행하도록 구성된다.
본 출원의 실시예는 다음과 같은 장점을 가진다는 것을 앞서 설명한 기술적 해결 방안으로부터 알 수 있다.
본 출원의 실시예에서, 액세스 가상 객체는 각 가상 객체의 현재 시각 범위 내의 상호 작용 가상 객체의 조밀도에 따라 복수의 조밀도 등급으로 분류되고, 자원 요청 쿼터가 각 조밀도 등급에 할당되고, 조밀도 등급 내의 가상 객체에 의해 송신되는 자원 요청이 미리 설정된 지속기간 이내에 수신될 때, 수신된 자원 요청은, 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 큰 것으로 결정되면 처리되고, 미리 설정된 값이 조밀도 등급에 대응하는 자원 요청 쿼터에서 차감되며, 자원 요청은, 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 작거나 같은 것으로 결정되면 거절된다. 본 출원의 실시예에서, 가상 객체는 조밀도 등급으로 분류될 수 있고, 자원 요청 쿼터가 각 조밀도 등급에 할당되며, 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 작거나 같을 때 중앙 처리 유닛(central processing unit, CPU)은 조밀도 등급 내의 가상 객체에 의해 송신된 자원 요청의 처리를 거절하여서, CPU의 처리가 과부하되는 것으로부터 회피되고, 이에 의해 서버의 컴퓨팅 능력의 부족에 의해 유발되는 시간 지연 문제가 완화된다.
도 1은 본 출원의 일 실시예에 따른 종래의 차세대 강-상호 작용 액션 온라인 게임 내의 스펠 캐스팅의 논리적 특징의 예시를 도시한다;
도 2는 본 출원의 일 실시예에 따른 자원 요청을 처리하는 방법의 흐름도이다;
도 3은 본 출원의 일 실시예에 따른 중-저 조밀도 영역 내의 플레이어의 전형적인 행동 모드의 개략도이다;
도 4는 본 출원의 일 실시예에 따른 고-조밀도 영역 내의 플레이어의 전형적인 행동 모드의 개략도이다;
도 5는 본 출원의 일 실시예에 따른 자원 요청 쿼터의 할당의 개략도이다;
도 6은 본 출원의 일 실시예에 따른 자원 요청 쿼터의 사용량의 개략도이다;
도 7은 본 출원의 일 실시예에 따른 자원 요청을 처리하는 장치 내의 기능적 모듈의 개략적인 구조도이다;
도 8은 본 출원의 일 실시예에 따른 서버의 하드웨어 구조의 개략도이다; 그리고
도 9는 본 출원의 일 실시예에 따른 전자 장치의 하드웨어 구조의 개략도이다.
본 출원의 실시예 는 첨부 도면을 참조하여 아래에서 더 상세히 설명된다.
전형적인 차세대 강력한 상호 작용 액션 온라인 게임의 스펠 캐스팅(spell casting) 로직이 도 1에 도시되어 있다. 플레이어는 시점 T0에서 스펠 A를 시전(cast)한다. 상기 스펠은 스페이지 1 내지 스테이지 15까지를 포함하는 15개의 스테이지를 갖고, 타깃 t1 내지 타깃 60을 포함하는 60개의 타깃을 타격한다. 버프(buff) A가 있다. 버프는 활성 엔티티 상에 시간 효과를 갖는 상호 작용 데이터(interactive data)이다. 버프는 가상 세계에서 시간이 지남에 따라 변경되고, 활성 엔티티 이외의 가상 세계 객체(virtual world object)와 논리적으로 상호 작용한다. 스펠 캐스터(spell caster)에 버프 A가 있을 때, 상기 버프는 스펠 캐스터에 대해 효과 A를 일으킨다. 효과 A는 다음과 같은 로직을 갖는다: 스펠 A의 스테이지 X에 의해 타격되는 타깃 상에 버프 B가 있고, 버프 B의 스테이지 B의 대응하는 논리의 실행이 시점 T1 이전에 완료되면, 단계 X 이후의 스펠 A의 스테이지들의 로직은 스펠 B의 로직으로 대체된다.
도 1로부터 알 수 있는 것은, MMORPG 서버의 경우, 서로 다른 게임 장면 내의 플레이어는 서로 다른 행동을 가지고, 실행된 로직 프로세스도 분명한 변화를 갖는다는 것이다. 이는 mmorpg 서버로 하여금 성능 핫스팟 드리프팅 특성(performance hotspot drifting characteristic)을 갖게 한다. 소위 성능 핫스팟 드리프팅은 동일한 소프트웨어 모듈의 성능 핫스팟이 서로 다른 시간과 서로 다른 실행 장면에서 변하는 현상을 말한다. 결과적으로 알고리즘 최적화 정책을 수행할 시스템 핫스팟을 발견하기가 어렵다.
게다가, 단일 플레이어의 스펠 캐스팅의 컴퓨팅 작업은 타임라인과 밀접하게 관련되고 복수의 스테이지를 갖는 상태 머신이다. 각 스테이지의 컴퓨팅은 이전 스테이지의 컴퓨팅 결과에 의존할 필요가 있다. 그러므로, 컴퓨팅 종속성을 분석하기 어렵다. 플레이어 간에는 강한 데이터 종속성이 있기 때문에, 데이터 종속성을 분석하기가 어렵다. 그러므로, 병렬 처리를 수행하기 어렵다.
본 출원의 실시예에서, 복수의 MMORPG 플레이어 사이의 동일-스크린 매치 동안의 실제 요구 사항 및 행동 특징은 플레이어의 클러스터 조밀도 분포와 함께 고려되어서, 기존 서버의 실제 물리적 성능의 경계 내에서, 멀티 플레이어 동일-스크린 매치 동안의 스펠 캐스팅 지연은 서버의 컴퓨팅 파워 분배 특성에 기반하여 평활화될 수 있으며, 이에 의해 플레이어의 전체 스펠 처리량을 향상시키고, 서버의 컴퓨팅 파워 애벌랜치 효과(computing power avalanche effect)를 피할 수 있다.
여기서의 애벌랜치 효과는, 서버의 부하가 물리적 한계에 도달하면, 서버 내부의 실패 이벤트의 처리에 추가 처리 압력이 발생하고, 동시에 클라이언트가 실패 후 재-요청 정책을 실행하기 시작하며, 따라서 추가 처리 요청을 생성하여 서버의 실제 처리 기능의 급격한 저하를 가져오는 것을 의미한다. 결과적으로 시간 지연 문제(stalling problem)가 발생다.
물리적 서버의 성능은 항상 주어진 시간 주기 이내로 제한된다. 하지만, 플레이어는 동일한 화면 매치 내에서 플레이어 수 및 전투 품질의 향상에 대한 무제한 요구를 갖는다. 그 밖에, MMORPG 멀티 플레이어 동일 스크린 매치 응용 시나리오의 컴퓨팅 모델의 특징으로 인해, 컴퓨팅 요소의 개수를 확장함으로써 전체 처리 능력을 선형적으로 개선하는 것은 어렵다. 그러므로, 실제로, 서버는 모든 전투 요청에 대해 실시간으로 컴퓨팅 처리 작업의 무손실 완료를 보장할 수 없다.
하지만, MMORPG 멀티 플레이어 동일-스크린 매치의 제품 요구 사항은 서버가 실제로 가능한 많은 전투 효과를 성공적으로 처리할 수 있도록 하는 것이라기 보다는 플레이어가 최대한 높은 전투 품질을 경험할 수 있도록 하는 것이다. 인체에 의한 특히 복잡한 시나리오에서의 선택적 정보 무시 및 플레이어의 생물학적 반응 시간과 같은 심리적 특성으로 인해, 플레이어의 실제 경험을 보장하면서 서버의 컴퓨팅 부하를 크게 줄일 수 있다.
도 2는 본 출원의 일 실시예에 따른 자원 요청을 처리하는 방법의 흐름도이다.
게임 중에, 각 플레이어에는 대응하는 시각 범위(visual range)를 갖는다. 시각 범위는 플레이어의 현재 스크린, 즉 플레이어가 게임 응용 프로그램에 의해 제공되는 전체 맵 상에 위치하는 영역으로 해석될 수 있다.
시각 범위 내에 플레이어가 거의 없을 때, 플레이어는 낮은 조밀도 영역(low density area) 내에 있다. 이 경우 플레이어는 단일 또는 소수의 라이벌과 싸운다. 플레이어의 전형적인 행동 모드가 도 3에 도시되어 있다. 플레이어는 개시된 각 공격에 대해 대응하는 피드백을 얻는다. 플레이어의 이 행동 모드에서, 플레이어는 실시간 전투 피드백 및 타임 라인에 매우 민감하며, 업링크 요청은 상대적으로 낮은 빈도로 전략적이다. 플레이어는, 공격이 타깃 객체를 타격하고 타깃 객체가 공격 받는 중에 있기 전까지, 공격 결정이 이루어지는 매번 매우 민감하다. 플레이어는 각 공격에 대응하는 피드백에 주의를 기울인다.
시각 범위 내에 수백 명의 플레이어(스크린 내의 적)가 있을 때, 플레이어는 높은 조밀도 영역(high density area) 내에 있으며, 플레이어의 초점과 행동 모드가 크게 변경된다. 플레이어의 행동 모드는 도 4에 도시된 바와 같이 된다. 플레이어에 의해 개시된 공격은 수신되는 피드백보다 많다.
인체가 짧은 시간 주기 이내에 대량의 정보를 처리할 수 없기 때문에, 높은 조밀도 지역 내의 플레이어는 정확한 실시간 로직 실시간 전투 피드백 및 타임 라인에 실제로 민감하지 않다. 더 나아가, 플레이어는 반복된 요청을 높은 빈도로 송신하기 때문에, 플레이어는 단일 요청이 제 시간에 응답되는지 여부를 판단할 수 없다. 그러므로, 플레이어는 각 공격에 대한 피드백에 주의를 기울이지 않는다.
게다가, 서버의 컴퓨팅 처리의 관점에서, 단일 스펠에 대해 처리될 필요가 있는 컴퓨팅 부하가 공격 받고 있는 타깃의 수에 따라 증가한다. 그러므로, 밀집한 군중 내의 플레이어에 의해 캐스트된 스펠은 희소한 군중 내의 플레이어에 의해 캐스트된 동일한 스펠보다 성능 오버헤드가 훨씬 높다.
낮은 조밀도 영역의 플레이어 및 높은 조밀도 영역의 플레이어의 특징에 기초하여, 아래 처리가 본 출원의 본 실시예에서 수행된다.
201. 각 가상 객체(virtual object)의 현재 시각 범위 내의 상호 작용 가상 객체의 조밀도에 따라 액세스 가상 객체(access virtual object)를 복수의 조밀도 등급(density grade)으로 분류한다.
본 출원의 본 실시예 내의 가상 객체는 게임 응용 프로그램 내의 가상화된 객체를 지칭하며, 게임 가상 세계 내의 활성 엔티티이다. 각 가상 객체는 게임 응용 프로그램 내의 등록된 사용자에 대응, 즉 플레이어에 대응한다.
액세스 가상 객체를 복수의 조밀도 등급으로 분류하는 구체적인 프로세스는 다음과 같다.
각 가상 객체의 현재 시각 범위 내의 상호 작용 가상 객체의 조밀도가 획득되고, 조밀도가 동일한 수치 범위에 속하는 가상 객체가 동일한 조밀도 등급으로 분류된다.
즉, 각 가상 객체에 대해, 게임 응용 프로그램에 의해 제공된 맵 상의 가상 객체의 위치가 획득되고, 가상 객체의 시각 범위는 상기 위치에 따라 획득된다. 가상 객체의 시각 범위는 플레이어가 현재 화면에서 볼 수 있는 영역이다. 상기 영역 내의 상호 작용 가상 개체의 총 수가 계산된다. 상호 작용 가상 객체는 여기서 상기 가상 객체를 제외한 가상 객체 중에서 시각 범위 내의 다른 가상 객체이다. 즉, 가상 객체에 대응하는 플레이어의 현재 스크린 내의 적의 수가 계산된다. 구체적으로, 가상 객체는 근처의 상호 작용 가상 객체의 수를 획득하기 위해 브부하캐스팅 이벤트를 생성할 수 있다.
이후, 동일한 수치 범위에 속하는 총 수량을 가진 가상 객체들은 동일한 조밀도 등급으로 분류된다. 수치 범위는 미리 설정된 수치 범위이거나, 또는 수치 범위는 현재 온라인 가상 객체의 총 수에 따라 실시간으로 설정될 수 있다.
예를 들어, [1-20], [21-100], 및 [101-Δ의 세 개의 수치 범위가 각각 미리 설정되어 있고 수치 범위에 대응하는 조밀도 등급이 등급 1(낮은 조밀도 등급), 등급 2(중조밀도 등급), 및 등급 3(높은 조밀도 등급)이면, 조밀도 등급의 레벨은 가상 객체의 조밀도의 값과 양의 상관관계가 있다.
예를 들어, 가상 객체 1의 현재 시각 범위 내의 상호 작용 가상 객체의 총 개수는 10이고, 가상 객체 2의 현재 시각 범위 내의 상호 작용 가상 객체의 총 개수는 5이고, 가상 객체 3의 현재 시각 범위 내의 상호 작용 가상 객체의 총 개수는 200이고, 가상 객체 4의 현재 시각 범위 내의 상호 작용 가상 객체의 총 개수는 30이며, 가상 객체 5의 현재 시각 범위 내의 상호 작용 가상 객체의 총 개수는 60이다. 이 경우, 가상 객체 1 및 가상 객체 2는 수치 범위 [1-20]에 속하고 조밀도 등급 1로 분류되고, 가상 객체 4 및 가상 객체 5는 수치 범위 [21-100]에 속하고 조밀도 등급 2로 분류되며, 가상 객체 3은 수치 범위 [101-Δ에 속하고 조밀도 등급 3으로 분류된다.
게임 응용 프로그램 내의 온라인 가상 객체는 M개의 조밀도 등급으로 분류되며 조밀도 등급 m 내의 가상 객체는 ACTORm으로 기록된다. 예를 들어 조밀도 등급 1, 조밀도 등급 2, 조밀도 등급 3, 및 조밀도 등급 4 내의 가상 개체는 각각 ACTORm1, ACTORm2, ACTORm3, 및 ACTORm4로 기록된다.
각 가상 객체가 분류되는 조밀도 등급은 가상 객체가 위치한 영역 내의 상호 작용 가상 객체의 조밀도 정도에 따라 실시간으로 변경된다.
202. 자원 요청 쿼터(resource quota)를 각 조밀도 등급에 할당한다.
본 출원의 본 실시예에서 자원 요청은 게임 동안 가상 객체에 의해 서버에게 송신되는 게임 스펠 요청일 수 있다. 가상 객체는, 게임 스펠을 해제하기 위해, 게임 스펠 요청을 서버에 송신한다. 게임 스펠은 온라인 게임의 가상 세계 내의 가상 객체의 행동 모드를 지칭한다. 가상 객체는 자신과 타깃에 일련의 효과를 생성하기 위해 스펠을 캐스트할 수 있다.
게다가, 본 출원의 본 실시예에서의 자원 요청은 또한, 예를 들어, 프롭(props)을 사용하거나 또는 맵 상에 표시된 된 버프를 획득하는, 게임 동안 가상 객체에 의해 서버에게 송신되는 게임 버프 요청과 같은 다른 요청일 수 있다.
온라인 가상 객체가 게임 응용 프로그램에서 M개의 조밀도 등급으로 분류된 후 초기 자원 요청 쿼터가 각 조밀도 등급에 할당된다. 각 조밀도 등급에 대응하는 초기 자원 요청 쿼터는, 미리 설정된 지속기간 t 이내에 처리되도록 허용된, 조밀도 등급 내의 가상 객체에 의해 송신되는 자원 요청의 개수이다. 즉, 조밀도 등급 내의 가상 객체는 제1 미리 설정된 기간 t 이내의 하나의 자원 요청 쿼터를 공유한다.
도 5에 도시된 대로, 조밀도 등급 ACTORm1, ACTORm2, ACTORm3, 및 ACTORm4에 할당된 초기 자원 요청 쿼터는 각각 N1, N2, N3, 및 N4이다. N1=500이면, 이는 ACTORm1 내의 가상 개체에 의해 서버에게 송신되도록 사용된 자원 요청의 개수가 500임을 지시한다.
명심해야 할 것은, 동일한 초기 자원 요청 쿼터가 각 조밀도 등급에 할당될 수 있다는 것이다. 예를 들어, N1, N2, N3, 및 N4의 값은 동일할 수 있다.
선택적으로, 각 조밀도 등급에 할당될 때, 초기 자원 요청 쿼터는 구체적으로 서버의 CPU의 현재 부하(즉, CPU의 사용량)에 따라 할당된다. 자원 요청 쿼터의 값은 CPU의 현재 부하와 음의 상관관계가 있다. CPU의 부하가 증가함에 따라, 자원 요청 쿼터가 점차 감소한다. CPU의 현재 부하가 높을 때, 낮은 자원 요청 쿼터가 각 조밀도 등급에 할당되고, CPU의 현재 부하가 낮을 때, 높은 자원 요청 쿼터가 각 조밀도 등급에 할당된다.
그러므로, CPU의 부하가 증가함에 따라, 전반적인 성능 오버헤드가 더 크게 감소한다. CPU의 부하가 매우 높고 미리 설정된 과부하 임계치를 초과할 때, 예를 들어, CPU 사용량이 90%를 초과할 때, 자원 요청 쿼터가 크게 감소하여, 애벌랜치에 의해 유발되는 이어지는 경험의 지속적인 저하가 방지될 수 있다.
도 5를 참조하면, 예를 들어, 매 초기에 할당되는 자원 요청 쿼터 N1, N2, N3, 및 N4는 동일한 값을 갖는 것으로 가정한다. CPU 사용량이 0% 내지 30% 일 때, N1, N2, N3, 및 N4는 각각 500으로 구성되고, CPU의 사용량이 31% 내지 60% 일 때, N1, N2, N3, 및 N4는 각각 400으로 구성되고, CPU의 사용량이 61% 내지 90% 일 때, N1, N2, N3, 및 N4는 각각 300으로 구성되고, CPU의 사용량이 91% 내지 100% 일 때, N1, N2, N3, 및 N4는 각각 100으로 구성된다.
서버가 조밀도 등급 내의 가상 캐릭터에 의해 송신되는 자원 요청을 처리할 때, 미리 설정된 값이 조밀도 등급에 대응하는 자원 요청 쿼터로부터 차감된다.
선택적으로 미리 설정된 값은 1이다.
203. 제1 조밀도 등급 내의 가상 객체에 의해 송신되는 자원 요청이 제1 미리 설정된 지속기간 이내에 수신될 때, 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 큰지 여부를 결정한다.
본 출원의 본 실시예 내의 제1 조밀도 등급은 분류를 통해 획득되는 복수의 조밀도 등급 중 하나이다.
제1 조밀도 등급 내의 가상 캐릭터에 의해 송신된 자원 요청이 수신될 때, 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 큰지 여부가 먼저 결정되고, 여기서 미리 설정된 쿼터 임계치는 0일 수 있다.
제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 크면, 단계 204가 수행되고, 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 작으면, 단계 205가 수행된다.
204. 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 크면, 자원 요청을 처리하고, 제1 조밀도 등급에 대응하는 자원 요청 쿼터에서 미리 설정된 값을 차감한다.
제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 크면, 제1 조밀도 등급 내의 가상 캐릭터에 의해 송신되는 수신된 자원 요청이 처리되고, 미리 설정된 값 - 1과 같은 - 이 조밀도 등급에 대응하는 자원 요청 쿼터에서 차감된다.
205. 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 작거나 같으면, 자원 요청을 거절한다.
제1 조밀도 등급 내의 가상 캐릭터에 의해 송신된 자원 요청이 처리될 때마다, 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 작거나 같을 때까지, 미리 설정된 값이 제1 조밀도 등급에 대응하는 자원 요청 쿼터로부터 차감되고, 이는 조밀도 등급에 대응하는 자원 요청 쿼터가 모두 사용되거나 또는 최소값에 도달하였음을 지시하고, 더 이상 자원 요청이 처리될 수 없다. 이 경우, 제1 조밀도 등급 내의 가상 캐릭터에 의해 송신된 자원 요청이 거부된다.
선택적으로, 단계(203) 내의 제1 미리 결정된 지속기간 이내에, 제1 조밀도 등급 내의 가상 객체에 의해 송신된 자원 요청이 수신될 때, 다음 동작이 직접 수행될 수 있다.
제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 큰 것으로 결정되면, 자원 요청을 처리하고, 제1 조밀도 등급에 대응하는 자원 요청 쿼터에서 미리 설정된 값을 차감하고;
제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 작거나 같으면, 자원 요청을 거부한다.
본 출원의 본 실시예에서, 가상 객체는 조밀도 등급으로 분류될 수 있고, 자원 요청 쿼터는 각 조밀도 등급에 할당되고, 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 작거나 같을 때, CPU는 조밀도 등급 내의 가상 객체에 의해 송신된 자원 요청의 처리를 거부하여, CPU의 처리에 과부하가 걸리지 않고, 이에 의해 서버의 부족한 컴퓨팅 능력에 의해 발생하는 시간 지연 문제를 완화한다.
더 나아가, 조밀도가 낮은 지역(즉, 조밀도가 낮은 등급)의 플레이어는 스펠 정밀도에 대한 요구 사항이 높고 경험에 더 민감하다. 더구나, 낮은 조밀도 영역 내의 플레이어에 의해 캐스트된 스펠이 적은 수의 타깃을 타격하기 때문에, 상기 스펠은 더 낮은 오버헤드를 유발한다. 그러므로, 본 출원의 본 실시예에서, 자원 요청은 낮은 조밀도 영역의 플레이어에게 우선적으로 할당되어서, 경험에 매우 민감한 플레이어의 자원 요청이 제한된 물리 자원의 경우 우선 순위가 부여된다.
그러므로, 제1 조밀도 등급 내의 가상 캐릭터의 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 작을 때, 제1 조밀도 등급보다 높은 조밀도 등급의 자원 요청 쿼터가 사용될 수 있다.
이 경우, 제1 조밀도 등급 내의 가상 객체에 의해 송신된 자원 요청이 제1 미리 설정된 지속기간 t 이내에 수신될 때, 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 큰지 여부가 먼저 결정되고, 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 크지 않으면, 즉, 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 작거나 같으면, 제1 조밀도 등급보다 높은 다른 조밀도 등급에 대응하는 자원 요청 쿼터가 모두 미리 설정된 쿼터 임계치보다 작은지 여부가 추가로 결정되고, 수신된 자원 요청은 자원 요청 쿼터가 모두 미리 설정된 쿼터 임계치보다 작을 때에만 거부된다.
제1 조밀도 등급보다 높은 조밀도 등급(제2 조밀도 등급)이 여전히 이용 가능한 자원 요청 쿼터를 가지면, 즉 제2 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 크면, 자원 요청이 제2 조밀도 등급의 자원 요청 쿼터를 사용하여 처리되고, 미리 설정된 값이 제2 조밀도 등급에 대응하는 자원 요청 쿼터에서 차감된다.
선택적으로, 제1 조밀도 등급 내의 가상 객체에 의해 송신된 자원 요청이 수신될 때, 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 작거나 같은 것으로 결정되고 제1 조밀도 등급보다 높은 다른 조밀도 등급에 대응하는 자원 요청 쿼터가 모두 미리 설정된 쿼터 임계치보다 작은 것으로 결정되면, 자원 요청이 거절된다.
선택적으로, 현재 조밀도 등급보다 높은 또 다른 조밀도 등급의 자원 요청 쿼터가 사용될 때, 현재 조밀도 등급보다 한 등급 높은 조밀도 등급의 자원 요청 쿼터가 먼저 획득된다. 사용 가능한 자원 요청 쿼터가 있다면(즉, 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 크면), 사용 가능한 자원 요청 쿼터가 사용된다. 사용 가능한 자원 요청 쿼터가 없으면, 현재 조밀도 등급보다 두 개 등급 높은 조밀도 등급의 자원 요청 쿼터가 추가로 획득된다. 사용 가능한 자원 요청 쿼터가 있으면, 사용 가능한 자원 요청 쿼터가 사용된다. 사용 가능한 자원 요청 쿼터가 없으면, 다음으로 높은 조밀도 등급이 사용 가능한 자원 요청 쿼터를 가지고 있는지 여부가 추가로 결정된다.
도 6에 도시된 대로. m1<m2<m3<m4 일 때, ACTORm1은 ACTORm2, ACTORm3, 및 ACTORm4의 자원 요청 쿼터를 사용할 수 있고, ACTORm2는 ACTORm3 및 ACTORm4의 자원 요청 쿼터를 사용할 수 있으며, ACTORm3은 ACTORm4의 자원 요청 쿼터를 사용할 수 있다.
예를 들어, 미리 설정된 쿼터 임계치가 0과 같고 자원 요청이 스펠 요청이며, 차감된 미리 설정된 값은 스펠 요청이 처리될 때마다 1이라고 가정한다. ACTORm1에 대응하는 N1이 0보다 클 때, ACTORm1 내의 플레이어에 의해 보내진 스펠 요청의 수신 하에, 스펠 요청이 처리되고, N1이 0이될 때까지 1이 N1에서 차감된다. 이 경우, ACTORm1 내의 플레이어의 스펠 요청이 더 수신되면, ACTORm2에 대응하는 N2가 0보다 큰지 여부가 결정된다. N2가 0보다 크면, ACTORm1 내의 플레이어의 수신된 스펠 요청이 처리된다. N2가 0보다 작으면, ACTORm3에 대응하는 N3이 0보다 큰지 여부가 결정된다. 상기 처리는 순차적으로 수행된다. ACTORm2, ACTORm3, 및 ACTORm4에 대응하는 N2, N3, 및 N4가 모두 0과 같으면, 스펠 요청이 거절된다.
낮은 조밀도 등급 내의 플레이어가 높은 조밀도 등급 내의 플레이어의 자원 요청 쿼터를 선점할 수 있는 방식으로, 경험에 매우 민감한 플레이어의 스펠 해제가 제한된 물리 자원의 경우 우선으로 순위 매겨질 수 있다. 더구나, 본 방식으로, 서버는 평균적으로 더 많은 스펠 요청을 처리할 수 있다.
게다가, 제1 미리 설정된 지속기간 t가 경과한 후, 자원 요청 쿼터는 각 조밀도 등급에 재할당된다. 제1 미리 설정된 지속기간 t는 서버의 컴퓨팅 능력 및 게임 응용 프로그램의 스펠 빈도 설계에 따라 조정될 수 있다.
선택적으로, 제1 미리 설정된 지속기간 t는 더 추가적인 성능 오버헤드를 유발하지 않으면서 가능한 한 짧아야한다. 이러한 방식으로, 참여 수준이 높은 플레이어는 또한 대규모 그룹 전투에서 키잉 빈도가 상대적으로 높다. 이에 대응하여, 도 3에서, 공격 라인의 조밀도가 비교적 높다. 초기 자원 요청 쿼터가 높은 빈도로 새롭게 될 때(refresh), 참여 수준이 높은 플레이어는 참여 수준이 낮은 플레이어보다 자원 요청 피드백을 얻을 더 높은 확률을 갖고, 이에 의해 물리 자원이 제한되어 있는 경우 참여 수준이 높은 플레이어에게 가능한 한 많은 자원을 할당한다는 목표를 달성할 수 있다.
게임 응용 프로그램에서, 게임 스펠은 콤보 스펠(combo spell)을 포함한다. 콤보 스펠은 가상 객체가 액션 게임에서 협력하여 복수의 스펠을 연속으로 캐스트하는 행동 모드를 말하며, 빠르게 진행되는 즐거운 게임 경험을 제공할 수 있다.
일부 가상 캐릭터가 확률 문제로 인해 제2 미리 설정된 지속기간 이내에 자원 요청 피드백을 얻을 수 없을 때, 연속적인 스펠 캐스팅이 중단될 수 있다.
그러므로, 타임아웃 보호 방법(timeout protection method) - 제2 미리 설정된 기간 이내에 타깃 가상 객체에 의해 송신된 모든 자원 요청이 거절되는 것이 탐지될 때, 타깃 가상 객체에 의해 송신된 다음 자원 요청의 수신 하에, 타깃 가상 객체에 의해 송신된 자원 요청을 처리하는 것 - 이 본 출원의 본 실시예에서 추가된다.
자원 요청이 스펠 요청이면, 플레이어의 스펠 요청이 제2 미리 설정된 지속기간 T 이내에 캐스트되지 않을 때, 스펠 요청 캐스트 쿼터가 플레이어에게 직접 할당되어서, 플레이어의 경험이 영향을 받지 않을 수 있다.
CPU의 부하가 미리 설정된 부하 임계치보다 작고 미리 설정된 부하 임계치는 CPU가 과부하가 아님을 지시할 때, 예를 들어, 미리 설정된 부하 임계치가 20%이고 CPU의 부하가 20% 보다 작을 때, 제2 미리 설정된 지속기간 T는 두 개의 연속된 자원 요청이 송신되도록 허용된 간격의 미리 설정된 지속기간보다 작도록 설정된다.
자원 요청이 스펠 요청일 때, 두 개의 연속된 자원 요청이 송신되도록 허용된 간격의 미리 설정된 지속기간은 게임 내에서 일반적으로 사용되는 연속 스펠을 캐스팅하는 시간 간격이어서, 플레이어는 콤보 스펠을 캐스트할 수 있으며, 이에 의해, 지속적인 기본적 게임 경험을 보장할 수 있다.
CPU의 부하가 과부하 선(overload line)에 근접하거나 또는 도달하면, 제2 미리 설정된 지속기간 T의 값은 즉각적으로 크게 개선되어, 애벌랜치 효과의 발생을 방지할 수 있고, 짧은 기간 내에 저-부하(low-load) 상태로 서버가 복구할 수 있도록 작업이 수행되며, 플레이어의 경험에 영향이 미쳐지는 시간을 줄이고 장시간의 중단(stalling)을 피할 수 있다.
앞서 설명한 기술적 해결 방안에서 다음을 알 수 있다.
일 측면에서, 본 출원의 본 실시예에서, 서로 다른 조밀도 분포의 플레이어 클러스터 조밀도 분포 및 플레이어의 행동 특징에 기반하여, CPU의 컴퓨팅 파워 분배 특성과의 결합으로, 멀티-플레이어 동일-스크린 매치 동안의 스펠 캐스팅 지연이 평활화되어, 이에 의해 플레이어의 전체 스펠 처리량이 향상된다.
다른 측면에서, 본 출원의 본 실시예에서, 그룹 전투 동안의 플레이어의 행동 특징에 따라, 낮은 조밀도 등급 내의 플레이어는 높은 조밀도 등급 내의 플레이어의 스펠 요청 쿼터를 선점할 수 있어서, 경험에 매우 민감한 플레이어의 스펠 캐스팅이 적응적으로 우선으로 순위가 매겨지고, 이에 의해 플레이어 그룹의 전반적인 게임 경험이 크게 향상된다.
다른 측면에서, 본 출원의 본 실시예에서, 스펠 쿼터가 제1 미리 설정된 지속기간 t의 리프레쉬 빈도(refreshing frequency)를 개선함으로써 높은 빈도로 동적으로 할당될 수 있어서, 참여 수준이 높은 플레이어의 경험이 적응적으로 우선으로 순위 매겨질 수 있다. 키잉 빈도가 높고 참여 수준이 높은 플레이어는 스펠 요청 쿼터를 선점할 가능성이 높으므로, 이에 의해 참여 수준이 높은 플레이어의 경험이 우선시된다.
게다가, 본 출원의 본 실시예에서, 스펠 요청 쿼터는 비교적 긴 시간 내에 스펠 요청 쿼터에 실패한 플레이어에게 직접 할당될 수 있어서, 플레이어의 기본적인 게임 경험이 보장될 수 있다.
본 출원의 일 실시예의 자원 요청을 처리하는 방법이 위에서 설명되었다. 아래에서는 기능적 모듈의 관점에서 본 출원의 일 실시예의 자원 요청을 처리하는 장치를 설명한다.
본 출원의 본 실시예의 자원 요청을 처리하는 장치는 구체적으로 도 2 내지 도 6에 설명된 방법 실시예 내의 기능을 구현한다. 상기 기능들은 하드웨어에 의해 구현되거나, 또는 대응하는 소프트웨어 프로그램을 실행하는 하드웨어에 의해 구현될 수 있다. 하드웨어 및 소프트웨어는 앞서 설명한 기능에 대응하는 하나 이상의 유닛 모듈을 포함한다. 유닛 모듈은 소프트웨어 및/또는 하드웨어일 수 있다. 선택적으로, 본 출원의 본 실시예에서 자원 요청을 처리하는 장치는 하나 이상의 프로세서, 및 프로그램 유닛을 저장하기 위한 하나 이상의 메모리를 포함한다. 프로그램 유닛은 프로세서에 의해 실행되며, 프로그램 유닛은 조밀도 등급 분할부, 쿼터 할당부, 자원 요청 수신부, 및 자원 요청 처리부를 포함할 수 있다.
도 7에 도시된 대로, 본 출원의 본 실시예의 자원 요청을 처리하는 장치는,
각각의 가상 객체의 현재 시각 범위 내의 상호 작용 가상 객체의 조밀도에 따라 액세스 가상 객체를 복수의 조밀도 등급으로 분류하도록 구성된 조밀도 등급 분할부(701) - 조밀도 등급의 레벨은 가상 객체의 조밀도의 값과 양의 상관관계가 있음;
자원 요청 쿼터를 각 조밀도 등급에 할당하도록 구성된 쿼터 할당부(702) - 각 조밀도 등급에 대응하는 자원 요청 쿼터는, 제1 미리 설정된 지속기간 이내에 처리되도록 허용된, 조밀도 등급 내의 가상 객체에 의해 송신되는 자원 요청의 개수임 -;
제1 조밀도 등급 내의 가상 객체에 의해 송신되는 자원 요청을 수신하도록 구성된 자원 요청 수신부(703); 및
수신부가, 제1 미리 설정된 지속기간 이내에, 제1 조밀도 등급 내의 가상 객체에 의해 송신되는 자원 요청을 수신할 때, 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 큰지 여부를 결정하고, 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 크면 자원 요청을 처리하고 제1 조밀도 등급에 대응하는 자원 요청 쿼터로부터 미리 설정된 값을 차감하며, 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 작거나 같은 것으로 결정되면 자원 요청을 거절하도록 구성된 자원 요청 처리부(704)를 포함한다.
선택적으로, 자원 요청 처리부(704)는 또한, 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 큰 것으로 결정되면, 수신부가 제1 미리 설정된 지속기간 이내에, 제1 조밀도 등급 내의 가상 객체에 의해 송신된 자원 요청을 수신할 때 자원 요청을 처리하고, 제1 조밀도 등급에 대응하는 자원 요청 쿼터로부터 미리 설정된 값을 차감하며, 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 작거나 같은 것으로 결정되면 자원 요청을 거절하도록 구성될 수 있다.
일부 특정 실시예에서, 자원 요청 처리부(704)는 또한, 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 작거나 같을 때 제1 조밀도 등급보다 높은 다른 조밀도 등급에 대응하는 자원 요청 쿼터가 모두 미리 설정된 쿼터 임계치보다 작은지 여부를 결정하고, 다른 조밀도 등급에 대응하는 자원 요청 쿼터가 모두 미리 설정된 쿼터 임계치보다 작으면 자원 요청을 거절하도록 구성된다.
선택적으로, 요청 처리부(704)는 또한, 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 작거나 같고 제1 조밀도 등급 보다 높은 다른 조밀도 등급에 대응하는 자원 요청 쿼터가 모두 미리 설정된 쿼터 임계치보다 작은 것으로 결정될 때 자원 요청을 거절하도록 구성된다.
일부 특정 실시예에서, 자원 요청 처리부(704)는 또한, 제1 조밀도 등급보다 높은 제2 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 클 때 자원 요청을 처리하고, 제2 조밀도 등급에 대응하는 자원 요청 쿼터에서 미리 설정된 값을 차감하도록 구성된다.
일부 특정 실시예에서, 쿼터 할당부(702)는 구체적으로, CPU의 현재 부하에 따라 각 조밀도 등급에 자원 요청 쿼터를 할당하도록 구성되며, 자원 요청 쿼터의 값은 CPU의 현재 부하의 값과 음의 상관관계가 있다.
일부 특정 실시예에서, 쿼터 할당부(702)는 또한, 제1 미리 설정된 지속기간이 경과한 후 각 조밀도 등급에 자원 요청 쿼터를 재할당하도록 구성된다.
일부 특정 실시예에서, 자원 요청 처리부(704)는 또한, 제2 미리 설정된 기간 이내에 타깃 가상 객체에 의해 송신된 모든 자원 요청이 거절되고 타깃 가상 객체에 의해 송신된 다음 자원 요청이 수신되는 것이 탐지될 때, 타깃 가상 객체에 의해 송신된 다음 자원 요청을 처리하도록 구성된다.
일부 특정 실시예에서, 자원 요청을 처리하는 장치는, CPU의 부하가 미리 설정된 부하 임계치보다 작을 때, 제2 미리 설정된 지속기간을 두 개의 연속된 자원 요청이 송신되도록 허용된 간격의 미리 설정된 지속기간보다 작도록 설정하도록 구성된 설정부(705)를 더 포함한다.
일부 특정 실시예에서, 조밀도 등급 분할부(701)는 구체적으로, 각 가상 객체의 현재 시각 범위 내의 상호 작용 가상 객체의 조밀도를 획득하고, 조밀도가 동일한 수치 범위에 속하는 가상 객체를 동일한 조밀도 등급으로 분류하도록 구성된다.
도 7에 도시된 기능 유닛들 간의 정보 상호 작용을 위해, 도 2 내지 도 6에 도시된 방법 실시예가 참조된다. 자원 요청 처리 장치의 문제 해결 구현 및 유익한 효과에 대해, 도 2 내지 도 6에 설명된 방법 실시예 및 유익한 효과가 참조될 수 있고, 그러므로, 세부 사항은 본 명세서에서 다시 설명되지 않는다.
실제 응용에서, 도 7에 도시된 자원 요청 처리 장치의 기능은 서버의 프로세서에 의해 실행될 수 있다.
도 8은 본 출원의 일 실시예에 따른 서버의 개략적인 구조도이다. 서버(800)는 서로 다른 구성 또는 성능으로 인해 크게 변할 수 있고, 하나 이상의 CPU(822)(예를 들어, 하나 이상의 프로세서) 및 메모리(830)를 포함 할 수 있다. 메모리(830)는 하나 이상의 응용 프로그램(842), 데이터(844), 및 운영 체제(841)를 저장한다. 메모리(830)에 저장된 프로그램은 하나 이상의 모듈(도시되지 않음)을 포함할 수 있고, 각 모듈은 서버 상의 일련의 명령 동작을 포함할 수 있다. 선택적으로, 메모리(830)는 게임 응용 프로그램을 저장한다.
CPU(822)는 메모리(830)와 통신하고, 서버(800) 상에서, 메모리(830) 내의 일련의 명령 동작을 수행한다. 선택적으로, CPU(822)는 메모리(830) 내에 저장된 게임 응용 프로그램을 호출하여 도 2 내지 도 6에서 설명된 해결방안을 구현한다.
운영 체제(841)는 예를 들어, Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, 및 FreeBSDTM 일 수 있다.
서버(800)는 하나 이상의 전원 공급 장치(826), 하나 이상의 유선 또는 무선 네트워크 인터페이스(850), 및 하나 이상의 입력/출력 인터페이스(858)를 더 포함할 수 있다.
본 출원의 실시예들의 다른 측면에 따르면, 자원 요청을 처리하는 방법을 구현하기 위한 전자 장치가 추가로 제공된다. 도 9에 도시된 대로, 전자 장치는 하나 이상의 프로세서(901)(도 9에는 하나의 프로세서 만이 도시됨), 메모리(903), 및 송신 장치(905)를 포함할 수 있다. 도 9에 도시된 대로, 전자 장치는 입력/출력 장비(907)를 더 포함할 수 있다.
메모리(903)는 컴퓨터 프로그램 및 모듈, 예를 들어 본 출원의 실시예의 자원 요청을 처리하는 방법 및 장치에 대응하는 프로그램 명령/모듈을 저장하도록 구성될 수 있다. 프로세서(901)는, 다양한 기능적 응용 및 데이터 처리를 수행, 즉 앞서 설명한 데이터 로딩 방법을 구현하기 위해, 메모리(903)에 저장된 소프트웨어 프로그램 및 모듈을 구동하도록 구성된다. 메모리(903)는 고속 랜덤 액세스 메모리를 포함할 수 있고, 또한 하나 이상의 자기 디스크 저장 장치, 또는 플래시 메모리, 또는 또 다른 비-휘발성 고체-상태 메모리와 같은 비-휘발성 메모리를 또한 포함할 수 있다. 일부 인스턴스에서, 메모리(903)는 프로세서(901)에 대해 원격으로 배치된 메모리들을 더 포함할 수 있다. 원격 메모리들은 네트워크를 통해 단말기에 연결될 수 있다. 네트워크의 예시는 인터넷, 인트라넷, 근거리 네트워크, 이동 통신 네트워크, 및 이들의 조합을 포함하지만 이에 제한되지는 않는다.
송신 장치(905)는 네트워크를 통해 데이터를 수신 또는 송신하도록 구성되고, 또한 프로세서와 메모리 사이에서 데이터를 전송하도록 구성될 수 있다. 네트워크의 특정 예시는 유선 네트워크 및 무선 네트워크를 포함할 수 있다. 일 예시에서, 송신 장치(905)는 네트워크 인터페이스 제어기(network interface controller, NIC)를 포함하고, 케이블을 통해 다른 네트워크 장치에 연결되어, 인터넷 또는 근거리 네트워크와 통신할 수 있다. 일 예시에서, 송신 장치(905)는 무선 주파수(radio frequency, RF) 모듈이며, 무선 방식으로 인터넷과 통신하도록 구성된다.
선택적으로, 메모리(903)는 응용 프로그램을 저장하도록 구성된다.
프로세서(901)는 송신 장치(905)를 통해, 메모리(903) 내에 저장된 응용 프로그램을 호출하여 다음 단계 - 각 가상 객체의 현재 시각 범위(visual range) 내의 상호 작용 가상 객체의 조밀도에 따라 액세스 가상 객체를 복수의 조밀도 등급으로 분류하는 단계 - 조밀도 등급의 레벨은 가상 객체의 조밀도의 값과 양의 상관관계가 있음 -; 자원 요청 쿼터(quota)를 각 조밀도 등급에 할당하는 단계 - 각 조밀도 등급에 대응하는 자원 요청 쿼터는, 제1 미리 설정된 지속기간 이내에 처리되도록 허용된, 조밀도 등급 내의 가상 객체에 의해 송신되는 자원 요청의 개수임 -; 제1 조밀도 등급 내의 가상 객체에 의해 송신되는 자원 요청이 제1 미리 설정된 지속기간 이내에 수신되고 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 큰 것으로 결정될 때, 자원 요청을 처리하고 제1 조밀도 등급에 대응하는 자원 요청 쿼터로부터 미리 설정된 값을 차감하는 단계; 및 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 작거나 같은 것으로 결정되면 자원 요청을 거절하는 단계 - 를 수행할 수 있다.
프로세서(901)는 또한, 다음 단계 - 제1 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 작거나 같고 제1 조밀도 등급보다 높은 다른 조밀도 등급에 대응하는 자원 요청 쿼터가 모두 미리 설정된 쿼터 임계치보다 작은 것으로 결정되면 자원 요청을 거절하는 단계 - 를 수행하도록 구성된다.
프로세서(901)는 또한 다음 단계 - 제1 조밀도 등급보다 높은 제2 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 크면 자원 요청을 처리하고, 제2 조밀도 등급에 대응하는 자원 요청 쿼터로부터 미리 설정된 값을 차감하는 단계 - 를 수행하도록 구성된다 :
프로세서(901)는 또한 다음 단계 - CPU의 현재 부하에 따라 각 조밀도 등급에 자원 요청 쿼터를 할당하는 단계 - 를 수행하도록 구성되고, 자원 요청 쿼터의 값은 CPU의 현재 부하의 값과 음의 상관관계가 있다.
프로세서(901)는 또한 다음 단계 - 제1 미리 설정된 기간이 경과한 후 각 조밀도 등급에 자원 요청 쿼터를 재할당하는 단계 - 를 수행하도록 구성된다
프로세서(901)는 또한 다음 단계 - 제2 미리 설정된 기간 이내에 타깃 가상 객체에 의해 송신된 모든 자원 요청이 거절되는 것이 검출될 때, 타깃 가상 객체에 의해 송신되는 다음 자원 요청의 수신 하에, 타깃 가상 객체에 의해 송신된 다음 자원 요청을 처리하는 단계 - 를 수행하도록 구성된다
프로세서(901)는 또한 다음 단계 - CPU의 부하가 미리 설정된 부하 임계치보다 작을 때, 제2 미리 설정된 지속기간을, 두 개의 연속 자원 요청이 송신되도록 허용된 간격의 미리 설정된 지속기간보다 작게 설정하는 단계 - 를 수행하도록 구성된다
프로세서(901)는 또한 다음 단계 - 각 가상 객체의 현재 시각 범위 내의 상호 작용 가상 객체의 조밀도를 획득하는 단계; 및 조밀도가 동일한 수치 범위에 속하는 가상 객체를 동일한 조밀도 등급으로 분류하는 단계 - 를 수행하도록 구성된다
당업자는, 도 9에 도시된 구조가 예시일 뿐이며, 전자 장치는 스마트 폰(안드로이드 폰 또는 iOS 폰과 같은), 태블릿 컴퓨터, 팜탑 컴퓨터, 모바일 인터넷 장치(Mobile Internet Device), PAD, 및 다른 단말 장치일 수 있음을 이해할 수 있다. 도 9는 전자 장치의 구조를 제한하지 않는다. 예를 들어, 전자 장치는 도 9에 도시된 것보다 더 많거나 적은 구성 요소(네트워크 인터페이스 및 디스플레이 장치와 같은)를 더 포함하거나, 또는 도 9에 도시된 것과 다른 구성을 가질 수 있다.
편리하고 간단한 설명을 위해, 앞서 설명한 시스템, 장치, 및 유닛의 상세한 작업 프로세스에 대해, 앞서 설명한 방법 내의 대응하는 프로세스가 참조될 수 있고, 세부사항은 여기서 다시 설명되지 않는다는 것이 당업자에 의해 명확하게 이해될 수 있다.
본 출원에 제공된 여러 실시예에서, 이해되어야 할 것은, 개시된 시스템, 장치, 및 방법은 다른 방식으로 구현될 수 있다는 것이다. 예를 들어, 설명된 장치 실시예는 단지 예시일 뿐이다. 예를 들어, 유닛 분할은 단지 논리적 기능 분할일 뿐이며, 실제 구현에는 다른 분할 방식이 있을 수 있다. 예를 들어, 복수의 유닛 또는 구성 요소가 다른 시스템에 결합 또는 통합되거나, 일부 특징이 무시되거나 수행되지 않을 수 있다. 또한, 표시된 또는 논의된 상호 커플링 또는 직접 커플링 또는 통신 연결은 일부 인터페이스를 통해 구현될 수 있다. 장치 또는 유닛 사이의 간접 커플링 또는 통신 연결은 전자적으로, 또는 기계적으로, 또는 다른 형태로 구현될 수 있다.
별도의 부분으로 설명된 유닛은 물리적으로 분리되거나 또는 물리적으로 분리되지 않을 수 있고, 유닛으로서 표시된 부분은 물리적 유닛이거나 또는 아닐 수 있으며, 한 위치에 위치하거나, 또는 복수의 네트워크 유닛 상에 분산될 수 있다. 유닛의 일부 또는 전부는 본 실시예의 해결책의 목적을 달성하기 위한 실제 필요에 따라 선택될 수 있다.
게다가, 본 출원의 실시예의 기능 유닛은 하나의 처리부에 통합되거나, 또는 각각의 유닛이 물리적으로 단독으로 존재하거나, 또는 둘 이상의 유닛이 하나의 유닛으로 통합될 수 있다. 통합 유닛은 하드웨어 형태, 또는 소프트웨어 기능 유닛 형태로 구현될 수 있다.
소프트웨어 기능 유닛의 형태로 구현되고 독립적인 제품으로서 판매 또는 사용될 때, 통합 유닛은 컴퓨터 판독 가능 저장 매체 내에 저장될 수 있다. 이러한 이해에 기초하여, 본 출원의 기술적 해결 방안의 본질은, 또는 종래 기술에 대해 기여하는 부분은, 또는 기술적 해결책의 일부 또는 전부는 소프트웨어 제품의 형태로 구현될 수 있다. 컴퓨터 소프트웨어 제품은 저장 매체 내에 저장되며, 컴퓨터 장치(개인용 컴퓨터, 서버 또는 네트워크 장치일 수 있음)로 하여금 본 출원의 실시예에서 설명된 방법의 단계의 전부 또는 일부를 수행하도록 지시하기 위한 몇 가지 명령을 포함한다. 앞서 설명한 저장 매체는, USB 플래시 드라이브, 또는 착탈식 하드 디스크, 또는 ROM(read-only memory), 또는 RAM(random access memory), 또는 자기 디스크, 또는 광학 디스크와 같은, 프로그램 코드를 저장할 수 있는 다양한 매체를 포함한다.
앞서 설명한 실시예는 본 출원을 제한하기보다는 본 출원의 기술적 해결 방안을 설명하기 위해 사용된다. 비록 본 출원이 앞서 설명한 실시예들을 참조하여 상세하게 설명되었지만, 당업자는 그들이 여전히 앞서 설명한 실시예에서 설명된 기술적 해결 방안을 수정하거나 그것의 일부 기술적 특징들을 동등하게 대체할 수 있다는 것을 이해해야한다. 이러한 수정 또는 대체는 대응하는 기술적 해결 방안의 본질이 본 출원의 실시예의 기술적 해결 방안의 사상 및 범위를 벗어나지 않도록 한다.
산업상 이용 가능성
본 출원의 실시예에서, 액세스 가상 객체는 각 가상 객체의 현재 시각 범위 내의 상호 작용 가상 객체의 조밀도에 따라 복수의 조밀도 등급으로 분류되고, 자원 요청 쿼터는 각 조밀도 등급에 할당되고, 조밀도 등급 내의 가상 객체에 의해 송신된 자원 요청이 미리 설정된 지속기간 이내에 수신될 때, 수신된 자원 요청은 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 큰 것으로 결정되면 처리되고, 미리 설정된 값이 미리 설정된 조밀도 등급에 대응하는 자원 요청 쿼터에서 차감되고, 조밀도 등급에 대응하는 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 작거나 같은 것으로 결정되면, 자원 요청이 거절된다. 본 출원의 실시예에서, 가상 객체는 조밀도 등급으로 분류될 수 있고, 자원 요청 쿼터는 각 조밀도 등급에 할당되며, 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 작거나 같으면, CPU는 조밀도 등급 내의 가상 객체에 의해 보내진 자원 요청의 처리를 거절하므로, CPU 처리가 과부하를 피할 수 있어서, 이에 의해 서버의 컴퓨팅 능력이 충분하지 않아서 발생하는 시간 지연 문제가 완화된다.

Claims (17)

  1. 자원 요청을 처리하는 방법으로서,
    각각의 액세스 가상 객체의 현재 시각 범위(visual range) 내의 상호 작용 가상 객체의 조밀도(density)에 따라 상기 액세스 가상 객체를 복수의 조밀도 등급으로 분류하는 단계 - 상기 조밀도 등급의 레벨은 상호 작용 가상 객체의 상기 조밀도의 값과 양의 상관관계가 있음 -;
    자원 요청 쿼터(quota)를 각각의 상기 복수의 조밀도 등급에 할당하는 단계 - 각각의 상기 복수의 조밀도 등급에 대응하는 상기 자원 요청 쿼터는, 제1 미리 설정된 지속기간 이내에 처리되도록 허용된, 상기 조밀도 등급 내의 상기 액세스 가상 객체에 의해 송신되는 자원 요청의 개수임 -; 및
    상기 복수의 조밀도 등급 중 제1 조밀도 등급 내의 상기 액세스 가상 객체에 의해 송신되는 자원 요청이 상기 제1 미리 설정된 지속기간 이내에 수신될 때,
    상기 제1 조밀도 등급에 대응하는 상기 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 큰 것으로 결정되면, 상기 자원 요청을 처리하고, 상기 제1 조밀도 등급에 대응하는 상기 자원 요청 쿼터로부터 미리 설정된 값을 차감하는 단계; 및
    상기 제1 조밀도 등급에 대응하는 상기 자원 요청 쿼터가 상기 미리 설정된 쿼터 임계치보다 작거나 같은 것으로 결정되면 상기 자원 요청을 거절하는 단계
    를 포함하는 자원 요청 처리 방법.
  2. 제1항에 있어서,
    상기 제1 조밀도 등급에 대응하는 상기 자원 요청 쿼터가 상기 미리 설정된 쿼터 임계치보다 작거나 같고, 상기 제1 조밀도 등급보다 높은 다른 조밀도 등급에 각각 대응하는 자원 요청 쿼터가 모두 상기 미리 설정된 쿼터 임계치보다 작은 것으로 결정되면 상기 자원 요청을 거절하는 단계
    를 더 포함하는 자원 요청 처리 방법.
  3. 제2항에 있어서,
    상기 제1 조밀도 등급보다 높은, 상기 복수의 조밀도 등급 중 제2 조밀도 등급에 대응하는 자원 요청 쿼터가 상기 미리 설정된 쿼터 임계치보다 크면, 상기 자원 요청을 처리하고 상기 제2 조밀도 등급에 대응하는 상기 자원 요청 쿼터로부터 상기 미리 설정된 값을 차감하는 단계
    를 더 포함하는 자원 요청 처리 방법.
  4. 제1항에 있어서,
    자원 요청 쿼터를 각각의 상기 복수의 조밀도 등급에 할당하는 단계는,
    CPU의 현재 부하에 따라 각각의 상기 복수의 조밀도 등급에 자원 요청 쿼터를 할당하는 단계를 포함하고, 상기 자원 요청 쿼터의 값은 상기 CPU의 상기 현재 부하의 크기와 음의 상관관계가 있는, 자원 요청 처리 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 제1 미리 설정된 지속기간이 경과한 이후 자원 요청 쿼터를 각각의 상기 복수의 조밀도 등급에 재할당하는 단계
    를 더 포함하는 자원 요청 처리 방법.
  6. 제1항 내지 제4항 중 어느 한 항에 있어서,
    제2 미리 설정된 지속기간 이내에 타깃 가상 객체에 의해 송신되는 모든 자원 요청이 거절되고 상기 타깃 가상 객체에 의해 송신되는 다음 자원 요청이 수신된 것으로 탐지될 때, 상기 타깃 가상 객체에 의해 송신된 상기 다음 자원 요청을 처리하는 단계
    를 더 포함하는 자원 요청 처리 방법.
  7. 제6항에 있어서,
    상기 CPU의 현재 부하가 미리 설정된 부하 임계치보다 작을 때, 상기 제2 미리 설정된 지속기간을 두 개의 연속된 자원 요청이 송신되도록 허용되는 간격의 미리 설정된 지속기간보다 짧게 설정하는 단계
    를 더 포함하는 자원 요청 처리 방법.
  8. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 액세스 가상 객체를 복수의 조밀도 등급으로 분류하는 단계는,
    각각의 상기 액세스 가상 객체의 상기 현재 시각 범위 내의 상호 작용 가상 객체의 상기 조밀도를 획득하는 단계; 및
    대응하는 조밀도가 동일한 수적 범위(numerical range)에 속하는 상기 액세스 가상 객체를 동일한 조밀도 등급으로 분류하는 단계
    를 포함하는, 자원 요청 처리 방법.
  9. 자원 요청을 처리하는 장치로서,
    하나 이상의 프로세서와, 프로그램 유닛을 저장하는 하나 이상의 메모리를 포함하고, 상기 프로그램 유닛은 상기 프로세서에 의해 실행되며, 상기 프로그램 유닛은,
    각각의 액세스 가상 객체의 현재 시각 범위(visual range) 내의 상호 작용 가상 객체의 조밀도에 따라 상기 액세스 가상 객체를 복수의 조밀도 등급으로 분류하도록 구성된 조밀도 등급 분할부 - 상기 조밀도 등급의 레벨은 상호 작용 가상 객체의 상기 조밀도의 값과 양의 상관관계가 있음 -;
    자원 요청 쿼터(quota)를 각각의 상기 복수의 조밀도 등급에 할당하도록 구성된 쿼터 할당부 - 각각의 복수의 조밀도 등급에 대응하는 상기 자원 요청 쿼터는, 제1 미리 설정된 지속기간 이내에 처리되도록 허용된, 상기 조밀도 등급 내의 상기 액세스 가상 객체에 의해 송신되는 자원 요청의 개수임 -;
    상기 복수의 조밀도 등급 중 제1 조밀도 등급 내의 상기 액세스 가상 객체에 의해 송신되는 자원 요청을 수신하도록 구성된 자원 요청 수신부; 및
    상기 제1 조밀도 등급 내의 상기 액세스 가상 객체에 의해 송신되는 자원 요청이 상기 제1 미리 설정된 지속기간 이내에 상기 수신부에 의해 수신될 때, 상기 제1 조밀도 등급에 대응하는 상기 자원 요청 쿼터가 미리 설정된 쿼터 임계치보다 큰 것으로 결정되면, 상기 자원 요청을 처리하고, 상기 제1 조밀도 등급에 대응하는 상기 자원 요청 쿼터로부터 미리 설정된 값을 차감하고;
    상기 제1 조밀도 등급에 대응하는 상기 자원 요청 쿼터가 상기 미리 설정된 쿼터 임계치보다 작거나 같은 것으로 결정되면 상기 자원 요청 쿼터를 거절하도록 구성된 자원 요청 처리부
    을 포함하는 자원 요청 처리 장치.
  10. 제9항에 있어서,
    상기 자원 요청 처리부는 또한, 상기 제1 조밀도 등급에 대응하는 상기 자원 요청 쿼터가 상기 미리 설정된 쿼터 임계치보다 작거나 같고, 상기 제1 조밀도 등급보다 높은 다른 조밀도 등급에 각각 대응하는 자원 요청 쿼터가 모두 상기 미리 설정된 쿼터 임계치보다 모두 작은 것으로 결정될 때 상기 자원 요청을 거절하도록 구성된, 자원 요청 처리 장치.
  11. 제10항에 있어서,
    상기 자원 요청 처리부는 또한, 상기 제1 조밀도 등급보다 높은 상기 복수의 조밀도 등급 중 제2 조밀도 등급에 대응하는 자원 요청 쿼터가 상기 미리 설정된 쿼터 임계치보다 클 때, 상기 자원 요청을 처리하고 상기 제2 조밀도 등급에 대응하는 상기 자원 요청 쿼터로부터 상기 미리 설정된 값을 차감하도록 구성된, 자원 요청 처리 장치.
  12. 제9항에 있어서,
    상기 쿼터 할당부는 CPU의 현재 부하에 따라 각각의 상기 복수의 조밀도 등급에 자원 요청 쿼터를 할당하도록 구성되고, 상기 자원 요청 쿼터의 값은 상기 CPU의 상기 현재 부하의 크기와 음의 상관관계가 있는, 자원 요청 처리 장치.
  13. 제9항 내지 제12항 중 어느 한 항에 있어서,
    상기 쿼터 할당부는 또한, 상기 제1 미리 설정된 지속기간이 경과한 이후 자원 요청 쿼터를 각각의 상기 복수의 조밀도 등급에 재할당하도록 구성된, 자원 요청 처리 장치.
  14. 제9항 내지 제12항 중 어느 한 항에 있어서,
    상기 자원 요청 처리부는 또한, 제2 미리 설정된 지속기간 이내에 타깃 가상 객체에 의해 송신되는 모든 자원 요청이 거절되고 상기 타깃 가상 객체에 의해 송신되는 다음 자원 요청이 수신된 것으로 탐지될 때, 상기 타깃 가상 객체에 의해 송신된 상기 다음 자원 요청을 처리하도록 구성된, 자원 요청 처리 장치.
  15. 제14항에 있어서,
    상기 CPU의 부하가 미리 설정된 부하 임계치보다 작을 때, 상기 제2 미리 설정된 지속기간을 두 개의 연속된 자원 요청이 송신되도록 허용되는 간격의 미리 설정된 지속기간보다 짧게 설정하도록 구성된, 설정 유닛
    을 포함하는, 자원 요청 처리 장치.
  16. 저장 매체로서,
    컴퓨터 프로그램이 상기 저장 매체 내에 저장되고, 상기 컴퓨터 프로그램은 구동될 때 청구항 제1항 내지 제8항 중 어느 하나의 항에 따른 자원 요청 처리 방법을 수행하도록 구성된, 저장 매체.
  17. 전자 장치로서,
    메모리 및 프로세서를 포함하고, 컴퓨터 프로그램이 상기 메모리 내에 저장되고, 상기 프로세서는 상기 컴퓨터 프로그램을 통해 청구항 제1항 내지 제8항 중 어느 하나의 항에 따른 자원 요청 처리 방법을 수행하도록 구성된, 전자 장치.
KR1020197030435A 2017-04-18 2018-04-12 자원 요청을 처리하는 방법 및 장치 KR102267572B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710253253.3A CN106991013B (zh) 2017-04-18 2017-04-18 一种对资源请求进行处理的方法及装置
CN201710253253.3 2017-04-18
PCT/CN2018/082844 WO2018192412A1 (zh) 2017-04-18 2018-04-12 一种对资源请求进行处理的方法及装置

Publications (2)

Publication Number Publication Date
KR20190126406A true KR20190126406A (ko) 2019-11-11
KR102267572B1 KR102267572B1 (ko) 2021-06-18

Family

ID=59416373

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197030435A KR102267572B1 (ko) 2017-04-18 2018-04-12 자원 요청을 처리하는 방법 및 장치

Country Status (6)

Country Link
US (1) US11216313B2 (ko)
EP (1) EP3584702B1 (ko)
JP (1) JP6847227B2 (ko)
KR (1) KR102267572B1 (ko)
CN (1) CN106991013B (ko)
WO (1) WO2018192412A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106991013B (zh) 2017-04-18 2018-09-07 腾讯科技(深圳)有限公司 一种对资源请求进行处理的方法及装置
CN110120963B (zh) * 2018-02-06 2022-08-12 斑马智行网络(香港)有限公司 一种数据处理方法、装置、设备和机器可读介质
CN109675321B (zh) * 2018-12-18 2022-02-15 网易(杭州)网络有限公司 游戏中同屏显示人数的控制方法和装置
CN109885405B (zh) * 2019-02-02 2021-11-12 珠海金山网络游戏科技有限公司 一种动态分配方法及系统、计算设备及存储介质
CN113051265A (zh) * 2019-12-27 2021-06-29 中信百信银行股份有限公司 一种降低关系型数据库表结构变更所带来损耗的方法、装置、计算机设备、和可读存储介质
CN111258751A (zh) * 2020-01-08 2020-06-09 北京松果电子有限公司 一种控制资源访问的方法、装置及介质
CN111298432B (zh) * 2020-01-16 2021-07-06 腾讯科技(深圳)有限公司 虚拟对象信息获取方法、装置、服务器及可读存储介质
CN111589140B (zh) * 2020-05-14 2023-03-14 腾讯科技(深圳)有限公司 虚拟对象的控制方法、装置、终端及存储介质
CN111711642A (zh) * 2020-07-15 2020-09-25 网易(杭州)网络有限公司 协议请求处理方法、装置、电子设备和存储介质
CN112138406A (zh) * 2020-09-24 2020-12-29 网易(杭州)网络有限公司 一种虚拟资源发放方法、装置、计算机设备和存储介质
CN112363839B (zh) * 2020-11-23 2024-03-15 腾讯科技(深圳)有限公司 一种资源请求处理方法、装置及服务器
CN113797549B (zh) * 2021-09-30 2024-05-10 上海完美时空软件有限公司 资源对象的处理方法、装置、计算机设备及存储介质
CN116643893B (zh) * 2023-07-27 2023-10-20 合肥中科类脑智能技术有限公司 算力任务的调度方法、调度装置、存储介质及服务器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080088041A (ko) * 2007-03-28 2008-10-02 삼성전자주식회사 자바 가상 머신 상에서 이뤄지는 애플리케이션 및 스레드의자원 관리 시스템 및 방법
KR20110080735A (ko) * 2010-01-07 2011-07-13 삼성전자주식회사 컴퓨팅 시스템 및 방법
KR20120117018A (ko) * 2009-11-20 2012-10-23 마이크로소프트 코포레이션 자원 속성에 기초한 자원 액세스의 제어
KR20140027518A (ko) * 2011-07-27 2014-03-06 알까뗄 루슨트 클라우드 환경 내 가상 자원들의 할당을 위한 방법 및 장치
WO2017035738A1 (zh) * 2015-08-31 2017-03-09 华为技术有限公司 一种资源管理方法及装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020049690A1 (en) * 2000-06-16 2002-04-25 Masanori Takano Method of expressing crowd movement in game, storage medium, and information processing apparatus
GB0302926D0 (en) * 2003-02-08 2003-03-12 Grex Games Ltd System architecture and engine for massively multi-user operation
JP4711223B2 (ja) * 2005-08-02 2011-06-29 株式会社セガ 画像生成プログラム、記憶媒体、画像処理方法及び画像処理装置
US20070129126A1 (en) * 2005-10-14 2007-06-07 Leviathan Entertainment, Llc Method and System for Allocating Resources in a Video Game
CN101126991A (zh) * 2006-08-18 2008-02-20 腾讯科技(深圳)有限公司 一种在网络游戏中为用户分配游戏资源的方法及系统
US8887072B2 (en) * 2007-12-07 2014-11-11 Orange Method of managing a set of virtual environment control entities, device, and corresponding computer program product
KR101238575B1 (ko) * 2008-07-22 2013-02-28 소니 온라인 엔터테인먼트 엘엘씨 컴퓨터 판독가능 매체
US8972870B2 (en) * 2009-08-27 2015-03-03 International Business Machines Corporation Providing alternative representations of virtual content in a virtual universe
US9024977B2 (en) * 2010-08-02 2015-05-05 International Business Machines Corporation Resizing objects in regions of virtual universes
US8708790B2 (en) * 2011-06-24 2014-04-29 Zynga Inc. Method of operating an online game using consolidated game objects
JP5755064B2 (ja) * 2011-07-08 2015-07-29 株式会社ドワンゴ 会場設置ディスプレイシステム
US10016686B2 (en) * 2012-01-23 2018-07-10 Konami Digital Entertainment Co., Ltd. Game control device, game control method, a non-transitory computer-readable recording medium, and game system
CN103873457A (zh) * 2012-12-17 2014-06-18 人人游戏网络科技发展(上海)有限公司 用于游戏服务器间负载均衡的方法和设备
EP2745892B1 (en) 2012-12-21 2018-12-12 Dassault Systèmes Partition of a 3D scene into a plurality of zones processed by a computing resource
CN103218265B (zh) * 2013-05-06 2016-04-27 杭州电子科技大学 基于空间密度聚类的并行式虚拟角色划分方法
US9628332B2 (en) * 2013-05-20 2017-04-18 Microsoft Technology Licensing, Llc Resource allocation to game titles in a remote gaming environment
US9295915B2 (en) * 2013-05-20 2016-03-29 Microsoft Technology Licensing, Llc Game availability in a remote gaming environment
CN105391758B (zh) * 2015-10-09 2019-07-02 天脉聚源(北京)教育科技有限公司 一种局域网中资源分配的方法和装置
CN106991013B (zh) * 2017-04-18 2018-09-07 腾讯科技(深圳)有限公司 一种对资源请求进行处理的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080088041A (ko) * 2007-03-28 2008-10-02 삼성전자주식회사 자바 가상 머신 상에서 이뤄지는 애플리케이션 및 스레드의자원 관리 시스템 및 방법
KR20120117018A (ko) * 2009-11-20 2012-10-23 마이크로소프트 코포레이션 자원 속성에 기초한 자원 액세스의 제어
KR20110080735A (ko) * 2010-01-07 2011-07-13 삼성전자주식회사 컴퓨팅 시스템 및 방법
KR20140027518A (ko) * 2011-07-27 2014-03-06 알까뗄 루슨트 클라우드 환경 내 가상 자원들의 할당을 위한 방법 및 장치
WO2017035738A1 (zh) * 2015-08-31 2017-03-09 华为技术有限公司 一种资源管理方法及装置

Also Published As

Publication number Publication date
US11216313B2 (en) 2022-01-04
KR102267572B1 (ko) 2021-06-18
EP3584702A4 (en) 2020-12-16
JP6847227B2 (ja) 2021-03-24
US20190303201A1 (en) 2019-10-03
EP3584702A1 (en) 2019-12-25
EP3584702B1 (en) 2023-12-06
CN106991013B (zh) 2018-09-07
CN106991013A (zh) 2017-07-28
JP2020502684A (ja) 2020-01-23
WO2018192412A1 (zh) 2018-10-25

Similar Documents

Publication Publication Date Title
KR102267572B1 (ko) 자원 요청을 처리하는 방법 및 장치
KR101540631B1 (ko) 가상 클러스터의 동적 확장 시스템, 방법 및 그 프로그램이 저장된 기록매체
CN109783224B (zh) 基于负载调配的任务分配方法、装置及终端设备
US9295915B2 (en) Game availability in a remote gaming environment
US9442763B2 (en) Resource allocation method and resource management platform
US10091281B1 (en) Multi-user application host-system selection system
US9433862B2 (en) Dynamic allocation of computing resources in remote gaming environment
US20150196841A1 (en) Load balancing system and method for rendering service in cloud gaming environment
CN110474966B (zh) 处理云平台资源碎片的方法及相关设备
CN111190745A (zh) 一种数据处理方法、装置及计算机可读存储介质
CN110147277B (zh) 一种资源动态部署方法、装置、服务器及存储介质
CN111135586A (zh) 游戏匹配方法、游戏匹配装置、存储介质与电子设备
CN104572276B (zh) 一种基于云计算的并发数据处理方法
US10238971B2 (en) Dynamic quality of service management in multiplayer gaming
CN111249747B (zh) 一种游戏中的信息处理方法及装置
CN112398957B (zh) 服务器的调度方法和装置、存储介质及电子设备
CN113486042B (zh) 数据处理方法、装置、计算机可读介质及电子设备
CN112311689B (zh) 突发流量的分流方法、计算机设备及可读存储介质
CN112506672B (zh) 面向虚拟gpu的云手机在线调度与迁移的方法及装置
CN110496387A (zh) 游戏优化方法、装置、移动终端及存储介质
CN112363839B (zh) 一种资源请求处理方法、装置及服务器
Jung et al. A time-driven adaptive mecahnism for cloud resource allocation
Jang et al. An efficient load balancing mechanism in distributed virtual environments
CN115430137A (zh) 一种游戏进程的处理方法、装置、计算机设备及存储介质
CN112333255A (zh) 负载均衡调度方法、装置、调度服务器及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant