KR102500069B1 - 멀티 플레이어 룸을 제공하는 방법 및 장치, 그리고 디바이스 및 매체 - Google Patents

멀티 플레이어 룸을 제공하는 방법 및 장치, 그리고 디바이스 및 매체 Download PDF

Info

Publication number
KR102500069B1
KR102500069B1 KR1020217025419A KR20217025419A KR102500069B1 KR 102500069 B1 KR102500069 B1 KR 102500069B1 KR 1020217025419 A KR1020217025419 A KR 1020217025419A KR 20217025419 A KR20217025419 A KR 20217025419A KR 102500069 B1 KR102500069 B1 KR 102500069B1
Authority
KR
South Korea
Prior art keywords
dedicated server
cloud
cloud room
program
room
Prior art date
Application number
KR1020217025419A
Other languages
English (en)
Other versions
KR20210113337A (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 KR20210113337A publication Critical patent/KR20210113337A/ko
Application granted granted Critical
Publication of KR102500069B1 publication Critical patent/KR102500069B1/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/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • 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
    • 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/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • 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/45Controlling the progress of the video game
    • A63F13/48Starting a game, e.g. activating a game device or waiting for other players to join a multiplayer session
    • 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/70Game security or game management aspects
    • 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/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • 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/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/792Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for payment purposes, e.g. monthly subscriptions
    • 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/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/795Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for finding other players; for building a team; for providing a buddy list
    • 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/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • 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/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5051Service on demand, e.g. definition and deployment of services in real time
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • 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
    • 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/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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
    • 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/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

컴퓨터 네트워크 분야와 관련된, 멀티 플레이어 룸을 제공하는 방법 및 장치, 그리고 디바이스 및 매체가 개시된다. 상기 방법은: 클라이언트에 의해 송신된 클라우드 룸에 대한 생성 요청을 수신하는 단계 - 생성 요청은 클라우드 룸의 구성 정보를 운반하고, 클라우드 룸은 멀티 플레이어 게임을 플레이하기 위해 적어도 2개의 클라이언트에 의해 사용됨 -; 구성 정보에 따라 클라우드 서버에 클라우드 룸을 생성 및 구성하는 단계 - 클라우드 룸은 멀티 플레이어 게임을 실행하기 위해 사용됨 -; 클라이언트에 의해 송신된 클라우드 룸에 대한 액세스 요청을 수신하는 단계; 및 액세스 요청에 따라 클라이언트가 클라우드 룸에 액세스할 수 있도록 클라우드 룸을 인에이블링하는 단계를 포함한다. 클라우드 룸의 구성 정보를 운반하는 생성 요청은 클라우드 룸을 생성하기 위해 클라이언트에 의해 클라우드 서버에 송신되며, 클라이언트는 클라우드 룸의 구성 정보를 클라우드 서버에 송신하며, 이에 따라 클라우드 룸의 생성 수단을 단순화한다.

Description

멀티 플레이어 룸을 제공하는 방법 및 장치, 그리고 디바이스 및 매체
본 출원은, 2019년 6월 28일에 출원되고 발명의 명칭이 "멀티 플레이어 룸을 제공하는 방법 및 장치, 디바이스 그리고 매체"인 중국 특허 출원 번호 제201910578240.2호에 대한 우선권을 주장하는 바이며, 상기 문헌의 내용은 그 전체로서 원용에 의해 본 명세서에 포함된다.
본 출원은 컴퓨터 네트워크 분야에 관한 것으로, 특히 멀티 플레이어 룸(multi-player room)을 제공하는 방법 및 장치, 디바이스 및 매체에 관한 것이다.
멀티 플레이어 게임은 네트워크를 통해 상호 작용하고 경쟁하기 위해 적어도 2명의 사용자를 연결하는 게임 유형이다. 네트워크는 P2P 네트워크(P2P Network) 구조로 형성된 네트워크 및 근거리 통신망을 포함한다.
P2P 네트워크를 통한 멀티 플레이어 서비스를 위한 멀티 플레이어 게임에서 사용자는 다른 사용자와 게임을 할 수 있는 멀티 플레이어 룸을 생성한다. 멀티 플레이어 룸을 생성하는 사용자는 멀티 플레이어 룸의 소유자 또는 관리자이며, 멀티 플레이어 룸 상에서, 추가, 삭제, 수정, 폐쇄, 멀티 플레이어 룸이 수용할 수 있는 구성원(member) 수의 설정 등의 작동(operation)을 수행할 수 있다. 연결된 사용자가 사용하는 단말들로부터, 하나의 단말이 P2P 네트워크의 서버로서 선택된다. 선택된 단말은 멀티 플레이어 게임의 모든 사용자가 게임을 원활하게 플레이할 수 있도록, 더 높은 하드웨어 구성을 필요로 한다.
위와 같은 상황에서, 선택된 단말의 하드웨어 성능이 나쁘거나 단말이 위치한 네트워크 환경이 불량하여 멀티 플레이어 룸의 성능이 저하되면, 멀티 플레이어 게임에서의 사용자는 정상적으로 게임을 플레이하는 것이 불가능할 수 있다.
본 출원의 실시 예는 멀티 플레이어 게임에서의 사용자가 게임을 보다 원활하게 플레이할 수 있도록, 멀티 플레이어 룸의 성능을 향상시키고, 서버로서의 단말의 하드웨어 성능에 대한 요건 및 단말이 위치한 네트워크 환경에 대한 요건을 효과적으로 감소시킬 수 있는, 멀티 플레이어 룸을 제공하는 방법 및 장치 그리고 디바이스 및 매체를 제공한다. 기술적 솔루션은 다음과 같다.
본 출원의 측면에 따르면, 클라우드 서버에 적용할 수 있는, 멀티 플레이어 룸을 제공하는 방법이 제공되며, 상기 방법은, 클라이언트로부터 클라우드 룸에 대한 생성 요청(creation request)을 수신하는 단계 - 상기 생성 요청은 상기 클라우드 룸의 구성 정보를 운반하며(carry), 상기 클라우드 룸은 멀티 플레이어 서비스를 수행하기 위해 적어도 2개의 클라이언트에 의해 사용됨 -; 상기 구성 정보에 따라 상기 클라우드 서버에 상기 클라우드 룸을 생성하고 구성하는 단계; 상기 클라이언트로부터 상기 클라우드 룸에 대한 액세스 요청을 수신하는 단계; 및 상기 액세스 요청에 따라 상기 클라우드 룸을 시작하고, 상기 클라이언트를 상기 클라우드 룸에 연결하는 단계를 포함한다.
본 출원의 다른 측면에 따르면,멀티 플레이어 룸을 제공하는 장치가 제공되며, 상기 장치는 클라우드 룸 생성 모듈(cloud room generation module)을 포함하고, 상기 클라우드 룸 생성 모듈은, 클라이언트로부터 클라우드 룸에 대한 생성 요청을 수신하도록 구성되고, 상기 생성 요청은 상기 클라우드 룸의 구성 정보를 운반하며, 상기 클라우드 룸은 멀티 플레이어 서비스를 수행하기 위해 적어도 2개의 클라이언트에 의해 사용되고; 상기 클라우드 룸 생성 모듈은, 상기 구성 정보에 따라 상기 클라우드 서버에 상기 클라우드 룸을 생성하고 구성하도록 구성되며; 상기 클라우드 룸 생성 모듈은, 상기 클라이언트로부터 상기 클라우드 룸에 대한 액세스 요청을 수신하도록 구성되고; 그리고 상기 클라우드 룸 생성 모듈은, 상기 액세스 요청에 따라 상기 클라우드 룸을 시작하고, 상기 클라이언트를 상기 클라우드 룸에 연결하도록 구성된다.
본 출원의 또 다른 측면에 따르면, 컴퓨터 디바이스가 제공되며, 상기 컴퓨터 디바이스는, 프로세서; 및 적어도 하나의 명령, 또는 적어도 하나의 프로그램, 또는 코드 세트 또는 명령 세트를 저장하는 메모리를 포함하고, 상기 적어도 하나의 명령, 또는 상기 적어도 하나의 프로그램, 상기 코드 세트 또는 상기 명령 세트가 상기 프로세서에 의해 로드되고 실행되어, 위의 측면에서 설명된 멀티 플레이어 룸을 제공하는 방법을 구현한다.
본 출원의 또 다른 측면에 따르면, 컴퓨터가 판독 가능한 저장 매체가 제공되며, 상기 저장 매체는, 적어도 하나의 명령, 또는 적어도 하나의 프로그램, 또는 코드 세트 또는 명령 세트를 저장하며, 상기 적어도 하나의 명령, 또는 상기 적어도 하나의 프로그램, 상기 코드 세트 또는 상기 명령 세트가 프로세서에 의해 로드되고 실행되어, 위의 측면에서 설명된 멀티 플레이어 룸을 제공하는 방법을 구현한다.
본 출원의 또 다른 측면에 따르면, 컴퓨터 프로그램 제품이 제공되며, 상기 컴퓨터 프로그램 제품은 적어도 하나의 명령, 또는 적어도 하나의 프로그램, 또는 코드 세트 또는 명령 세트를 포함하며, 상기 적어도 하나의 명령, 또는 상기 적어도 하나의 프로그램, 상기 코드 세트 또는 상기 명령 세트가 프로세서에 의해 로드되고 실행되어, 위의 측면에서 설명된 멀티 플레이어 룸을 제공하는 방법을 구현한다.
본 출원의 실시 예에서 제공되는 기술적 솔루션은 최소한 다음과 같은 유익한 효과를 획득한다.
클라이언트는 클라우드 룸의 구성 정보를 운반하는 생성 요청을 클라우드 서버에 전송하여 클라우드 룸을 생성하므로, 클라이언트가 클라우드 룸에서 멀티 플레이어 서비스를 수행할 수 있다. 상이한 유형의 멀티 플레이어 서비스를 수행하는 것이 바람직하다고 결정할 때 또는 이에 응답하여, 클라이언트는 멀티 플레이어 서비스의 유형에 대응하는 구성 정보를 클라우드 서버에 전송하기만 하면 되므로, 상이한 유형의 멀티 플레이어 서비스가 클라우드 룸에서 수행될 수 있으며, 이는 클라이언트가 클라우드 룸을 생성하는 방식을 단순화하고, 클라이언트가 신규 룸을 생성하기 위해 생성 요청을 반복적으로 전송할 필요가 없다.
도 1은 본 출원의 예시적인 실시 예에 따른 클라우드 서버의 구현 환경의 블록도이다.
도 2는 본 출원의 예시적인 실시 예에 따른 클라우드 서버의 시스템 구조의 블록도이다.
도 3은 본 출원의 예시적인 실시 예에 따른 멀티 플레이어 룸을 제공하는 방법의 흐름도이다.
도 4는 본 출원의 예시적인 실시 예에 따른 클라우드 룸을 생성하고 구성하는 흐름도이다.
도 5는 본 출원의 예시적인 실시 예에 따른 클라우드 룸의 구성 정보의 인터페이스의 개략도이다.
도 6은 본 출원의 다른 예시적인 실시 예에 따른 클라우드 룸의 구성 정보의 인터페이스의 개략도이다.
도 7은 본 출원의 예시적인 실시 예에 따른 클라우드 룸의 커버 인터페이스의 개략도이다.
도 8은 본 출원의 예시적인 실시 예에 따른 클라우드 룸 로그인 인터페이스의 개략도이다.
도 9는 본 출원의 다른 예시적인 실시 예에 따른 클라우드 서버의 구성 정보의 인터페이스의 개략도이다.
도 10은 본 출원의 예시적인 실시 예에 따른 클라우드 룸을 구매하는 방법의 흐름도이다.
도 11은 본 출원의 예시적인 실시 예에 따른 클라우드 룸을 생성하고 구성하는 시스템의 블록도이다.
도 12는 본 출원의 예시적인 실시 예에 따른 전용 서버 프로그램을 설치하는 방법의 흐름도이다.
도 13은 본 출원의 다른 예시적인 실시 예에 따른 전용 서버 관리 모듈과 전용 서버 프로그램 제어 모듈 사이의 통신 흐름도이다.
도 14는 본 출원의 다른 예시적인 실시 예에 따른 전용 서버 프로그램을 설치하는 방법의 흐름도이다.
도 15는 본 출원의 예시적인 실시 예에 따른 전용 서버 프로그램의 상태를 획득하는 시스템 구조의 블록도이다.
도 16은 본 출원의 예시적인 실시 예에 따른 클라우드 룸을 모니터링하는 전용 서버 모니터링 모듈의 시스템 구조의 블록도이다.
도 17은 본 출원의 다른 예시적인 실시 예에 따른 멀티 플레이어 룸을 제공하는 장치의 개략적인 구조도이다.
도 18은 본 출원의 예시적인 실시 예에 따른 서버의 장치 구조의 개략도이다.
먼저, 본 출원의 실시 예에 관련된 용어가 소개된다.
P2P 네트워크(peer-to-peer network, P2P Network) 아키텍처는 피어(peer) 간에 작업(task)과 워크로드(workload)를 분할하는(partition) 분산 애플리케이션 아키텍처를 말하며, 이는 애플리케이션 계층에서 P2P 컴퓨터 모델에 의해 형성된 네트워킹 또는 네트워크 모드이다. 클라이언트-서버 모델에서, 데이터는 전용 서버(proprietary server)를 사용하여 배포되고, 복수의 클라이언트가 서버로부터 데이터를 획득한다. P2P 네트워크 아키텍처에서, 각 클라이언트는 서버이고 중앙 집중식 서버가 없으며, 각 클라이언트는 다른 클라이언트로 서비스를 요청(데이터를 획득)하거나 다른 클라이언트에게 서비스를 제공(데이터를 전송)할 수 있다.
멀티 플레이어 게임(multi-player game)은 네트워크를 통해 게임을 플레이하기 위해 적어도 2명의 사용자를 연결하는 게임이다. 한 플레이어가 게임에 룸(room)을 생성하고 다른 플레이어가 룸에 참여하여 함께 플레이한다. 룸을 생성한 플레이어는 룸의 소유자 또는 관리자이며, 예를 들어, 룸의 이름을 수정하고 룸이 수용할 수 있는 구성원의 수를 수정하는 등 룸을 관리할 수 있다. 소유자가 사용하는 컴퓨터는 룸에서의 물리적 서버와 동일하며, 다른 플레이어는 소유자가 사용하는 컴퓨터로부터 데이터를 획득한다.
멀티 플레이어 서비스는 네트워크를 통해 연결된 적어도 2명의 사용자가 공동으로 처리하는 이벤트 또는 서비스이다. 사용자가 클라우드 룸(cloud room)을 생성하고, 이벤트를 처리하는 다른 사용자가 클라우드 룸에 참여하여 이벤트를 처리한다. 룸을 생성한 사용자는 룸의 소유자 또는 관리자이며, 예를 들어, 룸의 이름을 수정하고, 룸이 수용할 수 있는 구성원의 수를 수정하는 등 룸을 관리할 수 있다.
클라우드 서버(Elastic Computer Service, ESC)는 간단하고 효율적이며 탄력적으로 확장 가능한 컴퓨팅 서비스를 제공할 수 있는 서버이다. 클라우드 서버의 관리는 물리적 서버보다 간단하고 효율적이다. 사용자는 구매 또는 임대를 통해 클라우드 서버를 사용할 수 있는 권한(right)을 획득하고, 하드웨어를 미리 구매할 필요없이 여러 클라우드 서버에서 컴퓨팅 리소스(resource)를 빠르게 생성하거나 해제할 수 있다.
클라우드 룸은 클라우드 서버에 구축된 룸이다. 멀티 플레이어 서비스에서, 컴퓨팅 리소스와 스토리지 리소스의 용량이 더 강한 클라우드 서버를 사용하여 룸을 구축하는 것에 의해, 사용자는 멀티 플레이어 서비스를 위한 자신의 클라우드 룸을 생성하므로, 사용자가 클라우드 서버를 통해 서로 통신할 수 있으며, 사용자에게 더 나은 게임 경험을 제공한다. 멀티 플레이어 서비스에서, 컴퓨팅 리소스와 스토리지 리소스의 용량이 더 강한 클라우드 서버를 사용하여 클라우드 룸을 구축함으로써, 사용자가 클라우드 서버를 통해 서로 통신할 수 있고, 사용자를 위해 이벤트를 공동으로 처리할 수 있는 더 나은 환경을 제공할 수 있다. 본 출원에서 제공되는 실시 예에서, 클라우드 룸은 구매, 임대, 요구(asking for) 또는 증정(giving away), 추첨 참여 등을 통해 액세스할 수 있다.
하트비트(heartbeat) 신호는 두 통신 당사자(송신기) 중 하나가 일정한 간격으로 데이터 패킷을 다른 당사자에게 전송하고, 다른 당사자(수신기)가 요건에 따라, 정보 수신시 데이터 패킷을 송신기에 다시 전송할지를 판정하는 것을 의미하며, 데이터 패킷은 정보를 운반한다. 하트비트 신호는 두 통신 당사자가 여전히 온라인 상태이고 오랫동안 서로 통신하지 않고 통신할 수 있는지 또는 두 당사자 사이의 통신 회선(communication line)이 끊어졌는지를 확인하는 데 사용된다.
본 출원에서 제공되는 방법은 멀티 플레이어 서비스 또는 멀티 플레이어 게임에서 멀티 플레이어 룸을 생성하는 데 적용될 수 있다. 이 방법은 멀티 플레이어 룸의 구현 환경과 조합하여 아래에서 설명된다.
도 1은 본 출원의 예시적인 실시 예에 따른 멀티 플레이어 룸을 제공하는 방법의 구현 환경의 블록도이다. 구현 환경은 단말(120), 클라우드 서버 클러스터(140) 및 통신 네트워크(160)를 포함한다.
단말(120)은 무선 네트워크 또는 유선 네트워크(160)를 통해 클라우드 서버 클러스터(140)와 연결된다. 멀티 플레이어 서비스 또는 멀티 플레이어 게임에 대응하는 애플리케이션 프로그램이 단말(120)에 설치되어 작동하며, 애플리케이션 프로그램은 다른 사용자와 연결하는 기능도 가진다.
선택적으로, 멀티 플레이어 서비스 또는 멀티 플레이어 게임의 운영을 지원하는 애플리케이션 프로그램이 단말(120)에 설치되어 작동하며, 제1 계정 또는 제2 계정이 애플리케이션 프로그램에 로그인하기 위해 사용될 수 있다.
선택적으로, 단말(120)은 스마트 폰, 게임 콘솔, 데스크톱 컴퓨터, 태블릿 컴퓨터, 전자 책 리더, 동영상 전문가 그룹 오디오 레이어 III(MP3) 플레이어, 동영상 전문가 그룹 레이어 IV(MP4) 플레이어 및 노트북 컴퓨터 중 적어도 하나일 수 있다.
클라우드 서버 클러스터(140)는 하나의 서버, 복수의 서버, 클라우드 컴퓨팅 플랫폼, 가상화 센터 중 적어도 하나를 포함한다. 클라우드 서버 클러스터(140)는 증강 현실 기능을 갖는 애플리케이션을 위한 백엔드 서비스를 제공하도록 구성된다. 선택적으로, 클라우드 서버 클러스터(140)는 1차 컴퓨팅(primary computing)을 담당하고, 단말(120)은 2차 컴퓨팅(secondary computing)을 담당한다. 다르게는, 클라우드 서버 클러스터(140)는 2차 컴퓨팅 동작(work)을 담당하고, 단말(120)은 1차 컴퓨팅을 담당한다. 다르게는, 클라우드 서버 클러스터(140)와 단말(120) 사이에 분산 컴퓨팅 아키텍처를 채택하여 협업 컴퓨팅(collaborative computing)을 수행할 수 있다.
선택적으로, 클라우드 서버 클러스터(140)는 액세스 서버 및 백엔드 서버를 포함한다. 액세스 서버는 액세스 서비스 및 정보 송수신 서비스를 단말(120)에 제공하고, 단말(120)과 백엔드 서버 사이에 유효한 정보를 전달하도록(forward) 구성된다. 백엔드 서버는 통신 서비스, 협업 서비스, 매칭(matching) 서비스, 순위(ranking) 생성 서비스, 온라인 서비스 및 계정 관리 서비스 중 적어도 하나와 같은 애플리케이션의 백엔드 서비스를 제공하도록 구성되며, 적어도 하나의 백엔드 서버가 있을 수 있다. 복수의 백엔드 서버가 있을 때, 다음 형식 중 적어도 하나가 있다. 서로 다른 서비스를 제공하도록 구성된 백엔드 서버가 적어도 2개 있고, 동일한 서비스를 제공하도록 구성된 백엔드 서버가 적어도 2개 있으며, 이는 본 출원의 실시 예에서 제한되지 않는다.
무선 또는 유선 네트워크(160)의 경우, 유선 네트워크는 대도시 네트워크(metropolitan area network), 근거리 네트워크(local area network), 광섬유 네트워크 등일 수 있고, 무선 네트워크는 이동 통신 네트워크(예를 들어, 2G, 3G, 4G 또는 5G 중 적어도 하나) 또는 무선 충실도(wireless fidelity, Wi-Fi) 네트워크일 수 있다.
도 2는 본 출원의 예시적인 실시 예에 따른 클라우드 서버의 구조의 블록도이다. 클라우드 서버의 구조는 도 1에 도시된 클라우드 서버 클러스터의 구조이다. 클라우드 서버(100)에서 클라우드 룸을 생성하고 구성할 수 있다. 클라우드 룸은 적어도 2개의 클라이언트가 멀티 플레이어 서비스 또는 멀티 플레이어 게임을 수행하는 데 사용된다. 클라우드 서버(100)는 전용 서버(proprietary server) 구매 모듈(101), 전용 서버 관리 모듈(102), 전용 서버 프로그램 제어 모듈(103), 전용 서버 프로그램 배포(distribution) 모듈(104), 전용 서버 데이터베이스(105) 및 전용 서버 모니터링 모듈(106)을 포함한다.
전용 서버 관리 모듈(102)은 클라우드 룸을 관리 또는 배치하기(deploy) 위한 명령(instruction)을 생성하고, 사용자가 구매한 클라우드 룸 목록을 보도록 구성된 모듈로, 클라이언트가 전송한 요청을 수신하고 정보를 클라이언트에 전송할 수 있다. 전용 서버 관리 모듈(102)은 사용자와 전용 서버 프로그램 제어 모듈(103) 사이의 정보 전달을 위한 매체이다.
전용 서버 프로그램 제어 모듈(103)은 클라우드 룸을 열거나(open) 폐쇄하거나(close) 또는 재시작하고, 프로그램을 설치하며, 프로그램을 다운로드하고, 프로그램을 수정하며, 프로그램을 추가하고, 프로그램을 삭제하며, 프로그램을 업데이트할 수 있는 모듈이며, 전용 서버 관리 모듈(102)에 의해 전송된 명령을 수신하고 대응하는 명령에 따라 클라우드 룸에 대한 관련 작동을 수행한다.
전용 서버 프로그램은 멀티 플레이어 서비스 플랫폼 또는 게임 플랫폼, 게임 개발자 및 게임 공급자가 제공하는 프로그램이다. 이 프로그램은 일반적으로 설치 패키지 형태로 클라우드 서버에서의 전용 서버 프로그램 제어 모듈에 제공된다.
전용 서버 구매 모듈(101)은 사용자가 클라우드 룸을 구매하거나 임대할 때 예를 들어, 사용자의 구매 요청을 수신하고, 구매 주문을 생성하며, 결제 서비스를 제공하고, 전용 프로그램 관리 모듈에게 클라우드 룸을 구매한 사용자에게 클라우드 룸을 할당하도록 명령하는 등의 서비스를 사용자에게 제공할 수 있는 모듈이다.
전용 서버 모니터링 모듈(106)은 클라우드 룸의 작동 상태(operation status)를 모니터링하는 모듈로, 클라우드 룸의 하트비트 신호(즉, 작동 상태)를 모니터링하고, 클라우드 룸이 비정상적으로 작동할 때 비정상 조건을 사용자에게 상기시키거나(remind), 또는 필요에 따라 사용자에게 전용 서버 프로그램을 업데이트하도록 상기시키거나, 또는 사용자의 클라우드 룸을 사용하는 권한의 만료에 따라 갱신하도록(renew) 사용자에게 상기시킬 수 있다.
전용 서버 데이터베이스(105)는 클라우드 룸의 관련 정보, 예를 들어 클라우드 룸의 작동 상태, 클라우드 룸의 구성 정보, 전용 서버 프로그램의 수정 정보 등을 저장하는 데이터베이스이다.
전용 서버 프로그램 배포 모듈(104)은 멀티 플레이어 서비스 플랫폼 또는 게임 플랫폼, 게임 개발자 또는 게임 공급자가 제공하는 프로그램을 저장하도록 구성된 모듈이다. 전용 서버 프로그램 제어 모듈(103)은 멀티 플레이어 게임의 유형에 대응하는 전용 서버 프로그램에 대해 전용 서버 프로그램 배포 모듈(104)에 질의한다(query).
일부 실시 예에서, 클라이언트(107)는 구매 요청(purchase request)을 클라우드 서버(100)의 전용 서버 구매 모듈(101)에 전송하고, 클라이언트(107)는 다르게는 임대 요청(lease request)을 전용 서버 구매 모듈(101)에 전송할 수 있다. 클라이언트로부터의 요청의 유형은 본 출원에서 제한되지 않는다. 전용 서버 구매 모듈(101)은 게임 플랫폼 상에서 클라이언트의 구매 요청에 따라 구매 주문(purchase order)을 생성하고, 구매 주문을 전용 서버 관리 모듈(102)에 전송한다. 클라이언트(107)의 구매 요청은 클라우드 룸의 생성 요청(creation request)이기도 하고, 클라이언트(107)의 생성 요청은 클라우드 룸의 구성 정보를 운반한다. 전용 서버 관리 모듈(102)은 클라이언트(107)의 지불된 구매 주문(paid purchase order) 및 클라우드 룸의 구성 정보에 따라 설치 명령(installation instruction)을 전용 서버 프로그램 제어 모듈(103)에 전송한다. 설치 명령은 멀티 플레이어 서비스 또는 멀티 플레이어 게임에 대응하는 전용 서버 프로그램(108)을 클라우드 룸에 설치하기 위해 전용 서버 프로그램 제어 모듈(103)에 의해 사용된다. 지불된 구매 주문은 결제가 이루어진 구매 주문이다. 전용 서버 프로그램(108)은 멀티 플레이어 서비스 플랫폼 또는 게임 플랫폼, 게임 개발자 및 게임 공급자에 의해 제공된다.
선택적으로, 전용 서버 프로그램은 게임 프로그램, 또는 멀티 플레이어 서비스를 지원하는 프로그램, 또는 협업 프로그램, 또는 협업 기능을 지원하는 프로그램이다. 선택적으로, 전용 서버 프로그램은 멀티 플레이어 서비스 또는 멀티 플레이어 게임 애플리케이션 프로그램, 멀티 플레이어 서비스 또는 멀티 플레이어 게임 애플리케이션 프로그램의 설치 패키지 또는 멀티 플레이어 서비스 또는 멀티 플레이어 게임 프로그램의 압축 패키지이다. 전용 서버 프로그램(108)의 형식은 본 출원에서 제한되지 않는다.
선택적으로, 전용 서버 프로그램 제어 모듈(103)은 다운로드 요청을 전용 서버 프로그램(108)에 직접 전송한다. 일 예에서, 전용 서버 프로그램(108)은 대응하는 프로그램의 설치 패키지를 전용 서버 프로그램 배포 모듈(104)에 넣고, 전용 서버 프로그램 제어 모듈(103)은 도 2에 도시된 바와 같이, 다운로드 요청을 전용 서버 프로그램 배포 모듈(104)에 전송한다.
멀티 플레이어 서비스 또는 멀티 플레이어 게임에 대응하는 전용 서버 프로그램(108)의 클라우드 룸에서의 성공적인 설치에 응답하여, 전용 서버 프로그램 제어 모듈(103)은 클라우드 룸에 대응하는 구성 명령을 생성하고, 구성 명령에 따라 클라우드 룸을 구성하며, 클라우드 룸의 성공적인 구성에 관한 정보를 전용 서버 관리 모듈(102)에 전송하고, 전용 서버 관리 모듈은 클라우드 룸의 성공적인 구성에 관한 정보를 클라이언트(107)에 전송한다. 클라우드 룸이 생성되고 성공적으로 구성되었음을 나타내는 인터페이스가 클라이언트(107) 상에 디스플레이되고, 클라이언트(107)는 클라우드 룸을 통해 멀티 플레이어 서비스 또는 멀티 플레이어 게임을 수행할 수 있다.
전용 서버 프로그램(108)에 업데이트 프로그램이 있을 때, 전용 서버 관리 모듈(102)은 폐쇄 명령(closing instruction)을 생성하고, 폐쇄 명령을 전용 서버 프로그램 제어 모듈(103)에 전송한다. 전용 서버 프로그램 제어 모듈(103)은 폐쇄 명령에 따라 클라우드 룸을 폐쇄한다. 전용 서버 관리 모듈(102)은 업데이트 명령을 생성하고, 업데이트 명령을 전용 서버 프로그램 제어 모듈(103)에 전송하며, 전용 서버 프로그램 제어 모듈(103)은 업데이트 명령에 따라 멀티 플레이어 게임에 대응하는 업데이트 프로그램을 클라우드 룸에 설치한다. 선택적으로, 전용 서버 프로그램 제어 모듈(103)은 다운로드 요청을 전용 서버 프로그램(108)에 전송하거나 또는 다운로드 요청을 전용 서버 프로그램 배포 모듈(104)에 전송한다. 업데이트 성공시, 전용 서버 관리 모듈(102)은 시작 명령을 생성하고, 시작 명령을 전용 서버 프로그램 제어 모듈(103)에 전송하며, 전용 서버 프로그램 제어 모듈(103)은 시작 명령에 따라 클라우드 룸을 시작한다.
클라이언트(107)가 클라우드 룸에 액세스한 후, 클라우드 룸의 구성을 수정해야 하는 것으로 결정할 때 또는 이에 대해 응답하여, 클라이언트(107)는 클라우드 룸에 대한 구성 수정 요청을 전용 서버 관리 모듈(102)에 전송하며, 전용 서버 관리 모듈(102)은 폐쇄 명령을 생성하고, 폐쇄 명령을 전용 서버 프로그램 제어 모듈(103)에 전송하며, 전용 서버 프로그램 제어 모듈(103)은 폐쇄 명령에 따라 클라우드 룸을 폐쇄한다. 전용 서버 관리 모듈(102)은 클라이언트(107)의 구성 수정 요청에 따라 구성 수정 명령을 생성하고, 구성 수정 명령을 전용 서버 프로그램 제어 모듈(103)에 전송하며, 전용 서버 프로그램 제어 모듈(103)은 구성 수정 명령에 따라 클라우드 룸의 구성 정보를 수정한다.
선택적으로, 클라우드 룸의 구성 정보는 다음 정보: 멀티 플레이어 서비스의 유형(예를 들어, 문서, 데이터, 비디오, 오디오, 사진, 애니메이션 등의 처리, 또는 원격 교육, 음성 또는 화상 통화), 멀티 플레이어 게임의 유형(예를 들어, 레이싱(racing), 어드벤처, 사격(shooting), 배틀(fighting), 전략, 관리 및 개발 등), 초기화 구성 파라미터(예를 들어, 클라우드 서버의 이름, 멀티 플레이어 서비스의 콘텐츠, 게임 스타일, 플레이어 또는 사용자의 수, 클라우드 서버의 커버(cover), 게임 월드(world)의 파라미터 등), 클라우드 룸의 이름 등 중 적어도 하나를 포함한다.
클라우드 룸의 구성 정보의 성공적 수신시, 전용 서버 관리 모듈(102)은 시작 명령을 생성하고, 시작 명령을 전용 서버 프로그램 제어 모듈(103)에 전송하며, 전용 서버 프로그램 제어 모듈(103)은 시작 명령에 따라 클라우드 룸을 시작한다. 시작된 클라우드 룸은 구성 정보가 성공적으로 수정된 클라우드 룸이다.
전용 서버 프로그램 관리 모듈(103)은 하트비트 신호를 특정 빈도(frequency)로 전용 서버 관리 모듈(102)에 전송한다. 하트비트 신호는 정상 상태(normal status) 및 비정상 상태(abnormal status)를 포함하여 클라우드 룸의 작동 상태를 나타낸다. 전용 서버 관리 모듈(102)은 하트비트 신호를 수신하고, 하트비트 신호를 전용 서버 데이터베이스(105)에 전송하며, 전용 서버 모니터링 모듈(106)은 전용 서버 데이터베이스(105)로부터 하트비트 신호를 판독한다. 작동 상태가 비정상일 때, 전용 서버 관리 모듈(102)은 폐쇄 명령 또는 재시작 명령을 생성하고, 폐쇄 명령 또는 재시작 명령을 전용 서버 프로그램 제어 모듈(103)에 전송하며, 전용 서버 프로그램 제어 모듈(103)은 폐쇄 명령 또는 재시작 명령에 따라 클라우드 룸을 폐쇄하거나 재시작한다. 클라우드 룸은 폐쇄 또는 재시작된 후 정상적으로 운영된다. 또한, 전용 서버 모니터링 모듈(106)은 클라이언트(107)가 클라우드 룸에 액세스하기 위한 유효 기간(validity period)을 모니터링하고, 유효 기간이 타깃 시점(target moment)을 초과할 때 프롬프트 요청(prompting request)을 클라이언트(107)에 전송한다. 클라이언트(107)는 프롬프트를 수신하고 클라우드 룸을 갱신하므로, 클라우드 룸은 계속 사용될 수 있다.
전술한 모듈에 의한 클라우드 서버의 구조 분할은 예시에 불과하며, 당업자라면 방법에 따라 클라우드 서버를 다른 구조로 분할할 수 있음을 이해해야 한다.
위의 "전용 서버"란 사용자가 클라우드 룸 사용을 사용하기 위한 허가를 받은 후 서버의 리소스를 배포할 수 있음을 의미한다. 일부 실시 예에서, "전용 서버"는 또한 "클라우드 서버"로 명명되며, 이는 본 출원에서 제한되지 않는다.
도 3은 본 출원의 예시적인 실시 예에 따른 멀티 플레이어 룸을 제공하는 방법의 흐름도이다. 이 방법은 도 1에 도시된 클라우드 서버 클러스터(140)에 적용 가능하다. 이 방법은 다음 단계를 포함한다.
단계 301: 클라이언트가 전송한 클라우드 룸에 대한 생성 요청을 수신하며, 생성 요청은 클라우드 룸의 구성 정보를 운반하고, 클라우드 룸은 멀티 플레이어 서비스를 수행하기 위해 적어도 2개의 클라이언트에 의해 사용된다.
클라우드 서버는 클라이언트가 전송한 클라우드 룸에 대한 생성 요청을 수신하고, 생성 요청은 클라우드 룸의 구성 정보를 운반한다. 구성 정보는 멀티 플레이어 서비스 유형 및 초기화 구성 파라미터를 포함하며, 클라우드 룸은 멀티 플레이어 서비스를 수행하기 위해 적어도 2개의 클라이언트에 의해 사용된다.
선택적으로, 멀티 플레이어 서비스의 유형은 파일 처리(file processing)(예를 들어, 문서, 데이터, 비디오, 오디오, 사진, 애니메이션 등의 처리), 정보의 전송(예를 들어, 원격 교육, 음성 또는 화상 통화, 비디오 또는 오디오 회의), 충전(charging) 또는 결제(payment) 등 중 적어도 하나를 포함한다. 일 예에서, 멀티 플레이어 서비스의 유형은 파일 처리이다.
선택적으로, 초기화 구성 파라미터는 클라우드 서버의 이름, 멀티 플레이어 서비스의 유형, 사용자 수, 클라우드 서버의 커버 및 멀티 플레이어 서비스의 파라미터 중 적어도 하나를 포함한다.
단계 302: 구성 정보에 따라 클라우드 서버에 클라우드 룸을 생성하고 구성한다.
클라우드 룸은 멀티 플레이어 서비스에 사용된다. 클라우드 서버는 구성 정보에 따라 클라우드 룸을 생성하고, 멀티 플레이어 서비스에 대응하는 전용 서버 프로그램을 클라우드 룸에 설치하며, 전용 서버 프로그램의 성공적인 설치에 응답하여 전용 서버 프로그램을 시작하고, 전용 서버 프로그램을 구성한다
선택적으로, 적어도 하나의 클라이언트에 대해 클라우드 룸이 생성된다. 선택적으로, 각 클라이언트에 대해 적어도 하나의 클라우드 룸이 생성될 수 있다. 클라우드 룸이 생성되는 클라이언트 수와 클라이언트에 대해 생성되는 클라우드 룸 수는 본 출원에서 제한되지 않는다. 예를 들어, 하나의 클라이언트에 대해 하나의 클라우드 룸이 생성된다.
단계 303: 클라이언트가 전송한 클라우드 룸에 대한 액세스 요청을 수신한다.
클라우드 룸의 성공적인 생성에 응답하여, 클라이언트는 액세스 요청을 클라우드 서버에 전송하고, 클라우드 서버는 클라이언트가 전송한 액세스 요청을 수신한다.
선택적으로, 적어도 하나의 클라이언트가 액세스 요청을 전송한다. 선택적으로, 클라우드 서버는 적어도 하나의 클라이언트에 의해 전송된 액세스 요청을 수신한다. 일 예에서, 두 클라이언트가 액세스 요청을 전송한다. 일 예에서, 클라우드 서버는 두 클라이언트가 전송한 액세스 요청을 수신한다.
단계 304: 액세스 요청에 따라 클라우드 룸을 시작하고, 클라이언트를 클라우드 룸에 연결한다.
클라우드 서버는 클라이언트가 전송한 액세스 요청에 따라 클라우드 룸을 시작하고, 클라이언트를 클라우드 룸에 연결한다.
선택적으로, 클라우드 서버는 적어도 하나의 클라이언트가 전송한 액세스 요청에 따라 클라우드 룸을 시작한다. 선택적으로, 적어도 하나의 클라이언트가 클라우드 룸에 액세스된다. 일 예에서, 클라우드 서버는 하나의 클라이언트가 전송한 액세스 요청에 따라 클라우드 룸을 시작한다. 일 예에서, 클라우드 서버는 두 클라이언트를 클라우드 룸에 연결하고, 두 클라이언트는 클라우드 룸에서 멀티 플레이어 서비스를 수행한다.
위의 내용에 기반하여, 본 실시 예에서 제공하는 방법에 따라, 클라이언트가 클라우드 서버에 클라우드 룸을 생성하고 구성하므로, 적어도 2개의 클라이언트가 멀티 플레이어 서비스를 수행할 수 있다. 상이한 유형의 멀티 플레이어 서비스를 수행해야 할 수 있는 것으로 결정할 때 또는 이에 대해 응답하여, 클라이언트는 상이한 유형의 멀티 플레이어 서비스를 수행하기 위해 멀티 플레이어 서비스의 유형에 대응하는 구성 정보를 클라우드 서버에 전송하기만 하면 되며, 클라이언트가 상이한 유형의 멀티 플레이어 서비스에 따라 클라우드 룸을 다시 생성해야 하는 문제를 방지할 수 있다.
클라우드 서버의 동작(working) 과정은 클라우드 서버가 클라우드 룸을 생성하고, 클라우드 룸의 구성 정보를 수정하며, 클라우드 룸의 구성 정보를 삭제하는 흐름도와 조합하여 설명된다.
도 4는 본 출원의 다른 예시적인 실시 예에 따른 클라우드 룸을 생성하고 구성하는 흐름도이다.
클라우드 룸을 구매하는 401은, 구매 요청에 따라 클라우드 룸에 대한 구매 주문을 생성하고 - 구매 주문은 클라이언트에게 리소스를 이전하도록(transfer) 요청하는 데 사용되며, 리소스 이전(resource transfer)은 구매 주문에 대응하는 클라우드 룸 구매에 대해 결제된 리소스를 클라우드 룸의 제공자(provider)의 계정으로 이전하는 것임 -, 그리고 구매 주문에 대응하는 리소스의 성공적 이전시 클라우드 룸을 클라우드 서버에 생성하는 것을 포함한다.
클라우드 룸을 구성하는 402는, 멀티 플레이어 게임의 유형에 따라 멀티 플레이어 게임에 대응하는 전용 서버 프로그램을 클라우드 룸에 설치하고, 전용 서버의 성공적인 설치에 응답하여 전용 서버 프로그램을 시작하고 전용 서버 프로그램을 구성하는 것을 포함한다.
클라우드 룸을 구성하는 것은 도 5를 참조하여 설명한다. 도 5는 본 출원의 예시적인 실시 예에 따른 클라우드 룸의 구성 정보의 인터페이스의 개략도이다. 다음 옵션: 기본 설정(basic setting)(111), 월드 설정(world setting)(112), 업로드 게임 모듈(mod)(113), OK(114), 취소(115), 클라우드 룸의 이름(또는 클라우드 서버의 이름)(116), 클라우드 룸의 상태(또는 전용 서버의 상태)(117)가, 구성 정보의 인터페이스(11) 상에 디스플레이된다.
기본 설정(111)은 플레이어 수(사용자 수), 게임 모드, 배틀 모드(PVP) 및 게임 스타일을 설정하고, 투표(voting) 기능을 켜도록 구성되며, 또한 전용 서버 커버(cover)를 설정하고 게임 모듈을 업로드하도록 구성된다. 선택적으로, 적어도 2명의 사용자가 동일한 클라우드 룸에서 멀티 플레이어 게임을 수행한다. 일 예에서, 6명의 사용자가 동일한 클라우드 룸에서 멀티 플레이어 게임을 수행한다. 선택적으로, 게임 모드는 서바이벌 모드(survival mode), 배틀 로열(battle royale) 모드 또는 샌드박스(sandbox) 모드이다. 선택적으로, 사용자는 다른 사용자와 싸우기 위해 배틀 모드를 선택하거나 또는 동일한 작업을 수행하기 위해 다른 사용자와 협력하기 위해 협업 모드를 선택할 수 있다. 선택적으로, 사용자는 게임 라운드에서 최고의 성과를 내는 사용자(즉, 최우수 사람(most valuable person, MVP))를 선택하거나 또는 게임 라운드에서 가장 많은 기여를 한 사용자를 선택하거나, 또는 게임에서 가장 어려운 라운드를 선택하기 위해 투표를 켠다. 투표 기능은 본 출원에서 제한되지 않는다. 선택적으로, 사용자는 서버에서 디폴트(default) 커버를 선택할 수 있거나, 또는 사용자가 로컬 사진을 서버의 커버로 업로드하거나, 또는 사용자가 네트워크로부터의 사진을 서버의 커버로 선택한다.
사용자는 업로드 게임 모듈(113)을 통해 게임 모듈을 업로드한다. 일 예에서, 사용자는 식물(plant)을 빠르게 수집하기 위한 게임 모듈과 45-그리드(45-grid) 백팩(backpack) 용 게임 모듈을 업로드한다. 클라우드 룸의 구성시, 사용자는 OK(114) 옵션을 클릭하므로, 클라우드 룸의 구성 정보가 적용된다. 취소(115) 옵션은 클라우드 룸의 구성을 취소하도록 구성된다.
사용자는 클라우드 서버 또는 클라우드 룸의 이름(116)을 설정한다. 일 예에서, 전용 서버의 이름은 윙크(wink)의 개인 서버(private server)이다. 클라우드 룸의 작동 상태(117)는 정상 작동 또는 비정상 작동이다. 일 예에서, 클라우드 룸의 작동 상태가 초기화되지 않는다.
도 6은 본 출원의 다른 예시적인 실시 예에 따른 클라우드 룸의 구성 정보의 인터페이스의 개략도이다. 다음 옵션: 기본 설정(111), 월드 설정(112), OK(114), 취소(115), 클라우드 룸의 이름(또는 전용 서버의 이름)(116), 클라우드 룸의 상태(또는 전용 서버의 상태)(117)가, 구성 정보의 인터페이스(12) 상에 디스플레이된다.
월드 설정(112)은 게임 월드의 환경을 설정하는데 사용된다. 선택적으로, 게임 월드의 환경은 지상 월드(overground world)와 동굴 월드(cave world)를 포함한다. 일부 실시 예에서, 게임 월드는 워터 월드 또는 하늘 월드이며, 이는 본 출원에서 제한되지 않는다. 선택적으로, 게임 월드의 환경은 지형(terrain), 바이오코엔오시스(biocoenosis), 월드 크기, 시즌(season), 날씨 및 수행된 활동(activity) 중 적어도 하나를 포함한다. 선택적으로, 게임 월드의 환경에 대한 디폴트 설정이 제공된다. 일 예에서, 도로 분기(road fork)와 지형은 감소된 도로 분기(road forks reduced)이다. 사용자는 인터페이스(12) 상에서 구성을 수정할 수 있으며, 구성을 수정한 후 클라우드 룸을 폐쇄하고, 클라우드 서버가 클라우드 룸의 신규 구성을 판독하고 클라우드 룸을 시작할 수 있다.
클라우드 룸을 구성(402)한 후, 클라우드 서버가 초기화(403)된 후 사용자는 멀티 플레이어 게임을 플레이하기 위해 클라우드 룸에 입장한다(즉, 게임을 플레이하기 위해 클라우드 룸에 입장함(404)).
위의 내용에 기반하여, 게임 유형에 대응하는 전용 서버 설치 프로그램을 설치하고, 전용 프로그램의 성공적인 설치에 응답하여 전용 서비스 프로그램을 구성하며, 이는 사용자가 클라우드 룸을 생성하고 구성하는 단계를 단순화한다. 전용 서버 프로그램을 수정해야 할 수 있는 것으로 결정할 때 또는 이에 대해 응답하여, 사용자는 전용 서버 프로그램의 구성의 수정을 구현하기 위해 가상 구성 정보를 클라우드 서버에 전송하기만 하면 된다.
사용자는 추가로, 클라우드 룸의 구성을 수정(411)하고, 그 다음에 위의 수정 구성(411)을 트리거한 후 클라우드 룸을 폐쇄(412)할 수 있으며, 그 다음에, 클라우드 서버는 신규 구성을 판독(413)하고 구성 정보의 수정을 완료한 후 클라우드 룸을 시작(423)한다.
전술한 과정은 도 7 및 도 8을 참조하여 후술된다. 도 7은 본 출원의 예시적인 실시 예에 따른 클라우드 룸의 커버(또는 클라우드 서버의 커버)의 인터페이스의 개략도이다. 설정(131), 클라우드 룸의 기본 정보(132), 갱신(133), 클라우드 룸의 사용 시간(usage time)(134)을 포함하는 옵션이 클라우드 룸 커버의 인터페이스(13) 상에 디스플레이된다.
설정 옵션(131)은 도 5 및 도 6에 도시된 설정 메뉴를 열어서, 클라우드 룸의 관련 파라미터 및 게임 월드의 관련 파라미터를 설정하도록 구성된다. 선택적으로, 사용자가 멀티 플레이어 게임을 플레이하기 위해 클라우드 룸에 입장하고, 멀티 플레이어 게임 또는 클라우드 룸의 구성에 만족되지 않는 것으로 결정할 때 또는 이에 응답하여, 사용자는 설정 옵션(131)을 직접 클릭하여 작동 중인 멀티 플레이어 게임 또는 클라우드 룸을 설정할 수 있다. 성공적인 설정에 응답하여, 클라우드 서버는 사용자가 먼저 클라우드 룸을 폐쇄할 필요없이 클라우드 룸을 구성하고, 그 다음에 클라우드 룸을 시작한다. 멀티 플레이어 게임의 작동 중에, 설정 옵션(131)이 클릭되고, 도 9에 도시된 클라우드 룸의 구성 정보의 설정 인터페이스가 디스플레이된다.
클라우드 룸의 기본 정보(132)는 클라우드 룸의 이름, 클라우드 룸에 수용 가능한 인원수, 실제 클라우드 룸에 연결된 인원수, 클라우드 룸의 작동 상태를 포함한다. 일 예에서, 클라우드 룸의 이름은 111이고, 클라우드 룸에 수용할 수 있는 인원수는 6명이며, 실제 클라우드 룸에 연결된 인원수는 0명이고, 클라우드의 작동 상태는 작동 중이다. 선택적으로, 클라우드 룸의 작동 상태는 추가로 비정상 작동일 수 있으므로, 복원한다(restore).
갱신 옵션(133)은 클라우드 룸을 사용할 권한을 갱신하도록 구성된다. 선택적으로, 사용자는 유효 기간이 만료되기 전에 타깃 시점에 클라우드 서버에 의해 전송된 프롬프트 메시지를 수신한다. 예를 들어, 유효 기간 만료 전의 타깃 시점은 만료일 전날이며, 이는 본 출원에서 제한되지 않는다.
클라우드 룸(134)의 사용 시간은 유효 기간의 날짜 및 현재 날짜로부터 만료일까지 남은 시간을 포함하여, 클라우드 룸을 사용할 권한의 유효 기간을 나타내다. 선택적으로, 유효 기간의 타깃 시점은 날짜와 시점(point in time)일 수 있다. 선택적으로, 남은 시간의 단위는 일, 시, 분, 초, 밀리 초 등일 수 있으며, 이는 본 출원에서 제한되지 않는다. 일 예에서, 클라우드 룸의 유효 기간은 2019년 6월 5일에 만료되며, 사용자가 클라우드 룸을 구매한 날로부터 유효 기간 만료일까지 남은 시간은 23일이다.
사용자는 도 7에 도시된 클라우드 룸의 커버의 인터페이스(13)를 트리거하여 게임에 입장할 수 있다. 인터페이스(13)는 게임 로그인 인터페이스(14)로 점프(jump)한다. 게임 로그인 인터페이스(14)는 로그인 프롬프트 박스(141), 취소 옵션(142) 및 로그인 프롬프트 메시지(143)를 디스플레이한다.
선택적으로, 로그인 프롬프트 박스(141)는 게임 로그인 인터페이스(14)의 임의의 위치에 위치된다. 일 예에서, 로그인 프롬프트 박스(141)는 게임 로그인 인터페이스(14)의 중간에 있다. 선택적으로, 로그인 프롬프트 박스(141)는 원, 직사각형, 삼각형, 육각형, 평행 사변형 또는 다각형이다. 일 예에서, 로그인 프롬프트 박스는 육각형이다. 로그인 프롬프트 박스의 모양과 위치는 본 출원에서 제한되지 않는다.
선택적으로, 로그인 프롬프트 메시지(143)가 로그인 중(logging in)이다. 일부 실시 예에서, 로그인 프롬프트 메시지(143)는 로그인 중, 장착(mounting) 및 로딩(loading)이다. 로그인 프롬프트 메시지의 특정 콘텐츠는 본 출원에서 제한되지 않는다.
선택적으로, 사용자가 멀티 플레이어 게임을 플레이하기 위해 클라우드 룸에 입장하고 멀티 플레이어 게임 또는 클라우드 룸의 구성에 만족되지 않는 경우, 사용자는 직접 설정 옵션(131)을 클릭하여 작동 중인 멀티 플레이어 게임 또는 클라우드 룸을 설정할 수 있다. 성공적인 설정에 응답하여, 클라우드 서버는 사용자가 먼저 클라우드 룸을 폐쇄할 필요없이 클라우드 룸을 구성한 다음 클라우드 룸을 시작한다.
사용자는 추가로, 클라우드 룸에 저장된 구성 정보를 삭제하거나 클라우드 룸에 저장된 멀티 플레이어 게임에 관한 정보(예를 들어, 멀티 플레이어 게임의 파라미터 및 사용자 기록)를 삭제 즉, 아카이브(archive)를 삭제(414)할 수 있다. 사용자가 아카이브를 삭제(414)하는 작동을 트리거한 후, 클라우드 룸은 폐쇄(415)되고, 클라우드 서버는 클라우드 룸의 데이터를 삭제(416)한다. 사용자가 클라우드 룸을 재구성(417)하고 서버를 초기화(418)한 후, 사용자는 게임을 플레이하기 위해 클라우드 룸에 입장(419)할 수 있다.
멀티 플레이어 게임이 진행되는 동안, 설정 옵션(131)이 클릭되고, 도 9에 도시된 클라우드 룸의 구성 정보의 설정 인터페이스가 디스플레이된다. 다음 옵션: 기본 설정(111), 월드 설정(112), 클라우드 룸의 이름(116), OK(114), 취소(115), 클라우드 룸의 이름(116), 클라우드 룸의 작동 상태(117), 서버를 비활성화(118) 및 아카이브를 삭제(119)가, 설정 인터페이스(15) 상에 디스플레이된다.
선택적으로, 기본 설정(111)의 옵션은 추가로, 클라우드 서버의 관련 파라미터를 설정하도록 구성된다. 일 예에서, 클라우드 서버의 관련 파라미터는 게임 버전을 업데이트하는 방식(way), 서버의 이름, 서버의 정보 설명 및 서버의 패스워드를 포함한다. 일부 실시 예에서, 서버의 이름은 나는 귀여운 남자야(I am a cute guy)라는 것이며, 이는 본 출원에서 제한되지 않는다. 선택적으로, 사용자는 클라우드 서버를 보호하기 위해 클라우드 서버의 패스워드를 설정하거나, 클라우드 룸에 입장하는 구성원을 제한할 수 있으며, 이는 본 출원에서 제한되지 않는다.
서버를 비활성화(118)하는 옵션은 클라우드 서버를 비활성화하도록 구성된다. 클라우드 서버의 비활성화 동안, 사용자는 멀티 플레이어 게임을 수행할 수 없으며, 클라우드 서버를 재시작한 후에만 멀티 플레이어 게임을 수행할 수 있다. 아카이브를 삭제(119)하는 옵션은 현재 게임의 데이터를 삭제하도록 구성된다. 삭제시, 사용자는 클라우드 룸을 재구성하거나 멀티 플레이어 게임을 수행할 수 있다. 사용자가 클라우드 룸의 아카이브를 삭제(414)한 후 클라우드 서버는 클라우드 룸을 폐쇄(415)하며, 데이터를 삭제(416)하는 작동이 성공적이다. 사용자는 클라우드 룸을 재구성하는 것을 선택할 수 있으며, 이는 위의 실시 예에서 서버를 초기화하고 클라우드 룸에 입장하는 방법과 동일하다. 자세한 내용은 여기서 다시 설명하지 않는다.
선택적으로, 클라우드 서버는 추가로, 룸과 함께 하트비트 신호를 모니터링한다. 하트비트 신호는 클라우드 룸의 작동 상태를 지시하는 데 사용된다. 클라우드 룸의 작동 상태가 비정상일 때, 클라우드 룸을 폐쇄하거나 다시 시작한다. 이러한 방식으로, 수동적 개입 없이 클라우드 룸의 비정상 상태를 복원할 수 있다.
일부 실시 예에서, 클라우드 서버는 전용 서버 구매 모듈(101), 전용 서버 관리 모듈(102), 전용 서버 프로그램 제어 모듈(103), 전용 서버 프로그램 배포 모듈(104), 전용 서버 데이터베이스(105) 및 전용 서버 모니터링 모듈(106)을 포함한다. 상기 클라우드 서버의 모듈은 위의 실시 예에서 멀티 플레이어 룸을 제공하는 방법을 구현하도록 구성된다.
위의 내용을 기반으로, 전용 서버 프로그램에 대한 업데이트 프로그램이 있는 것으로 결정할 때 또는 이에 응답하여, 전용 서버 프로그램을 설치하여 클라우드 룸을 시작하므로, 클라우드 룸은 사용자의 개입 없이 업데이트된 전용 서버 프로그램을 자동적으로 구성하여 전용 서버 프로그램을 업데이트한다.
도 10은 본 출원의 다른 예시적인 실시 예에 따른 멀티 플레이어 룸을 구매하는 방법의 흐름도이다. 이 방법은 도 1에 도시된 클라우드 서버 클러스터(140)에 적용될 수 있다. 이 방법은 다음 단계를 포함한다.
단계 1001: 서버가 구매 요청을 전용 서버 구매 모듈에 전송한다.
서버는 구매 요청을 전용 서버 구매 모듈에 전송하며, 구매 요청은 클라우드 룸의 생성 요청이기도 하다. 선택적으로, 구매 요청은 추가로 임대 요청, 제시 요청(presenting request), 수요 요청(demand request), 복권 활동에 참여하기 위한 청구 요청(claim request) 등일 수 있다.
단계 1002: 전용 서버 구매 모듈이 구매 주문을 생성한다.
전용 서버 구매 모듈은 클라이언트에게 리소스를 이전하도록 요청하는 데 사용되는 구매 주문을 생성한다. 구매 주문은 클라우드 룸에 대응하는 룸 번호, 클라우드 룸의 로그인 계정, 클라우드 룸의 로그인 패스워드, 클라우드 룸을 구매한 사용자의 계정 또는 닉네임 또는 사용자 이름, 클라우드 룸 구매를 위한 결제 방법, 구매된 클라우드 룸의 수, 구매된 클라우드 룸의 레벨 중 적어도 하나의 항목을 포함한다.
단계 1003: 전용 서버 구매 모듈이 구매 주문을 클라이언트에 전송한다.
전용 서버 구매 모듈은 생성된 구매 주문을 클라이언트에 전송한다.
단계 1004: 결제 페이지가 클라이언트 상에 디스플레이된다.
클라이언트는 결제 페이지에 따라 구매 주문을 결제한다. 선택적으로, 결제는 현금, 저축 카드, 신용 카드를 사용하거나 제3자 결제 플랫폼을 통해 수행될 수 있다. 본 출원에서 결제 방법은 제한되지 않는다. 사용자가 클라우드 룸에 대응하는 구매 주문을 결제하는 것으로 결정할 때 또는 이에 응답하여, 클라우드 룸에 필요한 리소스가 사용자의 제1 계정에서 클라우드 서버의 제2 계정으로 이전된다.
단계 1005: 클라이언트는 결제 결과를 전용 서버 구매 모듈에 전송한다.
클라이언트 상에서의 결제 완료시, 결제 결과가 전용 서버 구매 모듈에 전송된다. 선택적으로, 결제 결과는 결제 성공 또는 결제 실패이다. 결제가 성공하는 경우에, 단계 1006이 수행된다. 결제에 실패한 경우, 클라이언트는 현재 결제 작동을 다시 결제하거나 포기할 수 있다. 현재 결제 작동이 포기되면, 사용자는 클라우드 룸을 사용할 권한을 획득할 수 없다.
단계 1006: 전용 서버 구매 모듈은 결제 결과를 수신하고, 결제 결과에 따라 주문 번호를 생성한다.
클라이언트 상에서 결제가 성공한 경우, 전용 서버 구매 모듈은 결제 결과(결제 성공)를 수신하고 결제 결과에 따라 주문 번호를 생성하며, 주문 번호는 클라우드 룸과 일대일로 대응한다.
단계 1007: 전용 서버 구매 모듈은 주문 번호를 전용 서버 관리 모듈에 전송한다.
전용 서버 구매 모듈은 주문 번호를 전용 서버 관리 모듈에 전송하며, 주문 번호는 클라우드 룸과 일대일로 대응된다.
단계 1008: 전용 서버 관리 모듈은 주문 번호에 따라 클라우드 룸을 생성한다.
전용 서버 관리 모듈은 주문 번호를 수신하고 주문 번호에 따라 클라우드 룸을 생성하며, 즉, 전용 서버 관리 모듈은 지불된 구매 주문 또는 주문 번호에 따라 클라우드 룸을 생성한다. 선택적으로, 사용자는 상이한 유형의 클라우드 룸을 구매할 수 있다. 예를 들어, 클라우드 룸은 낮은 등급(grade), 중간 등급 및 높은 등급을 포함하여, 성능의 오름차순으로 분류된다. 다르게는, 클라우드 룸은 수용 가능한 인원수에 따라 예를 들어, 10명 미만, 10~30명, 30명 이상으로 분류된다. 선택적으로, 사용자는 클라우드 룸의 컴퓨팅 리소스 및 저장 리소스의 파라미터를 사용자 정의할(customize) 수 있다. 예를 들어, 사용자는 저장 리소스의 파라미터를 수정하는 것에 의해 클라우드 룸의 저장 용량을 수정할 수 있다. 이것은 본 출원에서 제한되지 않는다.
단계 1009: 전용 서버 관리 모듈이 클라우드 룸을 클라이언트에 배포한다.
전용 서버 관리 모듈은 성공적인 리소스 이전 지시(resource transfer indication)를 생성하고, 성공적인 리소스 이전 지시는 클라우드 룸을 생성하도록 구성된다. 전용 서버 관리 모듈은 생성된 클라우드 룸을 클라이언트에 배포하고, 클라우드 룸은 주문 번호에 대응한다.
단계 1010: 클라우드 룸의 인터페이스가 클라이언트 상에 디스플레이된다.
클라이언트는 클라우드 룸을 수신하고, 클라우드 룸의 초기 인터페이스를 디스플레이한다. 선택적으로, 클라우드 룸이 아직 구성되지 않는다.
위의 내용에 기반하여, 위의 전용 서버 구매 모듈을 통해 클라우드 서버가 자동으로 구매될 수 있다. 전용 서버 구매 모듈은 수동 개입 없이 클라이언트의 구매 요청에 따라 클라우드 룸에 대응하는 주문 정보(예를 들어, 클라우드 룸의 계정 번호 및 인증 코드(verification code))를 클라이언트에게 전송하며, 이는 클라우드 룸의 배포 효율성(distribution efficiency)을 향상시킨다.
클라우드 룸의 생성 및 구성은 도 11를 참조하여 설명한다. 도 11은 본 출원의 다른 예시적인 실시 예에 따른 클라우드 룸을 제공하는 시스템의 개략적인 구조도이다. 시스템은 클라이언트(107), 전용 서버 관리 모듈(102), 전용 서버 프로그램 제어 모듈(103), 전용 서버 프로그램 배포 모듈(104) 및 전용 서버 데이터베이스(105)를 포함한다.
클라이언트(107)는 클라우드 룸에 대한 생성 요청을 전용 서버 관리 모듈(102)에 전송하며, 생성 요청은 클라우드 룸의 구성 정보를 운반한다. 전용 서버 관리 모듈(102)은 클라우드 룸에 대한 생성 명령을 생성한다. 전용 서버 프로그램 제어 모듈(103)은 생성 명령에 따라 클라우드 룸을 생성한다. 전용 서버 관리 모듈(102)은 멀티 플레이어 게임의 유형에 따라 설치 명령을 생성한다. 전용 서버 프로그램 제어 모듈(103)은 설치 명령에 따라 멀티 플레이어 게임에 대응하는 전용 서버 프로그램을 클라우드 룸에 설치한다. 일 예에서, 전용 서버 프로그램 제어 모듈(103)은 다운로드 명령을 전용 서버 배포 모듈에 전송한다. 다운로드 명령은 전용 서버 프로그램 제어 모듈(103)에 의해, 전용 서버 프로그램 배포 모듈(104)에서 전용 서버 프로그램을 질의하고 전용 서버 프로그램을 다운로드하는 데 사용된다. 전용 서버 프로그램 제어 모듈(103)은 전용 서버 프로그램의 성공적인 설치에 응답하여 클라우드 룸에 대응하는 구성 명령을 생성한다. 전용 서버 프로그램 제어 모듈(103)은 구성 명령에 따라 전용 서버 프로그램을 구성한다.
전용 서버 프로그램에 대한 업데이트 프로그램이 있는 것으로 결정할 때 또는 이에 응답하여, 전용 서버 관리 모듈(102)은 폐쇄 명령을 생성한다. 전용 서버 프로그램 제어 모듈(103)은 폐쇄 명령에 따라 클라우드 룸을 폐쇄한다. 전용 서버 관리 모듈(102)은 업데이트 명령을 생성한다. 전용 서버 프로그램 제어 모듈(103)은 업데이트 명령에 따라 멀티 플레이어 게임에 대응하는 업데이트 프로그램을 클라우드 룸에 설치한다. 전용 서버 관리 모듈(102)은 성공적인 업데이트에 응답하여 시작 명령을 생성한다. 전용 서버 프로그램 제어 모듈(103)은 시작 명령에 따라 클라우드 룸을 시작한다.
클라이언트가 클라우드 룸에 연결된 후, 전용 서버 관리 모듈(102)은 클라이언트(107)에 의해 전송된 클라우드 룸에 대한 구성 수정 요청을 수신한다. 전용 서버 관리 모듈(102)은 폐쇄 명령을 생성한다. 전용 서버 프로그램 제어 모듈(103)은 폐쇄 명령에 따라 클라우드 룸을 폐쇄한다. 전용 서버 관리 모듈(102)은 구성 수정 요청에 따라 구성 수정 명령을 생성한다. 전용 서버 프로그램 제어 모듈(103)은 구성 수정 명령에 따라 클라우드 룸의 구성 정보를 수정한다. 전용 서버 관리 모듈(102)은 성공적인 수정에 응답하여 시작 명령을 생성한다. 전용 서버 프로그램 제어 모듈(103)은 시작 명령에 따라 클라우드 룸을 시작한다.
전용 서버 프로그램 제어 모듈(103)은 클라우드 룸의 작동 상태를 지시하는 데 사용되는 클라우드 룸의 하트비트 신호를 수신한다. 전용 서버 관리 모듈(102)은 클라우드 룸의 하트비트 신호 및 구성 정보를 전용 서버 데이터베이스(105)에 기록한다.
위의 내용에 기반하여, 전용 서버 관리 모듈(102) 및 전용 서버 프로그램 제어 모듈(103)을 통해, 사용자는 클라우드 룸을 폐쇄하지 않고도 클라우드 룸의 구성 정보를 수정할 수 있으며, 이는 사용자가 클라우드 룸의 구성 정보를 수정하는 단계를 단순화한다.
도 12는 본 출원의 다른 예시적인 실시 예에 따른 클라우드 룸을 구성하는 방법의 흐름도이다. 이 방법은 도 1에 도시된 클라우드 서버 클러스터(140)에 적용 가능하며, 이 방법은 다음 단계를 포함한다.
단계 1201: 전용 서버 관리 모듈이 클라우드 룸에 대한 생성 명령을 생성한다.
전용 서버 관리 모듈은 클라이언트가 전송한 클라우드 룸에 대한 생성 요청에 따라 클라우드 룸에 대한 생성 명령을 생성한다. 생성 명령은 클라우드 룸을 생성하도록 구성되며, 클라우드 룸의 유형, 클라우드 룸의 구매자에 관한 정보(예를 들어, 구매자의 계정 또는 사용자 이름 또는 닉네임), 클라우드 룸에 대응하는 구매 주문, 클라우드 룸의 로그인 계정, 클라우드 룸의 로그인 패스워드, 클라우드 룸의 룸 번호와 같은 적어도 하나의 유형의 정보를 포함한다.
단계 1202: 전용 서버 관리 모듈이 생성 명령을 전용 서버 프로그램 제어 모듈에 전송한다.
예를 들어, 멀티 플레이어 게임 A에서, 전용 서버 관리 모듈은 클라이언트의 생성 요청에 따라 생성 명령을 생성하고, 생성 명령을 전용 서버 프로그램 제어 모듈에 전송한다. 예를 들어, 생성 명령은 중급 성능(mid-range performance)의 클라우드 룸, Little K라는 생성자(creator), 클라우드 룸의 룸 번호(123), 클라우드 룸의 로그인 이름 Little K 등과 같은 정보를 포함한다.
단계 1203: 전용 서버 프로그램 제어 모듈이 생성 명령에 따라 클라우드 룸을 생성한다.
전용 서버 프로그램 제어 모듈은 생성 명령을 수신하고, 생성 명령에 따라 클라우드 룸을 생성한다.
예를 들어, 멀티 플레이어 게임 B에서, 전용 서버 프로그램 제어 모듈은 클라우드 룸의 성능, 생성자의 사용자 이름 또는 계정 등과 같은 정보를 운반하는 생성 명령에 따라 클라우드 룸을 생성한다. 예를 들어, 클라우드 룸은 중급 성능의 클라우드 룸이고, 디스플레이되는 클라우드 룸의 이름은 Little M이며(선택적으로, 클라우드 룸의 이름은 생성자에 의해 수정되며, 생성자는 이름을 수정할 수 있음), 그리고 클라우드 룸의 룸 번호는 310이다.
단계 1204: 전용 서버 관리 모듈이 멀티 플레이어 게임의 유형에 따라 설치 명령을 생성한다.
클라우드 룸은 생성 후 구성된다. 전용 서버 관리 모듈은 멀티 플레이어 게임의 유형에 따라 설치 명령을 생성한다.
예를 들어, 멀티 플레이어 게임 X에서, 멀티 플레이어 게임은 유형 B에 속하며, 애플리케이션 프로그램 b와 함께 설치되어야 할 수 있다. 전용 서버 관리 모듈은 유형 B에 따라 설치 명령을 생성하고, 설치 명령은 애플리케이션 프로그램 b를 설치하도록 구성된다.
단계 1205: 전용 서버 관리 모듈이 설치 명령을 전용 서버 프로그램 제어 모듈에 전송한다.
설치 명령은 멀티 플레이어 게임에 대응하는 전용 서버 프로그램을 클라우드 룸에 설치하도록 구성된다. 설치 명령은, 클라우드 룸에서의 멀티 플레이어 게임에 대응하는 전용 서버 프로그램의 이름 및 멀티 플레이어 게임에 대응하는 전용 서버 프로그램의 설치 패키지 또는 압축 패키지를 포함한다. 예를 들어, 전용 서버 관리 모듈은 전용 서버 프로그램 b를 클라우드 룸에 설치하는 설치 명령을 전용 서버 프로그램 제어 모듈에 전송한다.
단계 1206: 전용 서버 프로그램 제어 모듈이 설치 명령에 따라 멀티 플레이어 게임에 대응하는 전용 서버 프로그램을 클라우드 룸에 설치한다.
예를 들어, 멀티 플레이어 게임 X에서, 전용 서버 프로그램 제어 모듈은 설치 명령에 따라 전용 서버 프로그램 b를 클라우드 룸에 설치한다.
단계 1207: 전용 서버 프로그램 제어 모듈이 설치 명령을 전용 서버 프로그램에 전송한다.
예를 들어, 멀티 플레이어 게임 X에서, 전용 서버 프로그램 제어 모듈은 전용 서버 프로그램 b를 설치하는 설치 명령을 전용 서버 프로그램에 전송한다.
단계 1208: 전용 서버 프로그램 배포 모듈이 멀티 플레이어 게임의 유형에 대응하는 전용 서버 프로그램을 질의한다.
예를 들어, 전용 서버 프로그램 배포 모듈은 설치 명령에 따라 전용 서버 프로그램에 대응하는 이름, 식별자 또는 서브 식별자를 질의하며, 이에 따라 멀티 플레이어 게임을 위한 대응하는 전용 서버 프로그램의 설치를 구현한다.
아래 표 1은 멀티 플레이어 게임의 유형, 전용 서버 프로그램에 대응하는 식별자, 그리고 전용 서버 프로그램 사이의 대응 관계를 예시하기 위해 채택되었다.
멀티 플레이어 게임의 유형 전용 서버 프로그램에 대응하는 식별자 전용 서버 프로그램
유형 A 2019062621090001 프로그램 a
유형 B 2019062622000002 프로그램 b
전용 서버 프로그램에 대응하는 식별자 2019062621090001은 2019년 6월 26일 21:09에서의 0001번째 전용 서버 프로그램을 지시하도록 구성된다. 전용 서버 프로그램은 프로그램 a이고, 멀티 플레이어 게임의 대응하는 유형은 유형 A이다.
단계 1209: 전용 서버 프로그램 배포 모듈이 전용 서버 프로그램을 전용 서버 프로그램 제어 모듈에 전송한다.
멀티 플레이어 게임에 대응하는 전용 서버 프로그램이 질의되는 것으로 결정할 때 또는 이에 응답하여, 전용 서버 프로그램 배포 모듈은 전용 서버 프로그램을 전용 서버 프로그램 제어 모듈에 전송한다. 선택적으로, 전용 서버 프로그램에 대응하는 식별자에 따라 전용 서버 프로그램이 질의되지 않는 것으로 결정할 때 또는 이에 응답하여, 전용 서버 프로그램 배포 모듈은 질의 실패 정보를 전용 서버 프로그램 제어 모듈에 전송하며, 전용 서버 프로그램 제어 모듈은 질의 실패 정보를 전용 서버 관리 모듈에 전송하고, 전용 서버 관리 모듈은 질의 실패 정보를 클라이언트 상의 사용자에 전송한다. 선택적으로, 사용자는 질의 실패 정보에 따라 클라우드 서버를 재시작하거나 클라우드 룸을 재구성한다.
단계 1210: 전용 서버 프로그램 제어 모듈이 전용 서버 프로그램을 설치한다.
예를 들어, 전용 서버 프로그램 제어 모듈은 멀티 플레이어 게임 X에 대응하는 전용 서버 프로그램 b를 클라우드 룸에 설치한다.
단계 1211: 설치를 수행하고, 디지털 인증서(digital certificate)를 생성한다.
디지털 인증서는 전용 서버 프로그램 설치시 생성된다.
디지털 인증서는 인증 기관(certificate authority, CA)에서 발행한 전자 문서이며, 이는 네트워크에서 사용자의 신원 정보(identity information)를 지시할 수 있는 일련의 숫자를 포함하며, 네트워크에서 사용자의 신원을 검증하는(verify) 방식을 제공한다. 디지털 인증서는 디지털 식별자이기도 하다. 디지털 인증서는 사용자가 네트워크를 통해 교환하는 정보 및 데이터의 암호화 또는 암호 해제(decryption)의 형태에서 암호화 또는 암호 해제 형태로 정보 및 데이터의 무결성과 보안성을 보장한다. 디지털 인증서는 설치된 전용 서버 프로그램이 멀티 플레이어 게임의 유형에 대응하는지를 검증하도록 구성된다. 예를 들어, 멀티 플레이어 게임 X에서, 전용 서버 프로그램 b가 설치된 후 전용 서버 프로그램은 전용 서버 프로그램 b가 멀티 플레이어 게임 X가 속한 유형 B에 대응하는지를 검증할 수 있는 디지털 인증서를 생성한다.
단계 1212: 전용 서버 프로그램 제어 모듈이 스크립트(script)를 사용하여 전용 서버 프로그램을 시작한다.
스크립트는 애플리케이션 프로그램을 제어하는 데 사용할 수 있는 프로그래밍 언어이다. 스크립트를 사용하여 설정된 절차를 반복할 수 있다. 일 예에서, 스크립팅 언어의 유형은 lua 스크립트이다. 예를 들어, 멀티 플레이어 게임 X에서, 전용 서버 프로그램 제어 모듈은 lua 스크립트를 사용하는 것에 의해, 클라우드 룸에 설치된 전용 서버 프로그램 b를 시작한다.
단계 1213: 전용 서버 프로그램 제어 모듈이 하트비트 신호를 전용 서버 프로그램 관리 모듈에 전송한다.
예를 들어, 멀티 플레이어 게임 X에서, 전용 서버 프로그램 제어 모듈은 하트비트 신호를 전용 서버 프로그램 관리 모듈에 전송한다. 하트비트 신호는 멀티 플레이어 게임 X에 대응하는 전용 서버 프로그램 b의 작동 상태, 전용 서버 프로그램 제어 모듈 및 클라우드 룸의 작동 상태 등을 포함한다.
단계 1214: 전용 서버 관리 모듈이 하트비트 신호를 전용 서버 데이터베이스에 기록한다.
전용 서버 관리 모듈은 하트비트 신호를 수신하고 하트비트 신호를 전용 서버 데이터베이스에 기록한다. 하트비트 신호는 클라우드 룸의 작동 상태를 지시한다. 전용 서버 관리 모듈은 특정 빈도로 하트비트 신호를 수신한다. 선택적으로, 빈도는 밀리 초, 초, 분, 시간, 일, 주, 월, 년 등의 단위이며, 이는 본 출원에서 제한되지 않는다. 전용 서버 관리 모듈이 지정된 빈도 내에서 하트비트 신호를 수신하지 않는 것으로 결정될 때 또는 이에 응답하여, 전용 서버 관리 모듈이 전용 서버 프로그램 제어 모듈로부터 연결 해제되거나, 또는 전용 서버 관리 모듈이 전용 서버 프로그램 제어 모듈에 의해 전송된 하트비트 신호를 수신할 수 없거나, 또는 전용 서버 프로그램 제어 모듈이 하트비트 신호를 전송할 수 없다.
이에 기반하여, 전용 서버 관리 모듈은 전용 서버 프로그램 제어 모듈과 연결되어 전용 서버 프로그램을 설치, 관리, 다운로드, 업데이트 등을 하므로, 클라우드 룸의 구성 및 클라우드 서버의 초기화가 수행될 수 있다. 클라이언트는 클라우드 룸을 폐쇄하지 않고 클라우드 룸의 설정을 직접 수정할 수 있으며, 클라우드 룸은 설정 작동에 따라 자동으로 구성될 수 있다.
도 13은 본 출원의 예시적인 실시 예에 따른 전용 서버 관리 모듈과 전용 서버 프로그램 제어 모듈 사이의 통신 흐름도이다.
단계 1301: 전용 서버 관리 모듈이 활성 핸드셰이킹(active handshaking)을 수행한다.
전용 서버 관리 모듈은 전용 서버 프로그램 제어 모듈과 활성 핸드셰이킹을 수행한다. 핸드셰이킹은 데이터 세그먼트의 송수신을 동기화하기 위해 매번 전송되는 데이터의 양을 협상하고, 수신된 데이터의 양에 따라 확인된 데이터의 양을 결정하며, 데이터를 송수신한 후 연결을 제거할 때를 결정하고, 연결을 구축한다.
단계 1302: 전용 서버 프로그램 제어 모듈이 핸드셰이킹에 응답한다.
전용 서버 관리 모듈은 전용 서버 프로그램 제어 모듈에 의해 전송되는 핸드셰이킹 신호에 응답한다.
단계 1303: 전용 서버 관리 모듈이 지속적 연결(persistent connection)을 구축하고, 지속적 연결은 양방향 통신에 사용되고 암호화된다.
지속적 연결은 복수의 데이터 패킷이 하나의 연결에서 연속적으로 전송될 수 있음을 의미한다. 지속적 연결은 주로 빈번한 작동, 지점 간 통신(point-to-point communication) 및 적은 수의 연결에 사용된다. 지속적 연결은 양방향 통신에 사용되며, 연결에서 양 당사자의 정보 보안을 보장하기 위해 암호화된다.
단계 1304: 전용 서버 프로그램 제어 모듈이 전용 서버 프로그램 제어 모듈의 상태 및 전용 서버 프로그램의 상태를 주기적으로 보고한다.
예를 들어, 멀티 플레이어 게임 X에서, 전용 서버 프로그램 제어 모듈은 전용 서버 프로그램 제어 모듈의 상태와 멀티 플레이어 게임 X에 대응하는 전용 서버 프로그램 b의 상태를 주기적으로 보고한다. 선택적으로, 주기(period)는 1분, 1시간, 1일, 1주 등일 수 있다. 전용 서버 프로그램 제어 모듈이 작동 상태를 보고하는 주기는 본 출원에서 제한되지 않는다.
선택적으로, 상기 상태는 작동 상태이고, 작동 상태는 작동 중, 정상 작동, 비정상 작동 등이다. 예를 들어, 멀티 플레이어 게임 X에서, 전용 서버 프로그램이 비정상 작동 상태에 있는 것으로 결정할 때 또는 이에 응답하여, 전용 서버 프로그램 제어 모듈은 전용 서버 프로그램 b의 상태를 보고한다.
단계 1305: 전용 서버 관리 모듈이 전용 서버 프로그램 명령어(command)를 전송하며, 명령어는 전용 서버 프로그램을 설치, 시작, 폐쇄(closing), 백업(backing up) 및 수정하는 데 사용된다.
전용 서버 관리 모듈은 전용 서버 프로그램 명령어(또는 명령)을 전용 서버 프로그램 제어 모듈에 전송한다. 명령은 설치 명령, 시작 명령, 폐쇄 명령, 백업 명령(전용 서버 프로그램을 업데이트하도록 구성됨) 및 수정 명령(클라우드 룸 또는 게임의 구성을 수정하도록 구성됨)을 포함한다.
위의 내용에 기반하여, 본 실시 예에서 제공되는 방법에 따르면, 두 모듈 간의 통신을 통해 클라우드 룸의 자동화된 배치 및 관리가 구현되어, 클라우드 룸의 배치 효율성과 클라우드 룸의 성공률을 향상시킨다. 또한, 전용 서버 관리 모듈이 전용 서버 프로그램 제어 모듈에 대한 지속적 연결을 구축한 후에, 전용 서버 프로그램 제어 모듈은 전용 서버 관리 모듈에 하트비트 신호를 보고하고, 전용 서버 관리 모듈이 상태를 사용자에게 푸시(push)할 수 있으므로, 사용자는 적시에 클라우드 룸의 상태를 획득할 수 있다.
도 14는 본 출원의 예시적인 실시 예에 따른 전용 서버 프로그램 제어 모듈과 전용 서버 프로그램 사이의 통신 흐름도이다.
단계 1401: 전용 서버 프로그램 제어 모듈이 전용 서버 프로그램을 시작하기 위해 시작 명령을 전용 서버 프로그램에 전송한다.
전용 서버 프로그램 제어 모듈은 전용 서버 프로그램 개발 인터페이스를 통해 시작 명령을 전용 서버 프로그램에 전송하며, 시작 명령은 전용 서버 프로그램을 시작하도록 구성된다. 전용 서버 프로그램 개발 인터페이스는 멀티 플레이어 서비스 플랫폼, 게임 플랫폼, 게임 개발자, 게임 공급자(supplier)를 위해 제공되며, 그리고 복수 유형의 전용 서버 프로그램과 호환되는 전용 서버 프로그램을 설치할 수 있는 인터페이스이다. 예를 들어, 멀티 플레이어 게임 X에서, 전용 서버 프로그램 개발 인터페이스는 전용 서버 프로그램 b를 연결하도록 구성되므로, 전용 서버 프로그램 제어 모듈이 전용 서버 프로그램 b를 다운로드할 수 있다.
단계 1402: 전용 서버 프로그램 개발 인터페이스가 지속적 연결을 능동적으로 구축한다.
전용 서버 프로그램 개발 인터페이스는 전용 서버 프로그램 제어 모듈에 대한 지속적 연결을 능동적으로 구축한다.
단계 1403: 전용 서버 프로그램 제어 모듈이 전용 서버 프로그램 개발 인터페이스에 대한 지속적 연결을 구축하고, 지속적 연결은 양방향 통신에 사용된다.
예를 들어, 멀티 플레이어 게임 X에서, 전용 서버 프로그램 제어 모듈은 전용 서버 프로그램 개발 인터페이스에 대한 지속적 연결을 구축하고, 지속적 연결은 양방향 통신에 사용되므로, 전용 서버 프로그램 b와 전용 서버 프로그램 제어 모듈 사이의 연결이 안정적이고 빠르다.
단계 1404: 전용 서버 프로그램 개발 인터페이스는 하트비트 신호와 클라우드 서버의 계정을 전용 서버 프로그램 제어 모듈에 전송한다.
전용 서버 프로그램은 전용 서버 프로그램 개발 인터페이스를 통해 하트비트 신호와 게임 서버의 계정을 전용 서버 프로그램 제어 모듈에 전송한다. 일부 실시 예에서, 전용 서버 프로그램은 전용 서버 프로그램 개발 인터페이스를 통해, 멀티 플레이어 게임의 유형에 대응하는 전용 서버 프로그램의 설치 패키지를 전용 서버 프로그램 제어 모듈에 전송한다. 선택적으로, 클라우드 서버의 계정은 멀티 플레이어 게임에서 멀티 플레이어 로비(lobby)에 의해 무작위로 배포된다. 멀티 플레이어 로비는 상이한 유형의 멀티 플레이어 게임을 저장하도록 구성된다. 예를 들어, 사용자가 멀티 플레이어 게임 Y를 수행한다. 멀티 플레이어 게임이 유형 C에 속한다고 결정될 때 또는 이에 응답하여, 멀티 플레이어 로비는 클라우드 서버의 계정을 yyy로 멀티 플레이어 게임 Y에 무작위로 할당하고, 전용 서버 프로그램 개발 인터페이스는 클라우드 서버의 계정을 yyy로서 전용 서버 프로그램 제어 모듈에 전송한다.
단계 1405: 전용 서버 프로그램 제어 모듈이 초기 구성 정보를 전용 서버 프로그램 개발 인터페이스에 전송한다.
전용 서버 프로그램 개발 인터페이스는 전용 서버 프로그램 제어 모듈에 의해 전송된 초기 구성 정보를 수신한다. 정보는 멀티 플레이어 게임의 유형 및 초기화 구성 파라미터를 포함한다. 예를 들어, 멀티 플레이어 게임의 유형은 B이고, 초기화 구성 정보는 멀티 플레이어 게임의 스타일이 멀티 플레이어 게임에서 다른 사용자와 협력하는 것이고, 게임 모드는 서바이벌 모드인 것이다.
단계 1406: 전용 서버 프로그램 개발 인터페이스는 전용 서버 프로그램의 상태를 전용 서버 프로그램 제어 모듈에 주기적으로 전송한다.
예를 들어, 전용 서버 프로그램 b가 클라우드 룸에 설치되고, 전용 서버 프로그램 개발 인터페이스는 전용 서버 프로그램 b의 상태를 전용 서버 프로그램 제어 모듈에 전송한다.
단계 1407: 전용 서버 프로그램 제어 모듈이 전용 서버 프로그램 개발 인터페이스를 통해 멀티 플레이어 게임에 대한 구성 수정 명령을 전용 서버 프로그램에 전송한다.
전용 서버 프로그램은 전용 서버 프로그램 제어 모듈에 의해 전송된 멀티 플레이어 게임에 대한 구성 수정 명령에 따라 전용 서버 프로그램을 수정한다. 멀티 플레이어 게임에 대한 구성 수정 명령은 멀티 플레이어 게임의 게임 모드, 게임 스타일, 게임 월드의 환경 및 클라우드 룸에 수용된 사용자 수 중 적어도 하나를 수정하는 것을 포함한다.
단계 1408: 전용 서버 프로그램 제어 모듈이 전용 서버 프로그램 개발 인터페이스를 통해 폐쇄 또는 재시작 명령을 전용 서버 프로그램에 전송한다.
전용 서버 프로그램에 대한 업데이트 프로그램이 있는 것으로 결정할 때 또는 이에 응답하여, 전용 서버 프로그램 제어 모듈은 폐쇄 명령을 전용 서버 프로그램 개발 인터페이스를 통해 전용 서버 프로그램에 전송하며, 폐쇄 명령은 클라우드 룸을 폐쇄하도록 구성된다. 전용 서버 프로그램 제어 모듈이 전용 서버 프로그램을 업데이트하는 것으로 결정할 때 또는 이에 응답하여, 멀티 플레이어 게임의 유형에 대응하는 전용 서버 프로그램이 클라우드 룸에 설치된다. 전용 서버 프로그램 제어 모듈은 성공적인 업데이트에 대한 응답으로 시작 명령을 전용 서버 프로그램에 전송하며, 시작 명령은 클라우드 룸을 시작하도록 구성된다.
클라우드 룸의 작동 상태가 비정상이라고 결정할 때 또는 이에 응답하여, 전용 서버 프로그램 제어 모듈은 재시작 명령을 전용 서버 프로그램에 전송한다. 재시작 명령은 클라우드 룸을 재시작하도록 구성된다. 다르게는, 클라우드 룸의 작동 상태가 비정상이라고 결정할 때 또는 이에 응답하여, 전용 서버 프로그램 제어 모듈은 폐쇄 명령을 전용 서버 프로그램에 전송하고, 폐쇄 명령은 클라우드 룸을 폐쇄하도록 구성된다.
위의 내용에 기반하여, 본 실시 예에서 제공되는 방법에 따라, 클라우드 서버는 클라우드 룸이 비정상 작동 상태에 있는 것으로 결정할 때 또는 이에 응답하여, 클라우드 룸을 재시작하거나 폐쇄하여, 수동 개입 없이 적시에 이상에 대응하며, 이는 중단된(halted) 전용 서버 프로그램으로 인해 사용자에게 걸리는 시간을 감소시켜, 사용자 경험을 개선하고 개발자가 수동으로 문제를 해결하는 비용을 크게 절감한다. 또한, 전용 서버 프로그램 개발 인터페이스는 전용 서버 프로그램의 상태를 더 많이 모니터링할 수 있으며, 이는 사용자나 개발자가 클라우드 룸에서 관련 문제를 신속하게 찾을 수 있도록 도와준다.
도 15는 본 출원의 예시적인 실시 예에 따른 전용 서버 프로그램의 상태를 획득하는 구조의 블록도이다. 전용 서버 프로그램의 상태를 획득하는 구조는 전용 서버 관리 모듈(102), 전용 서버 프로그램 제어 모듈(103) 및 전용 서버 데이터베이스(105)를 포함한다.
전용 서버 프로그램 제어 모듈(103)은 전용 서버 프로그램의 상태 및 전용 서버 프로그램 제어 모듈(103)의 상태를 전용 서버 관리 모듈(102)에 주기적으로 보고하고, 전용 서버 관리 모듈(102)은 상태의 수신시 전용 서버 데이터베이스(105)에 상태를 기록한다.
선택적으로, 전용 서버 프로그램의 상태는 전용 서버 프로그램의 작동 속도, 전용 서버 프로그램이 열리는 것으로 결정할 때 또는 이에 응답하는 로딩 정도(loading degree) 또는 속도, 전용 서버 프로그램의 정상 작동 및 전용 서버 프로그램의 비정상 작동(예를 들어, 전용 서버 프로그램이 멈춤(stuck), 전용 서버 프로그램이 사용자에 의해 트리거된 후 응답이 없음, 전용 서버 프로그램이 중단됨, 전용 서버 프로그램 충돌 등의 비정상적인 현상) 중 적어도 하나를 포함하지만 이에 제한되지는 않는다.
선택적으로, 전용 서버 프로그램 제어 모듈(103)의 상태는, 전용 서버 프로그램 관리 모듈(102)이 전용 서버 프로그램을 시작할 수 없는 것, 전용 서버 프로그램 제어 모듈(103)이 전용 서버 관리 모듈(102)로부터 연결이 해제됨, 전용 서버 프로그램 제어 모듈(103)이 전용 서버 프로그램으로부터 연결이 해제됨, 전용 서버 프로그램 제어 모듈(103)이 상기 상태를 주기적으로 보고할 수 없음, 전용 서버 프로그램 제어 모듈(103)이 클라우드 룸을 구성할 수 없음, 전용 서버 프로그램 제어 모듈(103)이 멀티 플레이어 게임 등에 대응하는 전용 서버 프로그램을 다운로드하거나 설치할 수 없는 것 중 적어도 하나를 포함하지만 이에 제한되지는 않는다.
전용 서버 데이터베이스(105)는 전용 서버 프로그램 제어 모듈(103)의 상태 및 전용 서버 프로그램의 상태를 저장한다. 전용 서버 관리 모듈(102)은 전용 서버 데이터베이스(105)를 통해 전용 서버 프로그램의 상태 및 전용 서버 프로그램 제어 모듈(103)의 상태를 판독하고, 이에 따라 판독 상태를 조정할 수 있다. 전용 서버 데이터베이스(105)는 데이터를 효율적으로 판독하고 기록할 수 있고, 전용 서버 관리 모듈(102) 및 전용 서버 프로그램 제어 모듈(103)과 협력하므로, 클라우드 서버가 보다 안정적으로 작동할 수 있다.
도 16은 본 출원의 예시적인 실시 예에 따른 전용 서버 프로그램의 상태를 모니터링하는 구조의 블록도이다. 전용 서버 프로그램의 상태를 모니터링하는 구조는 전용 서버 모니터링 모듈(106), 전용 서버 관리 모듈(101) 및 클라이언트(105)를 포함한다.
전용 서버 프로그램 제어 모듈(103)은 클라우드 룸의 하트비트 신호를 수신하고, 전용 서버 관리 모듈(101)은 하트비트 신호를 전용 서버 데이터베이스(105)에 기록하며, 전용 서버 모니터링 모듈(106)은 전용 서버 데이터베이스(105)로부터 하트비트 신호를 판독한다. 전용 서버 모니터링 모듈(106)은 클라우드 룸의 작동 상태를 지시하는 데 사용되는 클라우드 룸의 하트비트 신호를 모니터링한다. 하트비트 신호는 특정 빈도로 전용 서버 프로그램 제어 모듈에 전송된다. 전용 서버 관리 모듈(102)은 클라우드 룸의 비정상 작동 상태에 응답하여 재시작 명령을 생성하며, 재시작 명령은 클라우드 룸을 재시작하도록 구성되고, 전용 서버 프로그램 제어 모듈(103)은 재시작 명령에 따라 클라우드 룸을 재시작한다.
선택적으로, 클라우드 룸이 클라이언트에 의해 생성된 것으로 결정할 때 또는 이에 응답하여, 클라이언트 상의 사용자의 모바일 폰 번호 또는 이메일 주소를 사용하여 클라우드 룸 구매를 위한 계정을 등록하고, 클라우드 서버는 사용자의 모바일 폰 번호 또는 이메일 주소를 기록한다. 선택적으로, 전용 서버 프로그램 제어 모듈(103)이 비정상이거나 전용 서버 프로그램이 비정상인 것으로 결정할 때 또는 이에 응답하여, 전용 서버 모니터링 모듈(106)은 경고 이메일(warning email)을 클라이언트에 전송하여 클라이언트에게 클라우드 룸의 작동 상태를 상기시키거나; 또는 경고 메시지를 클라이언트에 전송하거나 또는 클라이언트의 폰 번호로 전화를 걸거나 또는 애플리케이션 프로그램의 정보를 클라이언트에 푸시하는 것에 의해, 클라이언트에게 클라우드 룸의 작동 상태를 상기시키도록 구성된다. 전용 서버 모니터링 모듈(106)이 프롬프트 메시지를 전송하는 형태는 본 출원에서 제한되지 않는다.
클라이언트는 유효 기간 내에 클라우드 룸을 사용하도록 허용되며, 전용 서버 모니터링 모듈(106)은 클라우드 룸에 대한 유효 기간을 모니터링한다. 전용 서버 모니터링 모듈(106)은 유효 기간의 만료 전 타깃 시점에서 프롬프트 요청을 클라이언트에 전송한다.
선택적으로, 전용 서버 모니터링 모듈(106)은 클라우드 룸에 대한 유효 기간이 만료되기 전 타깃 시점에 메시지를 클라이언트에 전송하여, 클라우드 룸의 사용 시간의 유효 기간을 클라이언트에게 알리고, 예를 들어, 클라우드 룸 사용 시간의 유효 기간 내 3일이 남았음을 클라이언트에게 상기시킨다. 일부 실시 예에서, 전용 서버 모니터링 모듈(106)은 애플리케이션 프로그램의 정보를 푸시하는 것에 의해, 사용 시간의 유효 기간을 클라이언트에 전송한다. 선택적으로, 유효 기간의 만료 전 타깃 시점은 유효 기간의 만료일 1일 또는 3일 전이다. 일부 실시 예에서, 유효 기간 만료 전의 타깃 시점은 유효 기간의 만료일 1주일 전이다. 이것은 본 출원에서 제한되지 않는다. 전용 서버 모니터링 모듈(106)은 클라우드 룸의 사용 시간이 만료되는 것으로 결정할 때 또는 이에 대해 응답하여, 메시지를 클라이언트에 전송하여, 클라우드 룸의 사용 시간이 유효 기간을 초과했음을 클라이언트에 알린다. 선택적으로, 클라우드 룸의 사용 시간을 초과하는 유효 기간은 1일, 3일 또는 1주일이며, 프롬프트 방법은 프롬프트 이메일, 또는 프롬프트 메시지, 또는 프롬프트 호출 또는 애플리케이션 프로그램의 정보를 푸시하는 것에 의한 프롬프트 메시지 전송이며, 이는 본 출원에서 제한되지 않는다. 클라이언트는 프롬프트 알림(prompting notification) 수신시 클라우드 룸에 대해 갱신 작동을 수행할 수 있거나 갱신 작동을 수행하지 않는다. 클라이언트가 클라우드 룸에 대해 갱신 작동을 수행하는 것으로 결정할 때 또는 이에 대해 응답하여, 클라우드 룸을 다시 사용할 수 있다. 클라이언트가 적시에 갱신 작동을 수행하지 않으면, 클라우드 서버는 일정 기간 내에 클라이언트에 대한 클라우드 룸의 구성 정보 또는 게임의 관련 파라미터를 보유한다. 선택적으로, 기간은 1일, 3일, 1주 또는 10일이다. 일부 실시 예에서, 기간은 15일이며, 이는 본 출원에서 제한되지 않는다.
위의 내용에 기반하여, 전용 서버 모니터링 모듈(106)은 전용 서버 프로그램 제어 모듈(103)의 상태 및 전용 서버 프로그램의 상태를 모니터링하므로, 사용자가 언제든지 클라우드 룸의 작동 상태를 알 수 있으며, 작동 상태에 따라 조정을 하여 사용자의 요건을 충족시킨다.
본 출원의 장치 실시 예가 아래에 설명된다. 장치 실시 예에서 상세하게 설명되지 않은 세부 사항에 대해서는, 전술한 방법 실시 예에서의 대응 기록을 참조할 수 있으며, 세부 사항은 여기서 다시 설명하지 않는다.
도 17은 본 출원의 예시적인 실시 예에 따른 멀티 플레이어 룸을 제공하는 장치의 개략적인 구조도이다. 이 장치는 소프트웨어, 하드웨어 또는 둘의 조합을 통해 단말의 전체 또는 일부로 구현될 수 있으며, 이 장치는 클라우드 룸 생성 모듈을 포함한다.
클라우드 룸 생성 모듈은 클라이언트에 의해 전송된 클라우드 룸에 대한 생성 요청을 수신하도록 구성되고, 생성 요청은 클라우드 룸의 구성 정보를 운반하며, 클라우드 룸은 적어도 2개의 클라이언트가 멀티 플레이어를 수행하기 위해 사용되고; 클라우드 룸 생성 모듈은 구성 정보에 따라 클라우드 룸을 클라우드 서버에 생성하도록 구성되며; 클라우드 룸 생성 모듈은 클라이언트에 의해 전송된 클라우드 룸에 대한 액세스 요청을 수신하도록 구성되고; 그리고 클라우드 룸 생성 모듈은 액세스 요청에 따라 클라우드 룸을 시작하고 클라이언트를 클라우드 룸에 연결하도록 구성된다.
이 장치는 전용 서버 구매 서브 모듈(1710), 전용 서버 관리 서브 모듈(1720), 전용 서버 프로그램 제어 서브 모듈(1730), 전용 서버 프로그램 배포 서브 모듈(1740), 전용 서버 모니터링 서브 모듈(1750) 및 전용 서버 데이터베이스(1760)를 포함한다.
선택적 예에서, 전용 서버 관리 서브 모듈(1720)은 클라우드 룸에 대한 생성 명령을 생성하도록 구성되며; 전용 서버 프로그램 제어 서브 모듈(1730)은 생성 명령에 따라 클라우드 룸을 생성하도록 구성되고; 전용 서버 관리 서브 모듈(1720)은 멀티 플레이어 게임의 유형에 따라 설치 명령을 생성하도록 구성되며; 전용 서버 프로그램 제어 서브 모듈(1730)은 설치 명령에 따라 멀티 플레이어 게임에 대응하는 전용 서버 프로그램을 클라우드 룸에 설치하도록 구성되고; 전용 서버 프로그램 제어 서브 모듈(1730)은 전용 서버 프로그램의 성공적인 설치에 응답하여 클라우드 룸에 대한 구성 명령을 생성하도록 구성되며; 전용 서버 프로그램 제어 서브 모듈(1730)은 구성 명령에 따라 전용 서버 프로그램을 구성하도록 구성된다.
선택적 예에서, 전용 서버 관리 서브 모듈(1720)은 폐쇄 명령을 생성하도록 구성되고; 전용 서버 프로그램 제어 서브 모듈(1730)은 폐쇄 명령에 따라 클라우드 룸을 폐쇄하도록 구성되며; 전용 서버 관리 서브 모듈(1720)은 업데이트 명령을 생성하도록 구성되고; 전용 서버 프로그램 제어 서브 모듈(1730)은 업데이트 명령에 따라 멀티 플레이어 게임에 대응하는 업데이트 프로그램을 클라우드 룸에 설치하도록 구성되며; 전용 서버 관리 서브 모듈(1720)은 성공적인 업데이트에 응답하여 시작 명령을 생성하도록 구성되고; 전용 서버 프로그램 제어 서브 모듈(1730)은 시작 명령에 따라 클라우드 룸을 시작하도록 구성된다.
선택적 예에서, 전용 서버 구매 서브 모듈(1710)은 클라우드 룸에 대한 구매 주문을 생성하도록 구성되고; 전용 서버 구매 서브 모듈(1710)은 클라이언트에게 리소스를 이전하도록 요청하는 데 사용되는 구매 주문을 클라이언트에 전송하도록 구성되며; 전용 서버 구매 서브 모듈(1710)은 구매 주문을 전용 서버 관리 서브 모듈(1720)에 전송하도록 구성되고; 전용 서버 관리 서브 모듈(1720)은 구매 주문에 따라 구매 주문에 대응하는 리소스를 이전하도록 구성되며; 전용 서버 관리 서브 모듈(1720)은 성공적인 리소스 이전 지시를 생성하도록 구성되고; 전용 서버 프로그램 제어 서브 모듈(1730)은 성공적인 리소스 이전 지시에 따라 클라우드 룸을 생성하도록 구성된다.
선택적 예에서, 전용 서버 관리 서브 모듈(1720)은 클라이언트에 의해 전송되는 클라우드 룸에 대한 구성 수정 요청을 수신하도록 구성되고; 전용 서버 관리 서브 모듈(1720)은 폐쇄 명령을 생성하도록 구성되며; 전용 서버 프로그램 제어 서브 모듈(1730)은 폐쇄 명령에 따라 클라우드 룸을 폐쇄하도록 구성되고; 전용 서버 관리 서브 모듈(1720)은 구성 수정 요청에 따라 구성 수정 명령을 생성하도록 구성되며; 전용 서버 프로그램 제어 서브 모듈(1730)은 구성 수정 명령에 따라 클라우드 룸의 구성 정보를 수정하도록 구성되고; 전용 서버 관리 서브 모듈(1720)은 클라우드 룸의 구성 정보의 성공적인 수정에 응답하여 시작 명령을 생성하도록 구성되며; 전용 서버 프로그램 제어 서브 모듈(1730)은 시작 명령에 따라 클라우드 룸을 시작하도록 구성된다.
선택적 예에서, 전용 서버 프로그램 제어 서브 모듈(1730)은 클라우드 룸의 작동 상태를 지시하는 데 사용되는 클라우드 룸의 하트비트 신호를 수신하도록 구성되고; 전용 서버 관리 서브 모듈(1720)은 하트비트 신호를 전용 서버 데이터베이스(1760)에 기록하도록 구성되며; 전용 서버 모니터링 서브 모듈(1750)은 전용 서버 데이터베이스(1760)로부터 하트비트 신호를 판독하도록 구성되고; 전용 서버 관리 서브 모듈(1720)은 클라우드 룸의 비정상 작동 상태에 응답하여 폐쇄 명령을 생성하도록 구성되며 전용 서버 프로그램 제어 서브 모듈(1730)은 폐쇄 명령에 따라 클라우드 룸을 폐쇄하도록 구성되거나; 또는 전용 서버 관리 서브 모듈(1720)은 클라우드 룸의 비정상적인 작동 상태에 응답하여 재시작 명령을 생성하도록 구성되고, 전용 서버 프로그램 제어 서브 모듈(1730)은 재시작 명령에 따라 클라우드 룸을 재시작하도록 구성된다.
선택적 예에서, 전용 서버 모니터링 서브 모듈(1750)은 클라우드 룸에 대한 유효 기간을 모니터링하도록 구성되며; 전용 서버 모니터링 서브 모듈(1750)은 추가로, 유효 기간이 만료되기 전 타깃 시점에 프롬프트 요청을 클라이언트에 전송하도록 구성된다.
위의 내용에 기반하여, 본 실시 예에서 제공되는 장치에 따르면, 클라이언트는 클라우드 서버에 클라우드 룸을 생성 및 구성하므로, 적어도 2개의 클라이언트가 멀티 플레이어 서비스를 수행할 수 있다. 상이한 유형의 멀티 플레이어 서비스를 수행해야 할 수 있는 것으로 결정할 때 또는 이에 대한 응답으로, 클라이언트는 멀티 플레이어 서비스의 유형에 대응하는 구성 정보를 클라우드 서버에 전송하기만 하면 상이한 유형의 멀티 플레이어 서비스를 수행할 수 있으며, 클라이언트가 상이한 유형의 멀티 플레이어 서비스에 따라 클라우드 룸을 다시 만들어야 하는 문제를 방지할 수 있다.
본 출원의 실시 예에서 서버의 구조가 아래에 설명된다. 도 18은 본 출원의 예시적인 실시 예에 따른 서버 구조의 개략도이다. 구체적으로, 서버(1800)는 중앙 처리 유닛(central processing unit, CPU)(1801), 랜덤 액세스 메모리(random access memory, RAM)(1802) 및 읽기 전용 메모리(read-only memory, ROM)(1803)를 포함하는 시스템 메모리(1804), 및 시스템 메모리(1804)와 CPU(1801)를 연결하는 시스템 버스(1805)를 포함한다. 서버(1800)는 컴퓨터의 구성 요소 간에 정보를 전송하기 위한 기본 I/O 시스템(1806)과 운영 체제(1813), 애플리케이션(1814) 및 다른 프로그램 모듈(1815)을 저장하는 데 사용되는 대용량 스토리지(mass storage) 디바이스(1807)를 더 포함한다.
기본 I/O 시스템(1806)은 정보를 디스플레이하도록 구성된 모니터(1808) 및 사용자가 정보를 입력하도록 구성된 마우스 또는 키보드와 같은 입력 디바이스(1809)를 포함한다. 디스플레이(1808) 및 입력 디바이스(1809)는 모두 시스템 버스(1805)에 연결된 입력/출력 컨트롤러(1810)를 사용하여 CPU(1801)에 연결된다. 기본 I/O 시스템(1806)은 키보드, 마우스 또는 전자 스타일러스와 같은 복수의 다른 디바이스로부터 입력을 수신하고 처리하기 위해 입력/출력 컨트롤러(1810)를 더 포함할 수 있다. 유사하게, I/O 컨트롤러(1810)는 추가로, 출력을, 디스플레이 스크린, 프린터, 또는 다른 유형의 출력 디바이스에 제공한다.
대용량 스토리지 디바이스(1807)는 시스템 버스(1805)에 연결된 대용량 스토리지 컨트롤러(도시되지 않음)를 사용하여 CPU(1801)에 연결된다. 대용량 스토리지 디바이스(1807) 및 연관된 컴퓨터가 판독 가능한 매체는 서버(1800)를 위한 비 휘발성 스토리지를 제공한다. 즉, 대용량 스토리지 디바이스(1807)는 하드 디스크 또는 CD-ROM(compact disc ROM) 드라이브와 같은 컴퓨터가 판독 가능한 매체(도시되지 않음)를 포함할 수 있다.
일반성의 손실없이, 컴퓨터가 판독 가능한 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 휘발성 및 비 휘발성 매체, 그리고 컴퓨터가 판독 가능한 명령, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 데 사용되는 임의의 방법 또는 기술을 사용하여 구현된 제거 가능(removable) 및 제거 불가능한 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EPROM(Erasable Programmable ROM), EEPROM(Electrical Erasable Programmable ROM), 플래시 메모리 또는 다른 솔리드 스테이트 메모리 기술, CD-ROM, DVD(digital versatile disc) 또는 다른 광학 메모리, 테이프 카트리지(tape cartridge), 자기 카세트, 자기 디스크 메모리 또는 다른 자기 스토리지 디바이스를 포함할 수 있다. 물론, 당업자는 컴퓨터 저장 매체가 전술한 여러 유형에 제한되지 않음을 알 수 있다. 시스템 메모리(1804) 및 대용량 스토리지 디바이스(1807)는 총칭하여 메모리로 지칭될 수 있다.
본 출원의 실시 예에 따르면, 서버(1800)는 추가로, 인터넷과 같은 네트워크를 사용하여 네트워크 상의 원격 컴퓨터에 연결되어 실행될 수 있다. 즉, 서버(1800)는 시스템 버스(1805)에 연결된 네트워크 인터페이스 유닛(1811)을 사용하여 네트워크(1812)에 연결되거나, 네트워크 인터페이스 유닛(1811)을 사용하여 다른 유형의 네트워크 또는 원격 컴퓨터 시스템(도시되지 않음)에 연결될 수 있다.
본 출원은 추가로, 컴퓨터 디바이스를 제공한다. 컴퓨터 디바이스는 프로세서 및 적어도 하나의 명령, 또는 적어도 하나의 프로그램, 또는 코드 세트 또는 명령 세트를 저장하는 메모리를 포함하며, 적어도 하나의 명령, 또는 적어도 하나의 프로그램, 또는 코드 세트 또는 명령 세트가 프로세서에 의해 로딩되고 실행되어, 위의 방법 실시 예에서 제공된 멀티 플레이어 룸을 제공하는 방법을 구현한다.
본 출원은 추가로, 적어도 하나의 명령, 또는 적어도 하나의 프로그램, 또는 코드 세트 또는 명령 세트를 저장하는 컴퓨터가 판독 가능한 저장 매체를 제공하며, 적어도 하나의 명령, 또는 적어도 하나의 프로그램, 또는 코드 세트 또는 명령 세트가 프로세서에 의해 로딩되고 실행되어, 위의 방법 실시 예에서 제공된 멀티 플레이어 룸을 제공하는 방법을 구현한다.
본 출원은 추가로, 컴퓨터 프로그램 제품을 제공한다. 컴퓨터 프로그램 제품은 적어도 하나의 명령, 또는 적어도 하나의 프로그램, 또는 코드 세트, 또는 명령 세트를 포함하고, 적어도 하나의 명령, 또는 적어도 하나의 프로그램, 또는 코드 세트 또는 명령 세트가 프로세서에 의해 로딩되고 실행되어, 전술한 측면에 기술된 멀티 플레이어 룸을 제공하는 방법을 구현한다.
명세서에 언급된 "복수"는 둘 이상을 의미한다. "및/또는"은 연관된 객체를 설명하기 위한 연관 관계를 설명하고 세 가지 관계가 존재할 수 있음을 나타낸다. 예를 들어, A 및/또는 B는 A만 존재하는 경우, A와 B가 모두 존재하는 경우, B만 존재하는 경우를 나타낼 수 있다. 본 명세서에서 문자 "/"는 일반적으로 연관된 객체 간의 "또는" 관계를 나타낸다.
당업자는 전술한 실시 예의 단계의 전부 또는 일부가 하드웨어로 구현될 수 있거나 또는 관련 하드웨어를 명령하는 프로그램에 의해 구현될 수 있음을 이해할 수 있다. 프로그램은 컴퓨터가 판독 가능한 저장 매체에 저장될 수 있다. 저장 매체는 읽기 전용 메모리, 자기 디스크, 광 디스크 등일 수 있다.
전술한 설명은 단지 본 출원의 선택적 실시 예일뿐이며, 본 출원을 제한하려는 의도는 아니다. 본 출원의 정신과 원칙 내에서 이루어진 모든 수정, 동등한 대체 또는 개선은 본 출원의 보호 범위에 속한다.

Claims (21)

  1. 클라우드 서버에 적용할 수 있는, 클라우드 룸(cloud room)을 제공하는 방법으로서,
    클라이언트로부터 상기 클라우드 룸에 대한 생성 요청(creation request)을 수신하는 단계 - 상기 생성 요청은 상기 클라우드 룸의 구성 정보를 운반하며, 상기 클라우드 룸은 멀티 플레이어 서비스를 수행하기 위해 적어도 2개의 클라이언트에 의해 사용되고, 상기 클라우드 룸의 구성 정보는 상기 멀티 플레이어 서비스의 유형을 포함함 -;
    상기 클라우드 룸의 구성 정보에 따라 상기 클라우드 서버에 상기 클라우드 룸을 생성하고 구성하는 단계;
    상기 클라이언트로부터 상기 클라우드 룸에 대한 액세스 요청을 수신하는 단계;
    상기 액세스 요청에 따라 상기 클라우드 룸을 시작하고, 상기 클라이언트를 상기 클라우드 룸에 연결하는 단계;
    상기 클라이언트로부터 상기 클라우드 룸에 대한 구성 수정 요청을 수신하는 단계;
    상기 클라우드 룸을 폐쇄하는 단계;
    상기 구성 수정 요청에 따라 상기 클라우드 룸의 구성 정보를 수정하는 단계; 및
    상기 클라우드 룸의 구성 정보의 성공적인 수정에 응답하여 상기 클라우드 룸을 시작하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 클라우드 룸의 구성 정보는 초기화 구성 파라미터를 더 포함하고,
    상기 클라우드 룸의 구성 정보에 따라 상기 클라우드 서버에 상기 클라우드 룸을 생성하고 구성하는 단계는,
    상기 클라우드 룸을 상기 클라우드 서버에 생성하는 단계;
    상기 멀티 플레이어 서비스의 유형에 따라 상기 멀티 플레이어 서비스에 대응하는 전용 서버(proprietary server) 프로그램을 상기 클라우드 룸에 설치하는 단계; 및
    상기 전용 서버 프로그램의 성공적인 설치에 응답하여 상기 전용 서버 프로그램을 시작하고, 상기 전용 서버 프로그램을 구성하는 단계
    를 포함하는, 방법.
  3. 제2항에 있어서,
    상기 클라우드 서버는, 전용 서버 관리 프로그램 및 전용 서버 프로그램 제어 프로그램을 포함하고,
    상기 클라우드 룸을 상기 클라우드 서버에 생성하고, 상기 멀티 플레이어 서비스의 유형에 따라 상기 멀티 플레이어 서비스에 대응하는 전용 서버 프로그램을 상기 클라우드 룸에 설치하며, 그리고 상기 전용 서버 프로그램의 성공적인 설치에 응답하여 상기 전용 서버 프로그램을 시작하고, 상기 전용 서버 프로그램을 구성하는 것은,
    상기 전용 서버 관리 프로그램을 호출하여 상기 클라우드 룸에 대한 생성 명령을 생성하는 것;
    상기 전용 서버 프로그램 제어 프로그램을 호출하여 상기 생성 명령에 따라 상기 클라우드 룸을 생성하는 것;
    상기 전용 서버 관리 프로그램을 호출하여 상기 멀티 플레이어 서비스의 유형에 따라 설치 명령을 생성하는 것;
    상기 전용 서버 프로그램 제어 프로그램을 호출하여 상기 설치 명령에 따라 상기 멀티 플레이어 서비스에 대응하는 상기 전용 서버 프로그램을 상기 클라우드 룸에 설치하는 것;
    상기 전용 서버 프로그램 제어 프로그램을 호출하여, 상기 전용 서버 프로그램의 성공적인 설치에 응답하여 상기 클라우드 룸에 대한 구성 명령을 생성하는 것; 그리고
    상기 전용 서버 프로그램 제어 프로그램을 호출하여 상기 구성 명령에 따라 상기 전용 서버 프로그램을 구성하는 것
    을 포함하는, 방법.
  4. 제2항에 있어서,
    상기 전용 서버 프로그램에 대한 업데이트 프로그램(updating program)의 존재에 응답하여 상기 클라우드 룸을 폐쇄하는(close) 단계;
    상기 멀티 플레이어 서비스의 유형에 따라 상기 멀티 플레이어 서비스에 대응하는 상기 업데이트 프로그램을 상기 클라우드 룸에 설치하는 단계; 및
    성공적인 업데이트에 응답하여 상기 클라우드 룸을 시작하는 단계
    를 더 포함하는 방법.
  5. 제4항에 있어서,
    상기 클라우드 서버는 전용 서버 관리 프로그램 및 전용 서버 프로그램 제어 프로그램을 포함하고,
    상기 전용 서버 프로그램에 대한 업데이트 프로그램의 존재에 응답하여 상기 클라우드 룸을 폐쇄하고, 상기 멀티 플레이어 서비스의 유형에 따라 상기 멀티 플레이어 서비스에 대응하는 상기 업데이트 프로그램을 상기 클라우드 룸에 설치하며, 그리고 성공적인 업데이트에 응답하여 상기 클라우드 룸을 시작하는 것은,
    상기 전용 서버 관리 프로그램을 호출하여 폐쇄 명령을 생성하는 것;
    상기 전용 서버 프로그램 제어 프로그램을 호출하여 상기 폐쇄 명령에 따라 상기 클라우드 룸을 폐쇄하는 것;
    상기 전용 서버 관리 프로그램을 호출하여 업데이트 명령을 생성하는 것;
    상기 전용 서버 프로그램 제어 프로그램을 호출하여 상기 업데이트 명령에 따라 상기 멀티 플레이어 서비스에 대응하는 상기 업데이트 프로그램을 상기 클라우드 룸에 설치하는 것;
    상기 전용 서버 관리 프로그램을 호출하여, 성공적인 업데이트에 응답하여 시작 명령을 생성하는 것; 그리고
    상기 전용 서버 프로그램 제어 프로그램을 호출하여 상기 시작 명령에 따라 상기 클라우드 룸을 시작하는 것
    을 포함하는, 방법.
  6. 제2항에 있어서,
    상기 생성 요청은 구매(purchase) 요청이고,
    상기 클라우드 서버에 상기 클라우드 룸을 생성하는 것은,
    상기 구매 요청에 따라 상기 클라우드 룸에 대한 구매 주문(purchase order)을 생성하는 것;
    상기 클라이언트에게 리소스(resource)를 이전하도록(transfer) 요청하는 데 사용되는 상기 구매 주문을 상기 클라이언트에 전송하는 것; 그리고
    상기 구매 주문에 대응하는 상기 리소스의 성공적인 이전에 응답하여 상기 클라우드 룸을 상기 클라우드 서버에 생성하는 것
    을 포함하는, 방법.
  7. 제6항에 있어서,
    상기 클라우드 서버는, 전용 서버 구매 프로그램 및 전용 서버 관리 프로그램을 포함하고,
    상기 구매 요청에 따라 상기 클라우드 룸에 대한 구매 주문을 생성하고, 상기 클라이언트에게 리소스를 이전하도록 요청하는 데 사용되는 상기 구매 주문을 상기 클라이언트에 전송하며, 그리고 상기 구매 주문에 대응하는 상기 리소스의 성공적인 이전에 응답하여 상기 클라우드 룸을 상기 클라우드 서버에 생성하는 것은,
    상기 전용 서버 구매 프로그램을 호출하여 상기 클라우드 룸에 대한 구매 주문을 생성하는 것;
    상기 전용 서버 구매 프로그램을 호출하여 상기 클라이언트에게 리소스를 이전하도록 요청하는 데 사용되는 상기 구매 주문을 상기 클라이언트에 전송하는 것;
    상기 전용 서버 구매 프로그램을 호출하여, 상기 구매 주문에 대응하는 상기 리소스의 성공적인 이전에 응답하여 지불된 구매 주문(paid purchase order)을 상기 전용 서버 관리 프로그램에 전송하는 것;
    상기 전용 서버 관리 프로그램을 호출하여 상기 지불된 구매 주문에 따라 성공적인 리소스 이전 지시(indication)를 생성하는 것; 그리고
    상기 전용 서버 프로그램 제어 프로그램을 호출하여 상기 성공적인 리소스 이전 지시에 따라 상기 클라우드 룸을 생성하는 것
    을 포함하는, 방법.
  8. 제1항 내지 제7항 중 어느 하나의 항에 있어서,
    상기 클라우드 서버는, 전용 서버 관리 프로그램 및 전용 서버 프로그램 제어 프로그램을 포함하고,
    상기 클라이언트로부터 상기 클라우드 룸에 대한 구성 수정 요청을 수신하고, 상기 클라우드 룸을 폐쇄하며, 상기 구성 수정 요청에 따라 상기 클라우드 룸의 구성 정보를 수정하고, 그리고 상기 클라우드 룸의 구성 정보의 성공적인 수정에 응답하여 상기 클라우드 룸을 시작하는 것은,
    상기 전용 서버 관리 프로그램을 호출하여 상기 클라이언트로부터 상기 클라우드 룸에 대한 구성 수정 요청을 수신하는 것;
    상기 전용 서버 관리 프로그램을 호출하여 폐쇄 명령을 생성하는 것;
    상기 전용 서버 프로그램 제어 프로그램을 호출하여 상기 폐쇄 명령에 따라 상기 클라우드 룸을 폐쇄하는 것;
    상기 전용 서버 관리 프로그램을 호출하여 상기 구성 수정 요청에 따라 구성 수정 명령을 생성하는 것;
    상기 전용 서버 프로그램 제어 프로그램을 호출하여 상기 구성 수정 명령에 따라 상기 클라우드 룸의 구성 정보를 수정하는 것;
    상기 전용 서버 관리 프로그램을 호출하여, 상기 클라우드 룸의 구성 정보의 성공적인 수정에 응답하여 시작 명령을 생성하는 것; 그리고
    상기 전용 서버 프로그램 제어 프로그램을 호출하여 상기 시작 명령에 따라 상기 클라우드 룸을 시작하는 것
    을 포함하는, 방법.
  9. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 클라우드 룸의 작동 상태(operation status)를 지시하는 데 사용되는 상기 클라우드 룸의 하트비트(heartbeat) 신호를 모니터링하는 단계; 및
    상기 클라우드 룸의 비정상 작동 상태에 응답하여 상기 클라우드 룸을 폐쇄하거나 상기 클라우드 룸을 재시작하는 단계
    를 더 포함하는 방법.
  10. 제9항에 있어서,
    상기 클라우드 서버는 전용 서버 모니터링 프로그램 및 전용 서버 데이터베이스를 더 포함하고,
    상기 클라우드 룸의 작동 상태를 지시하는 데 사용되는 상기 클라우드 룸의 하트비트 신호를 모니터링하고, 그리고 상기 클라우드 룸의 비정상 작동 상태에 응답하여 상기 클라우드 룸을 폐쇄하거나 상기 클라우드 룸을 재시작하는 것은,
    상기 전용 서버 프로그램 제어 프로그램을 호출하여, 상기 클라우드 룸의 작동 상태를 지시하는 데 사용되는 상기 클라우드 룸의 하트비트 신호를 수신하는 것;
    상기 전용 서버 관리 프로그램을 호출하여 상기 하트비트 신호를 상기 전용 서버 데이터베이스에 기록하는 것;
    상기 전용 서버 모니터링 프로그램을 호출하여 상기 전용 서버 데이터베이스로부터 상기 하트비트 신호를 판독하는 것; 그리고
    상기 전용 서버 관리 프로그램을 호출하여, 상기 클라우드 룸의 비정상 작동 상태에 응답하여 폐쇄 명령을 생성하고, 상기 전용 서버 프로그램 제어 프로그램을 호출하여 상기 폐쇄 명령에 따라 클라우드 룸을 폐쇄하거나; 또는 상기 전용 서버 관리 프로그램을 호출하여, 상기 클라우드 룸의 비정상 작동 상태에 응답하여 재시작 명령을 생성하고, 상기 전용 서버 프로그램 제어 프로그램을 호출하여 상기 재시작 명령에 따라 상기 클라우드 룸을 재시작하는 것
    을 포함하는, 방법.
  11. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 클라이언트가 유효 기간(validity period) 내에 상기 클라우드 룸을 사용하도록 허용되고,
    상기 방법은,
    상기 클라우드 룸에 대한 상기 유효 기간을 모니터링하는 단계; 및
    상기 유효 기간의 만료 전에, 타깃 시점(target moment)에서 프롬프트 요청(prompting request)을 상기 클라이언트에 전송하는 단계
    를 더 포함하는 방법.
  12. 컴퓨터 디바이스로서,
    프로세서; 및
    적어도 하나의 명령, 또는 적어도 하나의 프로그램, 또는 코드 세트 또는 명령 세트를 저장하는 메모리
    를 포함하고,
    상기 적어도 하나의 명령, 또는 상기 적어도 하나의 프로그램, 상기 코드 세트 또는 상기 명령 세트가 상기 프로세서에 의해 로드되고 실행되어, 제1항 내지 제7항 중 어느 한 항에 따른 클라우드 룸을 제공하는 방법을 구현하는, 컴퓨터 디바이스.
  13. 적어도 하나의 명령, 또는 적어도 하나의 프로그램, 또는 코드 세트 또는 명령 세트를 저장하는 컴퓨터가 판독 가능한 저장 매체로서,
    상기 적어도 하나의 명령, 또는 상기 적어도 하나의 프로그램, 상기 코드 세트 또는 상기 명령 세트가 프로세서에 의해 로드되고 실행되어, 제1항 내지 제7항 중 어느 한 항에 따른 클라우드 룸을 제공하는 방법을 구현하는, 컴퓨터가 판독 가능한 저장 매체.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
KR1020217025419A 2019-06-28 2020-06-23 멀티 플레이어 룸을 제공하는 방법 및 장치, 그리고 디바이스 및 매체 KR102500069B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910578240.2A CN110213298B (zh) 2019-06-28 2019-06-28 联机房间的提供方法、装置、设备及介质
CN201910578240.2 2019-06-28
PCT/CN2020/097745 WO2020259501A1 (zh) 2019-06-28 2020-06-23 联机房间的提供方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
KR20210113337A KR20210113337A (ko) 2021-09-15
KR102500069B1 true KR102500069B1 (ko) 2023-02-14

Family

ID=67795460

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217025419A KR102500069B1 (ko) 2019-06-28 2020-06-23 멀티 플레이어 룸을 제공하는 방법 및 장치, 그리고 디바이스 및 매체

Country Status (7)

Country Link
US (1) US11865456B2 (ko)
EP (1) EP3993342A4 (ko)
JP (1) JP7325704B2 (ko)
KR (1) KR102500069B1 (ko)
CN (1) CN110213298B (ko)
SG (1) SG11202105698UA (ko)
WO (1) WO2020259501A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110213298B (zh) * 2019-06-28 2021-04-09 腾讯科技(深圳)有限公司 联机房间的提供方法、装置、设备及介质
CN111147464A (zh) * 2019-12-18 2020-05-12 北京智明星通科技股份有限公司 一种联机房间服务器的确定方法、装置和电子设备
CN114745559B (zh) * 2021-01-08 2023-09-05 武汉斗鱼网络科技有限公司 直播间云游戏的互动控制方法、系统及相关设备
CN114615171B (zh) * 2022-03-16 2024-01-30 网易(上海)网络有限公司 云游戏服务器的压测处理方法、设备、介质及程序产品

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060126471A (ko) * 2003-10-29 2006-12-07 마츠시타 덴끼 산교 가부시키가이샤 게임 시스템, 게임실행장치, 및 휴대형 저장매체
US7917583B2 (en) * 2006-02-17 2011-03-29 Verizon Patent And Licensing Inc. Television integrated chat and presence systems and methods
CN101155044B (zh) * 2006-09-29 2010-06-09 腾讯科技(深圳)有限公司 邀请即时通信用户加入网络游戏的方法、及用户设备
US20080227553A1 (en) * 2007-03-12 2008-09-18 Yaron Leifenberg Automatic creation of personal player web pages and feed of personal data and game content to the pages
KR101009411B1 (ko) * 2008-09-05 2011-01-19 엔에이치엔(주) 멀티 유저의 참여를 지원하는 온라인 게임 제공 방법 및 시스템
KR101022933B1 (ko) * 2008-09-05 2011-03-16 주식회사 엘지실트론 선택적 자기 차폐를 이용한 반도체 단결정 제조장치 및 제조방법
KR101096323B1 (ko) * 2010-03-12 2011-12-20 엔에이치엔(주) 사용자에 의해 제작된 멀티플레이어 게임을 로비-룸 구조를 통해 온라인 서비스하는 시스템 및 방법
AU2011201530A1 (en) * 2010-04-20 2011-11-03 Aristocrat Technologies Australia Pty Limited A gaming system server
CN102254098A (zh) * 2011-07-08 2011-11-23 盛趣信息技术(上海)有限公司 一种开发部署运营游戏的分布式系统及方法
KR101360189B1 (ko) * 2011-11-09 2014-02-20 (주)네오위즈게임즈 인터넷 게임에서의 사용자 매칭 방법 및 시스템
US8684820B2 (en) * 2012-02-06 2014-04-01 Hothead Games, Inc. Virtual competitive group management systems and methods
KR101383695B1 (ko) * 2012-03-14 2014-04-23 (주)네오위즈게임즈 자동 게임방 생성 방법 및 장치
US9566505B2 (en) 2012-12-27 2017-02-14 Sony Interactive Entertainment America Llc Systems and methods for generating and sharing video clips of cloud-provisioned games
US9381436B2 (en) * 2013-03-12 2016-07-05 Google Inc. Mechanism for implementing cloud local area network party service for multi-player content/game environment
CN103391283B (zh) * 2013-06-27 2015-04-01 腾讯科技(深圳)有限公司 一种游戏接入方法、游戏处理方法及服务器、终端、系统
GB201318802D0 (en) * 2013-10-24 2013-12-11 Linn Prod Ltd Linn Exakt
CN104363476B (zh) * 2014-11-17 2018-03-20 广州华多网络科技有限公司 一种基于在线直播的组队活动方法、相关装置及系统
CN106422324B (zh) * 2015-08-11 2019-09-20 腾讯科技(深圳)有限公司 多终端的实时通讯方法、装置及系统
CN105194874A (zh) * 2015-09-30 2015-12-30 乐金伟 局域网跨平台游戏对战交互的方法及系统
CN106096952A (zh) * 2016-06-22 2016-11-09 北京展鸿软通科技股份有限公司 手机游戏支付方法、支付服务器及支付系统
CN106101132B (zh) * 2016-07-08 2019-04-26 腾讯科技(深圳)有限公司 一种组队系统、方法及装置
CN108562024B (zh) * 2018-04-18 2020-04-03 广东美的暖通设备有限公司 多联机空调系统的集控方法、系统及计算机可读存储介质
CN109088799B (zh) * 2018-09-28 2021-09-14 腾讯科技(深圳)有限公司 一种客户端接入方法、装置、终端以及存储介质
CN109582472B (zh) * 2018-10-19 2021-05-18 华为技术有限公司 一种微服务处理方法及设备
CN110213298B (zh) * 2019-06-28 2021-04-09 腾讯科技(深圳)有限公司 联机房间的提供方法、装置、设备及介质

Also Published As

Publication number Publication date
KR20210113337A (ko) 2021-09-15
WO2020259501A1 (zh) 2020-12-30
JP2022519549A (ja) 2022-03-24
CN110213298A (zh) 2019-09-06
EP3993342A1 (en) 2022-05-04
EP3993342A4 (en) 2022-08-24
JP7325704B2 (ja) 2023-08-15
US11865456B2 (en) 2024-01-09
US20210283508A1 (en) 2021-09-16
CN110213298B (zh) 2021-04-09
SG11202105698UA (en) 2021-06-29

Similar Documents

Publication Publication Date Title
KR102500069B1 (ko) 멀티 플레이어 룸을 제공하는 방법 및 장치, 그리고 디바이스 및 매체
EP4087257A1 (en) Cloud mobile phone-based method for live streaming and device thereof
CN110898428B (zh) 多虚拟对象交互的方法、装置、服务器及存储介质
JP6398001B2 (ja) ゲームセッションのリプレイの間の新タイムラインのスポーン
CN110830735B (zh) 一种视频生成方法、装置、计算机设备和存储介质
CN102571900A (zh) 一种实现远端实时操控的系统和方法
CN104937903A (zh) 具有内容递送网络的被管理的p2p网络
KR20040096489A (ko) 다중-사용자 애플리케이션 프로그램 인터페이스
JP2016501416A (ja) P2pネットワークにおけるコンテンツソース選択
CN111787367B (zh) 发放资源的方法、装置、系统、存储介质和计算机设备
CN112494934A (zh) 云游戏数据的处理方法、装置、设备及存储介质
CN111625353B (zh) 虚拟资源分发处理方法、装置、服务器及存储介质
CN107959891A (zh) 一种直播系统
CN113505354B (zh) 一种数据处理方法、装置及存储介质
JP2015217311A (ja) ゲームサービス方法、ゲームサービス方法を実行するためのプログラムが記録されているコンピュータで読み取り可能な記録媒体、ゲームサービスシステム、及びファイル配布システム
CN114244602A (zh) 多用户在线的网络服务系统、方法、装置及介质
CN110113414B (zh) 一种管理副本的方法、装置、服务器及存储介质
EP2726974A1 (en) Data locker synchronization
JP7397082B2 (ja) ネットワークゲームシステムにおける安全なデータチャネル
JP2008016040A (ja) 課金管理サーバ
CN114047918A (zh) 任务处理方法、装置、设备、存储介质及产品
CN113509719B (zh) 多版本应用的计算机系统、运行方法、装置及介质
CN117205572A (zh) 云游戏代打权限的确定方法及电子设备
US11167212B1 (en) Maintaining session state using redundant servers
US11465045B1 (en) Maintaining session state using redundant servers

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