KR20070098359A - Game broadcasting system using server mirroring - Google Patents
Game broadcasting system using server mirroring Download PDFInfo
- Publication number
- KR20070098359A KR20070098359A KR1020060029911A KR20060029911A KR20070098359A KR 20070098359 A KR20070098359 A KR 20070098359A KR 1020060029911 A KR1020060029911 A KR 1020060029911A KR 20060029911 A KR20060029911 A KR 20060029911A KR 20070098359 A KR20070098359 A KR 20070098359A
- Authority
- KR
- South Korea
- Prior art keywords
- game
- server
- mirroring
- message
- publisher
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 46
- 238000012546 transfer Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000004088 simulation Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/85—Providing additional services to players
- A63F13/86—Watching games played by other players
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/50—Business processes related to the communications industry
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
도 1은 통상적인 게임 중계 시스템의 일례를 도시한 도면.1 shows an example of a conventional game relay system.
도 2는 본 발명의 바람직한 일 실시예에 따른 서버 미러링을 이용한 게임 중계 시스템의 구성을 도시한 도면.2 is a diagram showing the configuration of a game relay system using server mirroring according to an embodiment of the present invention.
도 3은 본 발명의 바람직한 일 실시예에 따른 메시지 라우팅 서버에 생성되는 그룹을 도시한 도면.3 illustrates a group created in a message routing server according to one preferred embodiment of the present invention.
도 4는 본 발명의 바람직한 일 실시예에 따른 퍼블리서 게임 서버 및 미러링 게임 서버의 게임 의 상태를 나타낸 도면.4 is a view showing a state of a game of a publishing game server and a mirroring game server according to an embodiment of the present invention.
도 5는 본 발명의 바람직한 일 실시예에 따른 방송 서버 시스템의 구성을 도시한 도면.5 is a diagram showing the configuration of a broadcast server system according to an embodiment of the present invention.
도 6은 본 발명의 바람직한 일 실시예에 따른 퍼블리서 게임 서버에 게임 룸 생성 시 미러링 게임 서버에 게임 룸이 생성되는 과정에 대한 순서도.6 is a flowchart illustrating a process of creating a game room in a mirroring game server when creating a game room in a publisher game server according to an exemplary embodiment of the present invention.
도 7은 본 발명의 바람직한 일 실시예에 따른 중계자의 해설에 대한 음성 및 영상 데이터가 퍼블리서 게임 서버 또는 미러링 게임 서버의 관전자 클라이언트들에 전송되는 과정을 도시한 순서도.FIG. 7 is a flowchart illustrating a process of transmitting audio and video data for commentator's commentary to a spectator client of a publishing game server or a mirroring game server according to an exemplary embodiment of the present invention.
도 8은 본 발명의 바람직한 일 실시예에 따른 퍼블리서 게임 서버에서 게임 룸 삭제 시 미러링 게임 서버에서 미러링된 게임 룸이 삭제되는 과정을 도시한 순서도.8 is a flowchart illustrating a process of deleting a mirrored game room from a mirroring game server when deleting a game room from a publisher game server according to an exemplary embodiment of the present invention.
도 9는 본 발명의 바람직한 일 실시예에 따른 게임 진행 상황이 미러링 게임 서버에서 재현되도록 퍼블리서 게임 서버의 게임 룸에서 교환되는 게임 커맨드가 미러링 게임 서버에 전달되는 과정에 대한 순서도.9 is a flowchart illustrating a process of transferring game commands exchanged in a game room of a publishing game server to a mirroring game server so that a game progress is reproduced in a mirroring game server according to an exemplary embodiment of the present invention.
도 10은 본 발명의 바람직한 일 실시예에 따른 특정 미러링 게임 서버에서 장애가 발생할 경우 장애를 복구하는 과정에 대한 순서도.10 is a flowchart illustrating a process of recovering from a failure when a failure occurs in a specific mirroring game server according to an exemplary embodiment of the present invention.
도 11은 본 발명의 일 실시예에 따른 퍼블리서 게임 서버의 메시지가 메시지 라우팅 서버를 통해 서브스크라이버 그룹에 속한 미러링 게임 서버들에 전달되는 개념도를 도시한 도면.FIG. 11 illustrates a conceptual diagram in which a message of a publisher game server is delivered to mirroring game servers belonging to a subscriber group through a message routing server according to an embodiment of the present invention.
본 발명은 서버 미러링을 이용한 게임 중계 시스템 및 방법에 관한 것으로서, 더욱 상세하게는 다수의 사용자가 서버 용량의 제한을 받지 않고 게임 중계를 관전할 수 있는 시스템 및 방법에 관한 것이다. The present invention relates to a game relay system and method using server mirroring, and more particularly, to a system and method that allows a plurality of users to watch the game relay without being limited by the server capacity.
근래에 들어, 게임 기술의 발전과 함께 게임에 있어서도, 스포츠와 같이, 관전이 하나의 문화로 정착되어가고 있다. 특히, 바둑이나 스타크래프트와 같은 전략 시뮬레이션 게임에서 게임 관전을 즐기는 사용자는 계속적으로 증가하는 추세이며 게임 중계를 위한 새로운 시스템들이 개발되고 있다. In recent years, with the development of game technology, watching games have become a culture as well as sports. In particular, the number of users who enjoy watching games in a strategy simulation game such as Go or StarCraft continues to increase, and new systems for game relaying are being developed.
초기에는 게임 상황을 카메라로 촬영하여 방송하는 방법이 주로 이용되었으나, 이는 TV 시청자에게만 게임을 중계할 수 있다는 한계가 있었으며, 많은 사용자들이 컴퓨터를 통해 게임을 관전할 수 있는 시스템을 요구하였다. In the early days, the method of broadcasting a camera by shooting a game situation was mainly used, but there was a limitation that the game could be relayed only to TV viewers, and many users demanded a system for watching games through a computer.
종래의 컴퓨터를 통해 게임을 관전할 수 있는 게임 중계 시스템에서 가장 문제가 된 것은 서버의 부하였다. 게임 관전을 위해 다수의 사용자가 게임 서버에 접속할 경우, 서버의 용량 한계로 인해 일정 수 이상의 사용자에게는 게임 관전 서비스가 제공되지 못하는 문제점이 있었다. The most problematic problem in the game relay system that can watch a game through a conventional computer was the server's load. When a large number of users access the game server for game watching, there is a problem that the game watching service cannot be provided to a certain number of users due to the capacity limitation of the server.
도 1은 통상적인 게임 중계 시스템의 일례를 도시한 도면이다. 1 is a diagram showing an example of a conventional game relay system.
많은 수의 사용자가 접속하는 온라인 게임 서비스의 경우, 사용자가 복수의 서버들(100, 102, 104) 중 하나의 서버를 선택하도록 하며, 사용자는 선택한 서버에서 게임을 플레이하거나 게임을 관전한다. In the case of an online game service to which a large number of users connect, the user selects one server among the plurality of
예를 들어, 사용자가 제1 게임 서버(100)에 접속한 경우, 사용자는 제1 게임 서버(100)에 접속한 사용자들과만 커뮤니케이션이 가능하며, 제1 게임 서버에 생성된 게임 룸에서만 게임을 플레이하거나 관전할 수 있다. For example, when a user accesses the
즉, 제1 게임 서버(100)에 접속한 사용자는 제2 게임 서버에 생성된 게임 룸에 참가할 수도 없으며, 제2 서버에 생성된 게임 룸에서 진행되는 게임 상황을 관전할 수도 없다. That is, a user who accesses the
근래의 들어, 바둑이나 전략 시뮬레이션 게임은 게임 플레이 외에도 관전 위 주로 게임을 즐기는 사용자가 늘어가고 있으며, 유명한 프로기사의 대국의 경우 상당수의 사용자가 관전에 참여하고 있다. In recent years, the game of Go or strategy simulation game is increasing in addition to the game play, the number of users who enjoy the game mainly on the watching game, and in the case of the famous pro knights game, a large number of users participate in the game.
그러나, 도 1과 같은 시스템이 사용될 경우, 제1 게임 서버에서 프로 기사간의 대국이 이루어지고 특정 중계자가 대국 상황에 대한 해설을 하고 있을 경우 제2 게임 서버(102) 및 제3 게임 서버(104)에 접속한 사용자들은 제1 게임 서버에서 진행되는 대국 상황 및 중계자의 해설을 전혀 관전할 수 없는 문제점이 있었다. However, when the system as shown in FIG. 1 is used, when the game is played between professional articles in the first game server, and the specific relay is explaining the situation of the game, the
제1 게임 서버(100)에의 대국 진행 상황을 제2 게임 서버 및 제3 게임 서버로 제1 게임 서버(100)가 전송할 수도 있으나, 이 경우 트래픽이 급격히 증가하게 되고, 대국 진행 상황 전달을 위한 컨트롤 서버가 구비되어야 하며, 상기 컨트롤 서버는 상당히 복잡한 로직으로 구성되어야 하는 문제점이 있었다. The
상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명에서는 서버 용량의 제한을 받지 않고 다수의 사용자가 게임 중계를 관전할 수 있는 게임 중계 시스템을 제안하는 것이다. In order to solve the problems of the prior art as described above, the present invention proposes a game relay system that allows a plurality of users to watch the game relay without being limited by the server capacity.
본 발명의 다른 목적은 서버 미러링을 이용하여 게임이 진행되는 서버와 다른 서버에 접속한 사용자들도 게임 진행 상황 및 중계자의 해설을 제공받을 수 있는 게임 중계 시스템을 제안하는 것이다. Another object of the present invention is to propose a game relay system that enables users who are connected to a server where a game is played and another server using server mirroring to receive commentary of the game progress and the relay.
본 발명의 또 다른 목적은 비교적 간단한 로직을 가진 메시지 라우팅 서버를 이용하여 서버 미러링을 수행함으로써 게임 중계 시 서버 부하의 문제를 해결할 수 있는 게임 중계 시스템을 제안하는 것이다. Another object of the present invention is to propose a game relay system that can solve the server load problem during game relaying by performing server mirroring using a message routing server having relatively simple logic.
상기한 바와 같은 목적을 달성하기 위하여 본 발명의 일 측면에 따르면, 퍼블리서 그룹 및 서브스크라이버 그룹을 생성하며, 서버로부터의 요청 정보에 상응하여 상기 퍼블리서 그룹 및 서브스크라이버 그룹 중 하나에 참가시키는 메시지 라우팅 서버; 상기 메시지 라우팅 서버의 퍼블리서 그룹에 참가하여 상기 메시지 라우팅 서버와 커넥션을 유지하며, 중계자 및 게임 플레이어가 참가하는 게임 룸이 생성되는 적어도 하나의 퍼블리서 게임 서버; 상기 메시지 라우팅 서버의 서브스크라이버 그룹에 참가하여 상기 메시지 라우팅 서버와 커넥션을 유지하는 적어도 하나의 미러링 게임 서버; 및 상기 퍼블리서 게임 서버의 게임 룸의 참가한 중계자의 음성 및 영상을 포함하는 동영상 데이터를 방송하는 방송 서버 시스템을 포함하되, 상기 퍼블리서 게임 서버에 상기 게임 룸이 생성될 경우, 상기 퍼블리서 게임 서버는 게임 룸 생성 메시지 및 상기 게임 룸에서의 게임 진행 정보 메시지를 상기 메시지 라우팅 서버에 전송하며, 상기 메시지 라우팅 서버는 상기 퍼블리서 게임 서버로부터 수신한 상기 게임 룸 생성 메시지 또는 게임 진행 정보 메시지를 상기 서브스크라이버 그룹에 참가한 모든 미러링 게임 게임 서버에 전달하며, 상기 적어도 하나의 미러링 게임 서버 각각은 상기 퍼블리서 게임 서버의 게임 룸과 동일한 게임 룸을 미러링하며, 미러링된 게임 룸에 참가한 클라이언트들은 상기 방송 서버 시스템으로부터 상기 동영상 데이터를 수신하는 서버 미러링을 이용한 게임 중계 시스템이 제공된다. According to an aspect of the present invention to achieve the object as described above, create a publisher group and subscriber group, and participate in one of the publisher group and subscriber group corresponding to the request information from the server Message routing server; At least one publisher game server participating in the publisher group of the message routing server and maintaining a connection with the message routing server, wherein a game room in which a repeater and a game player participate is created; At least one mirroring game server participating in a subscriber group of the message routing server and maintaining a connection with the message routing server; And a broadcast server system that broadcasts video data including voices and videos of participating relays in a game room of the publisher game server, wherein the game room is created in the publisher game server. Transmits a game room creation message and a game progress information message in the game room to the message routing server, and the message routing server receives the game room creation message or game progress information message received from the publisher game server. The at least one mirroring game server mirrors the same game room as the game room of the publisher game server, and the clients participating in the mirrored game room are broadcasted to the broadcast server. The video data from the system A game relay system using server mirroring is provided.
상기 적어도 하나의 미러링 게임 서버는, 상기 메시지 라우팅 서버로부터, 상기 퍼블리서 게임 서버의 게임 진행 정보 메시지를 수신할 경우, 상기 게임 진행 정보 메시지를 상기 미러링 게임 서버의 상기 미러링된 게임 룸에 참가한 클라이언트들에 전송한다. When the at least one mirroring game server receives a game progress information message of the publisher game server from the message routing server, the at least one mirroring game server joins the game progress information message to the mirrored game room of the mirroring game server. To transmit.
상기 퍼블리서 게임 서버는 상기 메시지 라우팅 서버에 멀티캐스트 방식으로 상기 게임 룸 생성 메시지 및 상기 게임 진행 정보 메시지를 전송하며, 상기 퍼블리서 게임 서버로부터 상기 메시지 라우팅 서버로 전송되는 메시지는 상기 서브스크라이버 그룹이 목적지 주소로 설정된다. The publisher game server transmits the game room creation message and the game progress information message to the message routing server in a multicast manner, and the message transmitted from the publisher game server to the message routing server is transmitted to the subscriber group. It is set to this destination address.
상기 적어도 하나의 미러링 게임 서버 각각은 상기 메시지 라우팅 서버로부터 게임 룸 생성 메시지를 수신할 경우, 상기 퍼블리서 게임 서버에 생성된 게임 룸 번호와 상기 미러링 게임 서버에서 미러링된 게임 룸 번호를 매칭시키기 위한 매칭 테이블 또는 매칭 코드를 생성한다. When each of the at least one mirroring game server receives a game room creation message from the message routing server, a matching for matching the game room number generated in the publishing game server with the mirrored game room number in the mirroring game server. Generate a table or matching code.
상기 게임 진행 정보 메시지는 상기 퍼블리서 게임 서버의 게임 룸에 참가한 플레이어 또는 중계자가 전송하는 게임 커맨드 정보 및 상기 퍼블리서 게임 서버의 게임 룸에 참가한 플레이어, 중계자 및 관전자가 교환하는 채팅 메시지를 포함한다. The game progress information message includes game command information transmitted by a player or a repeater participating in the game room of the publisher game server, and a chat message exchanged between players, relays, and spectators participating in the game room of the publisher game server.
상기 적어도 하나의 퍼블리서 게임 서버 및 상기 적어도 하나의 미러링 게임 서버는 상기 메시지 라우팅 서버와 소켓을 통해 커넥션을 유지하며, 상기 메시지 라우팅 서버는 상기 퍼블리서 게임 서버로부터 상기 서브스크라이버 그룹에 참가한 미러링 게임 서버로 전송될 메시지를 수신할 경우, 상기 소켓을 통해 상기 수신된 메시지를 서브스크라이버 그룹에 참가한 미러링 게임 서버에 전송한다. The at least one publisher game server and the at least one mirroring game server maintain a connection with the message routing server through a socket, the message routing server joining the subscriber group from the publisher game server When receiving a message to be transmitted to the server, the received message is transmitted to the mirroring game server participating in the subscriber group through the socket.
상기 미러링 게임 서버는, 상기 메시지 라우팅 서버로부터 상기 퍼블리서 게임 서버의 게임 진행 정보 메시지를 수신할 경우, 상기 게임 진행 정보 메시지를 분석하여 상기 메시지와 관련된 퍼블리서 게임 서버의 게임 룸 번호를 판단하고, 상기 매칭 테이블 또는 매칭 코드를 이용하여 관련된 상기 미러링 게임 서버에서의 미러링된 게임 룸 번호를 판단한 후 상기 게임 진행 정보 메시지를 해당 게임 룸에 제공한다. When the mirroring game server receives the game progress information message of the publisher game server from the message routing server, the mirroring game server analyzes the game progress information message to determine the game room number of the publisher game server related to the message, After determining the mirrored game room number in the related mirroring game server using the matching table or the matching code, the game progress information message is provided to the corresponding game room.
상기 방송 서버 시스템은, 복수의 방송 서버; 및 상기 중계자의 클라이언트로부터 방송 아이디를 요청받을 경우, 방송 아이디 및 상기 중계자의 클라이언트가 상기 동영상 데이터를 전송할 적어도 두 개의 방송 서버 주소 정보를 제공하는 접속 제어 서버를 포함하며, 상기 중계자의 클라이언트는 상기 적어도 두 개의 방송 서버로 상기 동영상 데이터를 동시에 전송한다. The broadcast server system includes a plurality of broadcast servers; And a connection control server for providing a broadcast ID and at least two broadcast server address information to which the client of the relay transmits the video data when the broadcast ID is requested from the client of the relay. The video data is simultaneously transmitted to two broadcast servers.
상기 상기 퍼블리서 게임 서버의 게임 룸 및 상기 미러링 게임 서버에 미러링된 게임 룸은 참가한 클라이언트들에 상기 중계자의 클라이언트에게 할당된 방송 아이디를 제공하고, 상기 퍼블리서 게임 서버 또는 상기 미러링 게임 서버의 게임 룸에 참가하여 상기 방송 아이디를 제공받은 클라이언트는 상기 접속 제어 서버에 상기 방송 아이디에 상응하는 방송 서버 주소를 요청하며, 상기 접속 제어 서버는 상기 중계자의 동영상 데이터를 수신하는 적어도 두 개의 방송 서버 중 로드가 적은 하나의 방송 서버 주소 정보를 상기 게임 룸에 참가한 클라이언트에 제공한다. The game room of the publisher game server and the game room mirrored to the mirroring game server provide the participating clients with a broadcast ID assigned to the client of the relay, and the game room of the publishing game server or the mirroring game server. The client provided with the broadcast ID requests the broadcast control server address corresponding to the broadcast ID to the access control server, and the access control server has a load among at least two broadcast servers receiving the video data of the relay. Provide a piece of broadcast server address information to the client participating in the game room.
본 발명의 다른 측면에 따르면, 적어도 하나의 퍼블리서 게임 서버 및 적어도 하나의 미러링 게임 서버와 연결되어 상기 퍼블리서 게임 서버에 생성된 게임 룸을 상기 미러링 게임 서버에 미러링하기 위한 메시지 라우팅 서버로서, 상기 적어도 하나의 퍼블리서 게임 서버가 참가하는 퍼블리서 그룹 및 상기 적어도 하나의 미러링 게임 서버가 참가하는 서브스크라이버 그룹을 생성하며, 상기 퍼블리서 게임 서버로부터 게임 룸 생성 메시지 또는 게임 진행 정보 메시지를 수신할 경우, 상기 퍼블리서 게임 서버로부터 수신된 메시지-상기 메시지는 상기 서브스크라이버 그룹이 목적지 주소로 설정됨-를 상기 서브스크라이버 그룹에 참가한 모든 미러링 게임 서버에 전송하되, 상기 적어도 하나의 퍼블리서 게임 서버와 상기 적어도 하나의 미러링 게임 서버와 소켓을 통해 커넥션을 유지하는 메시지 라우팅 서버가 제공된다. According to another aspect of the present invention, a message routing server connected to at least one publisher game server and at least one mirroring game server to mirror a game room created in the publisher game server to the mirroring game server, wherein Create a publisher group in which at least one publisher game server joins and a subscriber group in which the at least one mirroring game server joins, and receive a game room creation message or a game progress information message from the publisher game server And if the message is received from the publisher game server, the message is set to the destination address of the subscriber group to all mirroring game servers participating in the subscriber group, the at least one publisher game. Server and the at least one mirroring game standing The message routing server is provided and maintained connections through the socket.
본 발명의 또 다른 측면에 따르면, 적어도 하나의 퍼블리서 게임 서버, 적어도 하나의 미러링 게임 서버, 방송 서버 시스템 및 상기 적어도 하나의 퍼블리서 게임 서버 및 미러링 게임 서버와 커넥션을 유지하는 메시지 라우팅 서버를 포함하는 시스템에서 서버 미러링을 이용한 게임 중계 방법으로서, 상기 퍼블리서 게임 서버에서 게임 룸이 생성될 경우, 게임 룸 생성 메시지 및 상기 게임 룸에서의 게임 진행과 관련된 게임 진행 메시지를 상기 메시지 라우팅 서버에 전송하는 단계(a)-상기 게임 룸에는 적어도 중계자 및 게임 플레이어가 참가함-; 상기 게임 룸에 참가한 상기 중계자의 클라이언트가 중계자의 음성 및 영상을 포함하는 동영상 데이터를 상기 방송 서버 시스템에 전송하는 단계(b); 상기 메시지 라우팅 서버에 서 상기 퍼블리서 게임 서버로부터 전송된 상기 게임 룸 생성 메시지 및 상기 게임 진행 정보 메시지를 상기 메시지 라우팅 서버와 커넥션을 유지하는 적어도 하나의 미러링 게임 서버에 전송하는 단계(c); 및 상기 적어도 하나의 미러링 게임 서버가 상기 메시지 라우팅 서버로부터 게임 룸 생성 메시지를 수신할 경우, 상기 미러링 게임 서버가 상기 게임 룸 생성 메시지에 포함된 게임 룸 정보와 동일한 게임 룸을 미러링하는 단계(d); 상기 미러링 게임 서버의 미러링된 게임 룸 또는 상기 퍼블리서 게임 서버의 게임 룸에 클라이언트가 참가할 경우, 상기 방송 서버 시스템으로부터 상기 중계자의 상기 동영상 데이터를 수신할 수 있는 방송 아이디를 제공하는 단계(e)를 포함하는 서버 미러링을 이용한 게임 중계 방법이 제공된다. According to another aspect of the present invention, there is provided a message routing server for maintaining a connection with at least one publisher game server, at least one mirroring game server, a broadcast server system, and the at least one publisher game server and a mirroring game server. A game relay method using server mirroring in a system for transmitting a game room creation message and a game progress message related to a game progress in the game room when the game room is generated in the publisher game server, the message routing server. Step (a), at least a relay and a game player join the game room; (B) transmitting, by the client of the repeater participating in the game room, video data including the voice and video of the repeater to the broadcast server system; (C) transmitting, at the message routing server, the game room creation message and the game progress information message transmitted from the publisher game server to at least one mirroring game server maintaining a connection with the message routing server; And when the at least one mirroring game server receives the game room creation message from the message routing server, mirroring the game room that is identical to the game room information included in the game room creation message. ; (E) providing a broadcast ID for receiving the video data of the relayer from the broadcast server system when the client joins the mirrored game room of the mirroring game server or the game room of the publisher game server. A game relay method using server mirroring is provided.
이하에서는 첨부된 도면을 참조하여 본 발명에 의한 서버 미러링을 이용한 게임 중계 시스템 및 방법의 바람직한 실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of a game relay system and method using server mirroring according to the present invention will be described in detail with reference to the accompanying drawings.
도 2는 본 발명의 바람직한 일 실시예에 따른 서버 미러링을 이용한 게임 중계 시스템의 구성을 도시한 도면이다. 2 is a diagram illustrating a configuration of a game relay system using server mirroring according to an exemplary embodiment of the present invention.
도 2를 참조하면, 본 발명의 일 실시예에 따른 서버 미러링을 이용한 게임 중계 시스템은 복수의 게임 서버(200, 202, 204), 메시지 라우팅 서버(206) 및 방송 서버 시스템(208)을 포함할 수 있다. 본 발명의 일 실시예에 따른 서버 미러링을 이용한 게임 중계 시스템에는 네트워크를 통해 복수의 사용자 클라이언트들(220, 222, 224, 226, 228, 230)이 연결된다. 2, a game relay system using server mirroring according to an embodiment of the present invention may include a plurality of
본 발명은 게임 서버(200, 202, 204)의 특정 게임 룸에서 진행되는 게임을 중계하는 방법 및 시스템에 관한 것이다. 여기서 게임 서버의 특정 게임 룸에서 진행되는 게임은 사용자들끼리 경쟁 또는 협력을 통해 게임을 진행하도록 하는 다양한 종류의 온라인 게임을 포함할 수 있을 것이다. 예를 들어, 본 발명에 의해 중계되는 게임은 바둑, 장기와 같은 게임일 수도 있으며, 스타크래프트, 워크래프트와 같은 실시간 전략 시뮬레이션 게임일 수도 있다. 이러한 게임 이외에도 다양한 종류의 보드 게임 및 대전 게임 등이 본 발명에 의한 게임 중계 시스템에 사용될 수 있을 것이다. The present invention relates to a method and system for relaying a game played in a specific game room of a game server (200, 202, 204). Here, the game played in a specific game room of the game server may include various kinds of online games that allow users to play the game through competition or cooperation. For example, the game relayed by the present invention may be a game such as Go, Shogi, or may be a real-time strategy simulation game such as StarCraft or Warcraft. In addition to these games, various kinds of board games and competitive games may be used in the game relay system according to the present invention.
일반적으로, 제1 게임 서버(200)의 특정 게임 룸에서 게임이 진행되고 있고 중계자가 해당 게임룸에 참가하여 중계를 하고 있을 경우, 클라이언트들(220, 222, 224, 226, 228, 230)은 제1 게임 서버(200)의 해당 게임 룸에 참가하여야 게임을 관전하고 중계자의 해설을 제공받을 수 있다. In general, when a game is in progress in a specific game room of the
그러나, 전술한 바와 같이, 제1 게임 서버(200)가 더 이상 사용자를 수용할 수 없을 정도로 게임 중계 관전자가 많아지는 경우, 제1 게임 서버(200)에 접속하지 못한 사용자들은 게임 중계를 관전하고 싶어도 관전할 수 없는 문제점이 있었다. However, as described above, when the game relay spectator increases so that the
본 발명에서는 서버 미러링을 이용하여 게임이 중계되는 게임 룸이 개설된 게임 서버에 접속하지 않은 사용자들도 게임 중계를 관전할 수 있는 방법을 제안한다. 예를 들어, 본 발명에 의하면, 제1 게임 서버(200)의 특정 게임 룸에서 게임 중계가 진행되는 경우, 제2 게임 서버(202) 및 제3 게임 서버(204)에 접속한 사용자들도 제1 게임 서버(200)의 특정 게임 룸에서 진행되는 게임 중계를 관전하는 것 이 가능하다. The present invention proposes a method in which users who do not have access to a game server in which a game room where a game is relayed, can watch a game relay by using server mirroring. For example, according to the present invention, when a game relay is performed in a specific game room of the
본 발명의 바람직한 실시예에 따르면, 특정 서버의 게임 룸을 다른 서버에 미러링하여 다른 서버에 접속한 사용자들도 미러링된 게임 룸을 통해 게임 중계를 관전할 수 있도록 한다. According to a preferred embodiment of the present invention, a game room of one server is mirrored to another server so that users connected to the other server can also watch the game relay through the mirrored game room.
통상적으로 중계가 진행되는 게임 룸에는 게임을 직접 플레이하는 플레이어와 플레이어의 게임에 대한 해설을 하는 중계자 및 게임을 관전하고 해설을 제공받는 관전자들이 참여한다. 다른 서버에 미러링된 게임 룸에 참여한 사용자들은, 중계가 진행되는 게임 룸에 참여한 사용자들과 같이, 플레이어들에 의한 게임 진행 상황 및 중계자의 해설 정보를 제공받을 수 있다. In general, a game room in which a relay is performed includes a player who directly plays the game, a repeater who explains the player's game, and an observer who watches the game and is provided with commentary. Users participating in the game room mirrored to the other server may be provided with commentary information of the game progress and the relay by the players, such as users participating in the game room where the relay is performed.
도 2에서, 제1 게임 서버(200)에 생성된 게임 룸은 제2 게임 서버(202) 및 제3 게임 서버(204)에 미러링되며, 제1 게임 서버(200)와 같이 게임 룸이 다른 게임 서버에 미러링되는 서버를 퍼블리서(Publisher) 게임 서버라고 하며, 제2 게임 서버(202) 및 제3 게임 서버(204)와 같이 다른 게임 서버의 게임 룸을 미러링하는 서버를 미러링 (Mirroring)게임 서버라고 하기로 한다. In FIG. 2, the game room created in the
제1 게임 서버(200)에의 게임 룸에서 게임 중계가 진행되는 경우, 제1 게임 서버(200)는 퍼블리서 게임 서버가 되며, 제1 게임 서버(200)는 게임 플레이어 또는 게임 중계자로부터 다른 서버에 미러링될 게임 룸 생성 요청 정보를 수신한다. 게임 룸 생성을 요청한 게임 플레이어 또는 게임 중계자는 게임 룸 생성 요청 시 게임 중계를 위해 다른 서버에 미러링되는 룸이라는 정보를 입력한다. When a game relay is performed in the game room to the
제1 게임 서버는 게임 플레이어 또는 게임 중계자의 게임 룸 생성 요청에 응 답하여 다른 서버에 미러링될 게임 룸을 생성한다. 생성된 게임 룸에는 게임 룸 생성자 외의 게임 플레이어, 중계자, 관전자 등이 참가한다. The first game server generates a game room to be mirrored to another server in response to a game room creation request of the game player or game relay. In the generated game room, game players, relays, spectators and the like other than the game room creator participate.
제1 게임 서버(200)에 생성된 게임 룸에 대한 정보는 메시지 라우팅 서버(206)에 전송된다. 여기서, 게임 룸에 대한 정보는 게임 룸 타입 및 게임 룸에 참여한 사용자 정보 및 게임 룸 타이틀 및 게임 룸 번호 등을 포함할 수 있을 것이다. 또한, 제1 게임 서버(202)는 생성된 게임 룸에서의 게임 진행 정보 메시지를 라우팅 서버(200)에 전송한다. 여기서, 게임 진행 정보는 게임 플레이어들이 온라인 게임 진행을 위해 전송하는 게임 커맨드 정보를 포함할 수 있다. 예를 들어, 제1 게임 서버(200)에서 진행되는 게임이 바둑 게임일 경우, 상기 게임 커맨드 정보는 바둑 기보 정보일 수 있다. 제1 게임 서버(200)에서 진행되는 게임이 전략 시뮬레이션 게임일 경우, 상기 게임 커맨드 정보는 유닛의 공격 명령, 유닛의 이동 명령 등을 포함할 수 있을 것이다. Information about the game room generated in the
또한, 게임 진행 정보는 제1 게임 서버(200)의 게임 룸에 참가한 플레이어, 중계자 및 관전자가 교환하는 채팅 메시지를 포함할 수 있을 것이다. In addition, the game progress information may include a chat message exchanged between the player, the relay and the spectator participating in the game room of the
본 발명의 바람직한 실시예에 따르면, 게임 룸 미러링을 위한 서버들간의 통신을 간소화하기 위해 메시지 라우팅 서버(206)를 이용한다. 메시지 라우팅 서버(206)는 제1 게임 서버(200)에서 제공하는 게임 룸 생성 정보 메시지 및 게임 진행 정보 메시지를 제2 게임 서버(202) 및 제3 게임 서버(204)에 제공한다. According to a preferred embodiment of the present invention,
본 발명의 바람직한 실시예에 따르면, 메시지 라우팅 서버(206)는 복수의 커넥션을 하나의 그룹으로 관리하는 기능을 지원한다.According to a preferred embodiment of the present invention, the
도 3은 본 발명의 바람직한 일 실시예에 따른 메시지 라우팅 서버에 생성되는 그룹을 도시한 도면이다. 3 is a diagram illustrating a group created in a message routing server according to an exemplary embodiment of the present invention.
도 3을 참조하면, 본 발명의 일 실시예에 따른 메시지 라우팅 서버에는 서브스크라이버(Subscriber) 그룹(300) 및 퍼블리서 그룹(302)이 생성되며, 서브스크라이버 그룹은 퍼블리서 게임 서버의 게임 룸을 미러링하는 미러링 게임 서버들이 참가하는 그룹이며, 퍼블리서 그룹은 미러링될 게임 룸 정보를 제공하는 퍼블리서 게임 서버가 참가하는 그룹이다. Referring to FIG. 3, a
도 2에서, 퍼블리서 게임 서버인 제1 게임 서버(200)는 퍼블리서 그룹(302)에 참가하고, 미러링 게임 서버인 제2 게임 서버(202) 및 제3 게임 서버(204)는 서브스크라이버 그룹(300)에 참가한다. In FIG. 2, the
메시지 라우팅 서버(206)와 연결된 제1 게임 서버 내지 제3 게임 서버(200, 202, 204)는 서버 시작 시 메시지 라우팅 서버(206)의 퍼블리서 그룹(302) 또는 서브스크라이버 그룹(300) 중 하나에 참가하도록 설정되며, 메시지 라우팅 서버(206)는 연결된 서버들의 요청에 따라 서브스크라이버 그룹(300) 또는 퍼블리서 그룹(302)에 참가시킨다. The first to
본 발명의 바람직한 실시예에 따르면, 퍼블리서 게임 서버인 제1 게임 서버(200)는 멀티캐스트 방식으로 미러링될 게임 룸 정보와 관련된 메시지를 메시지 라우팅 서버(206)에 제공한다. 퍼블리서 게임 서버인 제1 게임 서버(200)는 메시지 라우팅 서버(206)에 서브스크라이버 그룹으로 전송되는 메시지라는 정보만을 포함하여 메시지 라우팅 서버에 게임 룸 관련 정보를 제공한다. 즉, 제1 게임 서 버(200)가 메시지 라우팅 서버(206)에 전송하는 게임 룸 관련 메시지는 게임 룸 정보를 미러링할 제2 게임 서버(202) 및 제3 게임 서버(204)의 주소 정보를 포함하지 않으며, 메시지가 전송될 서브스크라이버 그룹 식별 정보만을 포함한다. According to a preferred embodiment of the present invention, the
메시지 라우팅 서버(206)는 퍼블리서 게임 서버인 제1 게임 서버(200)로부터 서브스크라이버 그룹으로 전송될 메시지를 수신할 경우, 서브스크라이버 그룹에 참가한 모든 미러링 게임 서버에 퍼블리서 게임 서버로부터 전송된 메시지를 전송한다. 즉, 메시지 라우팅 서버(206)는 서브스크라이버 그룹에 참가한 제2 게임 서버(202) 및 제3 서버(204)에 제1 게임 서버(200)로부터 전송된 메시지를 전송한다. When the
메시지 라우팅 서버(206)는 전송되는 메시지가 서브스크라이버 그룹의 서버들에 전송될 메시지인지 또는 퍼블리서 그룹의 서버들에게 전송될 메시지인지 여부만을 판단하여 수신된 메시지를 퍼블리서 그룹의 서버 또는 서브스크라이버 그룹의 서버에 전송하는 역할만을 수행하며, 수신된 메시지의 분석, 판단 및 제어 절차를 수행하지는 않는다. The
따라서, 메시지 라우팅 서버(206)는 기존의 서버간 정보 교환을 위한 컨트롤 서버들에 비해 보다 간소한 구성을 가질 수 있으며, 퍼블리서 게임 서버에서 전송하는 메시지도 메시지의 수신자를 일일이 지정할 필요 없이 보다 단순화된 방식으로 전송될 수 있는 바, 메시지 트래픽 역시 감소될 수 잇다. Accordingly, the
미러링 게임 서버인 제2 게임 서버(202) 및 제3 게임 서버(204)는 메시지 라우팅 서버(206)로부터 퍼블리서 게임 서버인 제1 게임 서버(200)가 전송한 게임룸 관련 메시지를 수신하며, 메시지를 분석하여 게임 룸 미러링을 수행한다. The
예를 들어, 제1 게임 서버(200)로부터 전송된 메시지가 게임 룸 생성 정보를 포함하는 메시지일 경우, 제2 게임 서버(202) 및 제3 서버(204)는 메시지를 분석하여 게임 룸 생성 정보에 포함된 정보와 동일한 조건을 가지는 게임 룸을 생성한다. 제1 게임 서버(200)로부터 전송된 메시지가 게임 룸의 상태 변경 정보를 포함하는 메시지일 경우, 제2 게임 서버(202) 및 제3 게임 서버(204)는 메시지를 분석하여 제1 게임 서버의 게임 룸과 동일한 상태로 제2 게임 서버(202) 및 제3 서버(204)의 미러링 게임 룸의 상태를 변경한다. For example, when the message transmitted from the
상술한 바와 같은 구성에 의해, 중계되는 게임이 바둑 게임일 경우, 플레이어들에 의한 바둑 기보 정보, 해설자의 해설을 위한 바둑 기보 정보는 메시지 라우팅 서버(206)를 통해 제2 게임 서버(202) 및 제3 게임 서버(204)의 미러링 게임 룸으로 전송되며, 제2 게임 서버(202) 및 제3 게임 서버(204)의 미러링 게임 룸에 참가한 사용자들은 제1 게임 서버(200)의 게임 룸에서 플레이어 및 해설자가 두는 기보 정보를 제공받을 수 있다. With the above-described configuration, when the game to be relayed is a Go game, the Go notation information by the players and the Go notation information for the commentator's comment are transmitted through the
한편, 중계자의 음성 및 영상 정보는 방송 서버 시스템(208)을 통해 퍼블리서 게임 서버인 제1 게임 서버(200)의 게임 룸에 참여한 사용자와 미러링 게임 서버인 제2 게임 서버(202) 및 제3 게임 서버(204)의 미러링 게임 룸에 참가한 사용자들에게 제공된다. On the other hand, the voice and video information of the relay through the
중계자가 퍼블리서 게임 서버인 제1 게임 서버(200)의 게임 룸에 참가하는 경우, 중계자는 방송 서버 시스템(208) 해설 동영상 방송을 위한 방송 아이디를 요청하며, 중계 서버 시스템은 게임 해설을 위한 방송 아이디와 중계자의 음성 및 영 상 정보를 방송할 방송 서버의 주소 정보를 제공한다. When the repeater participates in the game room of the
중계자의 게임 어플리케이션에는 중계자의 음성 및 영상을 동영상 스트리밍 데이터로 코딩하는 모듈이 구비되어 있으며, 중계자의 음성 및 영상을 포함하는 동영상 스트리밍 데이터는 상기 방송 서버 시스템에 의해 정해진 방송 서버로 전송된다. The game application of the repeater is provided with a module for coding the repeater's voice and video into the video streaming data, the video streaming data including the voice and video of the repeater is transmitted to the broadcast server determined by the broadcast server system.
퍼블리서 게임 서버인 제1 게임 서버(200)에 생성된 게임 룸 및 미러링 게임 서버인 제2 게임 서버(202) 및 제3 게임 서버(204)에 생성된 미러링 게임 룸에 참가한 사용자들은 참가한 각 게임 룸으로부터 중계자의 해설 정보가 스트리밍되는 방송 아이디 정보를 제공받는다. Users who participated in the game room created in the
즉, 본 발명의 바람직한 실시예에 따르면, 바둑 기보와 같은 게임 진행 정보는 메시지 라우팅 서버(206)를 통해 미러링 게임 서버에 미러링된 게임 룸으로 전송되며, 중계자의 해설 동영상 스트리밍 데이터는 방송 서버 시스템을 통해 퍼블리서 게임 서버의 게임 룸 및 미러링 게임 서버의 미러링 게임 룸에 참가한 각 사용자 클라이언트들에 전송된다. That is, according to a preferred embodiment of the present invention, game progress information such as Baduk notation is transmitted to the game room mirrored to the mirroring game server through the
따라서, 제1 게임 서버(200)의 관전자가 서버의 수용 한계를 넘어서더라도, 사용자들은 제2 게임 서버(202) 및 제3 게임 서버(204)에 접속하여 게임을 관전할 수 있다. Therefore, even if the spectator of the
도 4는 본 발명의 바람직한 일 실시예에 따른 퍼블리서 게임 서버 및 미러링 게임 서버의 게임 의 상태를 나타낸 도면이다. 4 is a view showing the state of the game of the publishing game server and the mirroring game server according to an embodiment of the present invention.
도 4를 참조하면, 퍼블리서 게임 서버의 게임 룸(400)은 플레이어 또는 중계 자에 의해 생성되며, 퍼블리서 게임 서버에 접속한 사용자들만이 참가한다. 퍼블리서 게임 서버의 게임 룸(400)에 참여한 사용자들 중 플레이어들은 퍼블리서 게임 서버를 통해 게임 패킷을 교환하면서 게임을 진행한다. 게임은 바둑 게임, 전략 시뮬레이션 게임, 보드 게임 등을 포함할 수 있으며, 퍼블리서 게임 서버에 접속한 플레이어들의 클라이언트에는 게임 플레이를 위한 어플리케이션이 설치되어 있다. Referring to FIG. 4, the
퍼블리서 게임 서버의 게임 룸은 게임 룸 생성, 게임 진행 중 교환되는 게임 커맨드 정보 및 게임 룸 종료와 같은 게임 룸의 게임 진행 상황과 관련된 정보를 메시지 라우팅 서버의 서브스크라이버 그룹으로 전송되도록 프로그래밍된다. The game room of the publisher game server is programmed to send information related to the game progress of the game room, such as game room creation, game command information exchanged during game play, and game room termination, to the subscriber group of the message routing server.
퍼블리서 게임 서버에서 게임 룸이 생성될 경우, 게임 룸 생성 정보는 메시지 라우팅 서버를 통해 미러링 게임 서버에 전송되며, 미러링 게임 서버에는 퍼블리서 게임 서버에서 생성된 게임 룸과 동일한 조건의 게임 룸이 생성된다. When a game room is created on the publisher game server, the game room creation information is transmitted to the mirroring game server through the message routing server, and the mirroring game server creates a game room with the same conditions as the game room created on the publisher game server. do.
퍼블리서 게임 서버와 같은 게임 룸의 생성을 위해 미러링 게임 서버는 게임 룸의 생성 주체로 인식되는 가상의 더미 플레이어를 생성한다. 더미 플레이어는 게임 룸의 생성될 때 게임 룸에 대한 제어 권한을 갖는 플레이어가 필요하기 때문에 가상적으로 생성되는 플레이어이며 일반 플레이어와 동일한 구조를 가지고 있으나 클라이언트와의 연결을 가지고 있지 않기 때문에 더미 플레이어로 데이터를 송수신하는 것은 불가능하도록 하는 것이 바람직하다. In order to create a game room such as a publisher game server, the mirroring game server creates a virtual dummy player recognized as the creator of the game room. The dummy player is a virtually created player because it needs a player who has control over the game room when the game room is created. Since the dummy player has the same structure as a normal player but does not have a connection with a client, the dummy player may transfer data to the dummy player. It is desirable to make it impossible to transmit and receive.
미러링 게임 서버에 생성된 게임 룸(402)에는 미러링 게임 서버에 접속한 사용자들이 참가한다. 퍼블리서 게임 서버로부터 게임 룸 생성 메시지가 메시지 라우팅 서버(206)를 통해 서브스크라이버 그룹에 참가한 각 미러링 게임 서버에 전송될 경우, 미러링 게임 서버는 게임 룸 생성 메시지에 포함된 게임 룸 정보와 동일한 조건의 미러링 게임 룸을 생성한다. 미러링 게임 서버는 일반 게임 룸과 함께 미러링된 게임 룸 역시 게임 룸 리스트로 제공하며, 미러링 게임 서버에 접속한 사용자들은 미러링된 게임 룸에 참가할 수 있다. Users connected to the mirroring game server participate in the
퍼블리서 게임 서버의 게임 룸(402)에서 게임이 진행될 경우, 퍼블리서 게임 서버의 게임 룸(402)은 게임 진행과 관련된 정보를 메시지 라우팅 서버(206)에 전송하며, 메시지 라우팅 서버(206)는 서브스크라이버 그룹에 참가한 미러링 게임 서버들에 전송하며, 미러링 게임 서버는 게임 진행과 관련된 정보를 관련된 게임 룸(402)에 전달한다. 따라서, 미러링 게임 룸에 참가한 사용자들은 퍼블리서 게임 서버에서 진행되는 게임 상황을 관전할 수 있다.When a game is played in the
예를 들어, 퍼블리서 게임 서버의 게임 룸(400)에서 바둑 게임이 진행될 경우, 퍼블리서 게임 서버의 게임 룸(400)의 플레이어들에 의해 생성되는 기보 정보는 실시간으로 메시지 라우팅 서버를 통해 미러링 게임 서버의 게임 룸(402)으로 전송되며, 미러링 게임 서버의 게임 룸(402)은 참가한 관전자들에게 전송된 기보 정보를 제공하여 바둑 관전이 가능하도록 한다. For example, when the Go game is played in the
도 5는 본 발명의 바람직한 일 실시예에 따른 방송 서버 시스템의 구성을 도시한 도면이다. 5 is a diagram illustrating a configuration of a broadcast server system according to an exemplary embodiment of the present invention.
도 5를 참조하면, 본 발명의 일 실시예에 다른 방송 서버 시스템은 접속 제어 서버(500) 및 복수의 방송 서버(502, 504, 506)를 포함할 수 있다. Referring to FIG. 5, a broadcast server system according to an embodiment of the present invention may include a
접속 제어 서버(500)는 중계자 클라이언트(510)로부터 방송 아이디 요청 정 보를 수신하고, 중계자 클라이언트에 방송 아이디 및 중계자 클라이언트가 동영상 스트리밍 데이터를 전송할 방송 서버의 주소 정보를 제공한다. The
종래의 경우, 접속 제어 서버(500)는 중계자 클라이언트가 방송 아이디를 요청할 경우,중계자 클라이언트(510)가 동영상 스트리밍 데이터를 전송할 하나의 방송 서버 주소를 제공하였다. 통상적으로, 접속 제어 서버(500)는 복수의 방송 서버 중 로드가 가장 적게 걸리는 방송 서버의 주소 정보를 제공하였다. In the related art, when the relay client requests a broadcast ID, the
그러나, 본 발명의 바람직한 바람직한 실시예에 따르면, 접속 제어 서버(500)는 중계자 클라이언트가 동영상 스트리밍 데이터를 전송할 적어도 두개의 방송 서버 주소를 제공하며, 중계자 클라이언트(510)는 두 개의 방송 서버의 접속하여 동영상 스트리밍 데이터를 각각 전송한다. 도 5에 도시된 바와 같이, 접속 제어 서버(500)가 방송 서버1(502) 및 방송 서버2(504)에 접속하도록 주소 정보를 제공한 경우, 중계자 클라이언트(510)는 방송 서버1(502) 및 방송 서버2(502) 각각에 동영상 스트리밍 데이터를 전송한다. However, according to a preferred embodiment of the present invention, the
여기서, 주소 정보는 방송 서버의 아이피 주소 및 포트 번호일 수 있으며, 그 외의 다른 주소 정보가 사용될 수도 있다는 점은 당업자에게 있어 자명할 것이다. Here, the address information may be an IP address and a port number of the broadcast server, and it will be apparent to those skilled in the art that other address information may be used.
통상적으로 방송 서버는 약 2500명 정도가 동시에 접속할 수 있으며, 최대 접속 인원을 초과할 경우 스트리밍 데이터가 끊기는 현상이 발생할 수 있다. 따라서, 본 발명의 바람직한 실시예에 따르면, 이와 같은 스트리밍 데이터 끊김 현상을 방지하기 위해, 중계자 클라이언트가 복수의 방송 서버에 동영상 스트리밍 데이터 를 전송하도록 한다. Typically, about 2500 people can access the broadcast server simultaneously. If the maximum number of users is exceeded, streaming data may be interrupted. Therefore, according to a preferred embodiment of the present invention, in order to prevent such streaming data truncation, the relay client transmits the video streaming data to the plurality of broadcast servers.
접속 제어 서버(500)는 방송 아이디에 상응하는 방송 서버의 아이피 주소 및 포트 번호를 관리하며, 관전자 클라이언트가 방송 아이디에 상응하는 주소 정보를 요청할 경우, 관전자 클라이언트에 방송 아이디에 상응하는 방송 서버의 아이피 주소 및 포트 번호를 제공한다. 두 개의 방송 서버에 중계자의 동영상 스트리밍 데이터가 전송되는데, 관전자 클라이언트에게는 두 개의 방송 서버 중 하나의 방송 서버의 아이피 주소 및 포트 번호만을 제공한다. 접속 제어 서버(500)는 두 개의 방송 서버 중 로드가 적은 방송 서버의 주소 정보를 제공할 수 있다. The
도 5에서, 방송 서버2(504)의 로드가 방송 서버1(502)의 로드보다 적다고 판단되는 경우, 접속 제어 서버(500)는 관전자 클라이언트(512)에 방송 서버2(504)의 주소 정보를 제공하며, 관전자 클라이언트(512)는 방송 서버2로부터 중계자의 동영상 스트리밍 데이터를 수신한다. In FIG. 5, when it is determined that the load of the broadcast server 2 504 is less than the load of the broadcast server 1 502, the
도 6은 본 발명의 바람직한 일 실시예에 따른 퍼블리서 게임 서버에 게임 룸 생성 시 미러링 게임 서버에 게임 룸이 생성되는 과정에 대한 순서도이다. 6 is a flowchart illustrating a process of creating a game room in a mirroring game server when creating a game room in a publishing game server according to an exemplary embodiment of the present invention.
도 6을 참조하면, 중계자 클라이언트는 퍼블리서 게임 서버에 게임 룸의 생성을 요청한다(단계 600). 중계자는 다른 서버에 미러링될 게임 룸임을 미리 지정하여 요청할 수 있다. 퍼블리서 게임 서버는 게임 룸 생성 시 다른 서버에 미러링할지 여부를 선택하는 인터페이스를 제공하며, 중계자는 상기 인터페이스를 통해 다른 서버에 미러링될 게임 룸의 생성을 요청할 수 있을 것이다. 게임 룸의 생성은 중계자가 아닌 다른 사용자(예를 들어, 게임 플레이어)에 의해 생성될 수도 있을 것이다. Referring to FIG. 6, the relay client requests the publisher game server to create a game room (step 600). The relay may request in advance that it is a game room to be mirrored to another server. The publisher game server provides an interface for selecting whether to mirror to another server when creating a game room, and the relay may request creation of a game room to be mirrored to another server through the interface. The creation of the game room may be created by a user other than the relay (eg game player).
퍼블리서 게임 서버는 중계자 클라이언트의 게임 룸 생성 요청에 응답하여 게임 룸을 생성한다(단계 602). 퍼블리서 게임 서버는 게임 룸 생성을 완료한 후 중계자 클라이언트에 게임 룸 생성 정보를 전송하며(단계 604), 중계자 클라이언트는 퍼블리서 게임 서버에 생성된 게임 룸에 참가한다(단계 606). 게임 룸 생성 후 게임을 플레이어 및 관전자 등이 생성된 게임 룸에 참가할 수 있을 것이다. The publisher game server creates a game room in response to the game room creation request of the relay client (step 602). The publisher game server sends the game room creation information to the relay client after completing the game room creation (step 604), and the relay client joins the game room created in the publisher game server (step 606). After the game room is created, the game may be joined to a game room in which players and spectators are created.
중계자가 게임 룸에 참가한 후, 중계자 클라이언트는 방송 서버 시스템에 방송 아이디를 요청한다(단계 608). 방송 서버 시스템은 중계자 클라이언트의 방송 아이디 요청에 응답하여 방송 아이디 및 방송 아이디에 상응하여 중계자 클라이언트가 동영상 스트리밍 데이터를 전송할 방송 서버의 주소 정보를 제공한다(단계 610). 중계자 클라이언트는 해당 방송 서버로 동영상 스트리밍 데이터를 전송한다(단계 612). After the relay joins the game room, the relay client requests a broadcast ID from the broadcast server system (step 608). In response to the broadcast ID request of the relay client, the broadcast server system provides address information of the broadcast server to which the relay client transmits video streaming data corresponding to the broadcast ID and the broadcast ID (step 610). The relay client transmits the video streaming data to the broadcast server (step 612).
또한, 퍼블리서 게임 서버는 메시지 라우팅 서버의 퍼블리서 그룹에 참가한 상태이며, 다른 서버에 미러링될 게임 룸이 생성될 경우, 게임 룸 생성 정보를 메시지 라우팅 서버의 서브스크라이버 그룹에 전송하도록 설정되어 있다. In addition, the publisher game server has joined the publisher group of the message routing server and is set to transmit game room creation information to the subscriber group of the message routing server when a game room to be mirrored is created on another server. .
도 11은 본 발명의 일 실시예에 따른 퍼블리서 게임 서버의 메시지가 메시지 라우팅 서버를 통해 서브스크라이버 그룹에 속한 미러링 게임 서버들에 전달되는 개념도를 도시한 도면이다. FIG. 11 is a conceptual diagram illustrating a message transmitted from a publisher game server to mirroring game servers belonging to a subscriber group through a message routing server according to an embodiment of the present invention.
도 11을 참조하면, 메시지 라우팅 서버의 퍼블리서 그룹 및 서브스크라이버 그룹에 참가한 퍼블리서 게임 서버(1104) 및 미러링 게임 서버들(1100, 1102)은 소 켓을 통해 메시지 라우팅 서버와의 커넥션을 유지한다. Referring to FIG. 11, the
도 11에 도시된 바와 같이, 퍼블리서 게임 서버(1104)가 서브스크라이버 그룹에 참가한 미러링 게임 서버들에 메시지를 전달하고자 하는 경우, 퍼블리서 게임 서버는 서브스크라이버 그룹을 목적지 주소로 하여 멀티캐스트 방식으로 메시지를 전송한다. As shown in FIG. 11, when the
메시지 라우팅 서버(206)는 서브스크라이버 그룹에 속한 미러링 게임 서버들(1100, 1102)과 커넥션을 유지하고 있는 소켓들을 통해 미러링 게임 서버 각각으로 퍼블리서 게임 서버로부터 전송된 메시지를 전달한다. The
다시, 도 6을 참조하면, 퍼블리서 게임 서버는 게임 룸 생성 메시지를 메시지 라우팅 서버로 전송한다(단계 612). 게임 룸 생성 메시지에는 게임 룸 번호, 게임 룸 타이틀, 게임 룸의 게임 아이디, 게임 룸 설정 정보 및 방송 아이디(중계자 클라이언트가 방송 서버 시스템으로부터 할당받음) 등을 포함할 수 있을 것이며, 게임 룸 생성 메시지의 목적지 주소는 메시지 라우팅 서버의 서브스크라이버 그룹으로 설정된다. Referring back to FIG. 6, the publisher game server sends a game room creation message to the message routing server (step 612). The game room creation message may include the game room number, the game room title, the game ID of the game room, the game room setting information, and the broadcast ID (the relay client is assigned by the broadcast server system). The destination address is set to the subscriber group of the message routing server.
게임 룸 생성 메시지를 수신한 메시지 라우팅 서버는 게임 룸 생성 메시지를 서브스크라이버 그룹에 참가하여 소켓을 통해 메시지 라우팅 서버와 커넥션을 유지하고 있는 미러링 게임 서버 각각에 전송한다(단계 614). Upon receipt of the game room creation message, the message routing server joins the subscriber group with the game room creation message and transmits the game room creation message to each mirroring game server maintaining a connection with the message routing server through the socket (step 614).
메시지 라우팅 서버의 서브스크라이버 그룹에 참가한 미러링 게임 서버 각각은 게임 룸 생성 메시지를 수신하며, 게임 룸 생성을 위해 가상의 더미 플레이어를 생성한다(단계 616). 전술한 바와 같이, 더미 플레이어는 일반 플레이어와 동일한 구조를 가지고 있으나 클라이언트와의 연결을 가지고 있지 않기 때문에 더미 플레이어로 데이터를 송수신하는 것은 불가능하다. Each mirroring game server participating in the subscriber group of the message routing server receives the game room creation message and generates a virtual dummy player for the game room creation (step 616). As described above, since the dummy player has the same structure as the general player but does not have a connection with the client, it is impossible to send and receive data to and from the dummy player.
더미 플레이어가 생성되면, 미러링 게임 서버는 수신한 게임 룸 생성 정보에 포함된 정보와 동일한 조건을 가지며 상기 더미 플레이어가 게임 룸 생성자로 설정되는 게임 룸을 생성한다(단계 618). 미러링 게임 서버에서 게임 룸 생성 시 미러링된 게임 룸의 번호는 각 미러링 게임 서버가 독립적으로 부여할 수 있으며 미러링 게임 룸을 위해 미리 준비된 번호를 부여할 수도 있으며, 일반 게임 룸과 같이 순차적으로 번호가 부여될 수도 있다. 다만, 미러링 게임 서버 각각은 퍼블리서 게임 서버에서 생성된 게임 룸과 미러링 게임 서버에서 미러링된 게임 룸을 서로 매칭시킬 수 있도록 퍼블리서 게임 서버의 게임 룸 번호와 미러링된 게임 룸 번호를 매칭시키는 매칭 테이블 또는 매칭 코드를 관리한다. When the dummy player is created, the mirroring game server creates a game room having the same conditions as the information included in the received game room creation information and in which the dummy player is set as a game room creator (step 618). When creating a game room on the mirroring game server, the number of mirrored game rooms can be independently assigned by each mirroring game server, and a number prepared in advance for the mirroring game room can be assigned. May be However, each of the mirroring game servers has a matching table that matches the game room numbers of the publisher game servers and the mirrored game room numbers so that the game rooms created in the publisher game server and the mirrored game rooms are matched with each other. Or manage matching codes.
도 7은 본 발명의 바람직한 일 실시예에 따른 중계자의 해설에 대한 음성 및 영상 데이터가 퍼블리서 게임 서버 또는 미러링 게임 서버의 관전자 클라이언트들에 전송되는 과정을 도시한 순서도이다. 7 is a flowchart illustrating a process of transmitting audio and video data for commentator's commentary to a spectator client of a publishing game server or a mirroring game server according to an exemplary embodiment of the present invention.
도 7을 참조하면, 중계자 클라이언트가 다른 서버에 미러링되는 중계 게임 룸에 참가한 경우, 중계자 클라이언트는 방송 서버 시스템의 접속 제어 서버에 방송 아이디를 요청한다(단계 700). Referring to FIG. 7, when the relay client participates in a relay game room mirrored to another server, the relay client requests a broadcast ID from the access control server of the broadcast server system (step 700).
접속 제어 서버는 방송 아이디 및 복수의 방송 서버 중 방송 아이디를 요청한 중계자 클라이언트가 해설에 대한 동영상 스트리밍 데이터를 전송할 방송 서버의 주소 정보를 중계자 클라이언트에 전송한다(단계 702). 전술한 바와 같이, 접속 제어 서버는 적어도 두개의 방송 서버 주소 정보를 제공한다. The access control server transmits the broadcast ID and the address information of the broadcast server to which the relay client which requested the broadcast ID among the plurality of broadcast servers transmits the video streaming data about the commentary (step 702). As described above, the access control server provides at least two broadcast server address information.
중계자 클라이언트는 접속 제어 서버로부터 두 개의 방송 서버 주소 정보를 제공받은 경우, 방송 서버1 및 방송 서버2 각각에 중계자의 동영상 스트리밍 데이터를 전송한다(단계 704, 706). 도 7에는 방송 서버1 및 방송 서버2에 동영상 스트리밍 데이터가 순차적으로 전송되는 것처럼 도시되어 있으나, 중계자 클라이언트는 동시에 방송 서버1 및 방송 서버2에 동영상 스트리밍 데이터를 전송한다. When the relay client receives two broadcast server address information from the access control server, the relay client transmits the video streaming data of the relay to the broadcast server 1 and the broadcast server 2 (
한편, 퍼블리서 게임 서버의 게임 룸의 관전자 또는 미러링 게임 서버에 생성된 미러링 게임 룸에 참여한 관전자는 게임 룸 참가 시 중계자의 방송 아이디 정보를 제공받는다(단계 708). On the other hand, the spectator in the game room of the publisher game server or the spectator who participated in the mirroring game room generated in the mirroring game server receives the broadcaster's broadcast ID information when participating in the game room (step 708).
방송 아이디 정보를 제공받은 관전자 클라이언트는 접속 제어 서버에 상기 방송 아이디에 상응하는 방송 서버의 주소 정보를 요청한다(단계 710). The spectator client provided with the broadcast ID information requests address information of the broadcast server corresponding to the broadcast ID from the access control server (step 710).
방송 서버는 방송 아이디에 상응하는 두 개의 방송 서버 주소 중 하나의 방송 서버 주소 정보를 관전자 클라이언트에 전송한다(단계 712). 전술한 바와 같이, 두 개의 방송 서버 중 로드가 적은 방송 서버의 주소 정보를 전송하는 것이 바람직하다. The broadcast server transmits the broadcast server address information of one of two broadcast server addresses corresponding to the broadcast ID to the spectator client (step 712). As described above, it is preferable to transmit address information of a broadcast server having a low load among the two broadcast servers.
접속 제어 서버가 방송 서버2의 주소 정보를 제공한 경우, 관전자 클라이언트는 방송 서버2에 동영상 스트리밍 데이터의 전송을 요청하며(단계 714), 방송 서버2는 중계자로부터 전송되는 해설에 대한 동영상 스트리밍 데이터를 관전자 클라이언트에 전송한다(단계 716). If the access control server provides the address information of the broadcast server 2, the spectator client requests the broadcast server 2 to transmit the video streaming data (step 714), and the broadcast server 2 provides the video streaming data for the commentary transmitted from the relay. Send to the spectator client (step 716).
도 7과 같은 과정에 의해, 퍼블리서 게임 서버의 게임 룸 또는 미러링 게임 서버의 미러링 게임 룸에 참가한 관전자들은 중계자의 해설 동영상을 제공받을 수 있다. 7, the spectators participating in the game room of the publisher game server or the mirroring game room of the mirroring game server may be provided with commentary videos of the relay.
도 8은 본 발명의 바람직한 일 실시예에 따른 퍼블리서 게임 서버에서 게임 룸 삭제 시 미러링 게임 서버에서 미러링된 게임 룸이 삭제되는 과정을 도시한 순서도이다. 8 is a flowchart illustrating a process of deleting a mirrored game room from a mirroring game server when deleting a game room from a publisher game server according to an exemplary embodiment of the present invention.
도 8을 참조하면, 퍼블리서 게임 서버에 생성된 게임 룸에 참여하고 있는 중계자의 클라이언트는 게임 룸 나가기를 요청하며(단계 800), 퍼블리서 게임 서버에 생성된 게임 룸에 참여한 모든 사용자가 게임 룸을 나갈 경우, 퍼블리서 게임 서버는 해당 게임 룸을 삭제한다(단계 802). Referring to FIG. 8, a client of a relayer participating in a game room created at the publisher game server requests to exit the game room (step 800), and all users participating in the game room created at the publisher game server are game rooms. If it exits, the publisher game server deletes the game room (step 802).
게임 룸이 삭제되면, 중계자의 해설에 대한 동영상 스트리밍 데이터를 방송 서버로 전송하는 과정이 중단된다(단계 804). If the game room is deleted, the process of transmitting video streaming data about the commentator's commentary to the broadcast server is stopped (step 804).
또한, 퍼블리서 게임 서버는 게임 룸에 참가한 사용자가 게임 룸을 나갈 경우, 해당 사용자의 룸 나가기 정보를 메시지 라우팅 서버에 전송한다(단계 806). 특정 플레이어의 룸 나가기 정보는 삭제된 게임 룸의 번호 정보를 포함할 수 있다. In addition, when the user participating in the game room leaves the game room, the publisher game server transmits the room exit information of the user to the message routing server (step 806). Room exit information of a specific player may include number information of the deleted game room.
퍼블리서 게임 서버는 특정 플레이어의 룸 나가기 정보를 포함하는 메시지를 메시지 라우팅 서버의 서브스크라이버 그룹에 전송되며, 메시지 라우팅 서버는 서브스크라이버 그룹에 참가하여 메시지 라우팅 서버와 소켓을 통해 커넥션을 유지하고 있는 미러링 게임 서버 각각으로 메시지를 전송한다(단계 808). The publisher game server sends a message to the subscriber group of the message routing server that contains the room exit information for a particular player, and the message routing server joins the subscriber group to maintain a connection through the message routing server and the socket. A message is sent to each mirroring game server in
미러링 게임 서버는 메시지에 포함된 게임 룸 번호에 상응하는 미러링 게임 서버에서의 게임 룸 번호를 판단한다. 상술한 매칭 테이블 또는 매칭 코드를 이용 하여 퍼블리서 게임 서버의 게임 룸 번호에 상응하는 미러링 게임 룸 번호를 판단할 수 있을 것이다. 퍼블리서 게임 서버에서 룸을 나간 사용자가 중계자일 경우, 미러링 게임 서버는 판단된 미러링 게임 룸 번호에 상응하는 더미 플레이어를 삭제한다(단계 808). 또한, 미러링 게임 서버에 미러링된 게임 룸에서 더미 플레이어를 포함한 모든 사용자가 방을 떠나게 되면 미러링 게임 서버는 해당 게임 룸을 삭제한다(단계 810). The mirroring game server determines a game room number in the mirroring game server corresponding to the game room number included in the message. The mirroring game room number corresponding to the game room number of the publisher game server may be determined using the above-described matching table or matching code. If the user who left the room in the publisher game server is the relay, the mirroring game server deletes the dummy player corresponding to the determined mirroring game room number (step 808). In addition, when all users including the dummy player leave the room in the game room mirrored to the mirroring game server, the mirroring game server deletes the game room (step 810).
도 9는 본 발명의 바람직한 일 실시예에 따른 게임 진행 상황이 미러링 게임 서버에서 재현되도록 퍼블리서 게임 서버의 게임 룸에서 교환되는 게임 커맨드가 미러링 게임 서버에 전달되는 과정에 대한 순서도이다. 9 is a flowchart illustrating a process of transferring game commands exchanged in a game room of a publishing game server to a mirroring game server so that a game progress is reproduced in a mirroring game server according to an exemplary embodiment of the present invention.
도 9를 참조하면, 퍼블리서 게임 서버의 게임 룸에 참가하여 게임을 플레이하는 플레이어의 플레이어는 게임 커맨드 메시지를 퍼블리서 게임 서버에 전송한다(단계 900). 상기 게임 커맨드는 다양한 게임에서의 게임 커맨드를 모두 포함할 수 있을 것이다. 예를 들어, 게임 커맨드는 바둑에서 특정 플레이어의 기보 정보일 수 있으며, 전략 시뮬레이션 게임에서 특정 유닛에 대한 이동 커맨드일 수도 있다. Referring to FIG. 9, a player of a player who joins a game room of a publisher game server and plays a game transmits a game command message to the publisher game server (step 900). The game command may include all game commands in various games. For example, the game command may be notation information of a specific player in Go, or may be a move command for a specific unit in a strategy simulation game.
퍼블리서 게임 서버의 게임 룸에서 진행되는 게임이 바둑, 보드 게임과 같은 턴 방식의 게임일 경우, 상기 게임 커맨드는 커맨드의 수순 정보를 포함할 수 있을 것이다. 퍼블리서 게임 서버의 게임 룸에서 진행되는 게임이 실시간 전략 시뮬레이션 게임일 경우, 상기 게임 커맨드는 시간 정보를 포함할 수 있을 것이다. When the game played in the game room of the publisher game server is a turn-based game such as a game of go, board, the game command may include the order information of the command. If the game played in the game room of the publisher game server is a real time strategy simulation game, the game command may include time information.
또한, 상기 게임 커맨드 메시지는 게임 커맨드 메시지를 수신한 퍼블리서 게임 서버의 게임 룸 번호 정보를 포함한다. The game command message may include game room number information of the publisher game server that receives the game command message.
플레이어 클라이언트로부터 게임 커맨드 메시지를 수신한 퍼블리서 게임 서버는 수신한 게임 커맨드 메시지를 메시지 라우팅 서버에 전송한다(단계 902). The publisher game server receiving the game command message from the player client transmits the received game command message to the message routing server (step 902).
메시지 라우팅 서버는 메시지 라우팅 서버는 서브스크라이버 그룹에 참가하여 메시지 라우팅 서버와 소켓을 통해 커넥션을 유지하고 있는 미러링 게임 서버 각각으로 게임 커맨드 메시지를 전송한다(단계 904). The message routing server sends a game command message to the subscriber group joining the subscriber group and sending a game command message to each of the mirroring game servers maintaining the connection through the socket (step 904).
메시지 라우팅 서버로부터 게임 커맨드 메시지를 수신한 미러링 게임 서버 각각은 게임 커맨드 메시지를 분석하여 수신된 게임 커맨드와 관련된 미러링 게임 룸의 번호를 판단한다(단계 906). Each mirroring game server that receives the game command message from the message routing server analyzes the game command message to determine the number of the mirroring game room associated with the received game command (step 906).
미러링 게임 서버는 판단된 미러링 게임 룸에 메시지 라우팅 서버로부터 수신한 게임 커맨드 메시지를 전달한다(단계 908). 미러링 게임 서버의 미러링 게임 룸은 참여한 사용자의 클라이언트들에 게임 커맨드를 전달하며, 게임 커맨드를 수신한 사용자 클라이언트들에 설치된 게임 어플리케이션은 수신한 커맨드에 상응하는 게임 프로세스를 수행한다. 도 9와 같은 절차에 의해, 미러링 게임 서버의 미러링 게임 룸에 참여한 사용자들은 퍼블리서 게임 서버의 게임 룸에서 진행되는 게임과 동일한 게임 진행을 관전할 수 있다. The mirroring game server transfers the game command message received from the message routing server to the determined mirroring game room (step 908). The mirroring game room of the mirroring game server transmits a game command to clients of participating users, and a game application installed in the user clients that receive the game command performs a game process corresponding to the received command. By the procedure as shown in FIG. 9, users participating in the mirroring game room of the mirroring game server may observe the same game progression as the game played in the game room of the publishing game server.
도 9에는 도시되어 있지 않으나, 퍼블리서 게임 서버의 게임 룸에서 플레이어들간에 송수신되는 채팅 메시지 역시 도 9와 같은 방식에 의해 미러링 게임 서버의 미러링 게임 룸에 제공될 수 있다는 점은 당업자에게 있어 자명할 것이다. Although not shown in FIG. 9, it will be apparent to those skilled in the art that chat messages transmitted and received between players in the game room of the publisher game server may also be provided to the mirroring game room of the mirroring game server in the same manner as in FIG. 9. will be.
도 10은 본 발명의 바람직한 일 실시예에 따른 특정 미러링 게임 서버에서 장애가 발생할 경우 장애를 복구하는 과정에 대한 순서도이다. 10 is a flowchart illustrating a process of recovering from a failure when a failure occurs in a specific mirroring game server according to an exemplary embodiment of the present invention.
도 10을 참조하면, 메시지 라우팅 서버에 서브스크라이버 그룹에 참가한 미러링 게임 서버들 중 특정 미러링 게임 서버에서 장애가 발생할 경우, 해당 미러링 게임 서버는 메시지 라우팅 서버에 퍼블리서 게임 서버에 생성되어 있으며 메시지 라우팅 서버를 통해 미러링 게임 서버들에 게임 룸 정보를 제공하고 있는 게임 룸들에 대한 리스트를 요청한다(단계 1000). Referring to FIG. 10, when a failure occurs in a specific mirroring game server among the mirroring game servers participating in the subscriber group in the message routing server, the mirroring game server is created in the publishing game server on the message routing server and the message routing server. In
게임 룸 리스트 요청 메시지는 퍼블리서 그룹을 목적지 주소로 하며, 메시지 라우팅 서버는 퍼블리서 그룹에 참가한 퍼블리서 게임 서버에 게임 룸 리스트 요청 메시지를 전달한다(단계 1002). The game room list request message uses the publisher group as the destination address, and the message routing server delivers the game room list request message to the publisher game server participating in the publisher group (step 1002).
메시지 라우팅 서버로부터 게임 룸 리스트 요청 메시지를 수신한 퍼블리서 게임 서버는 현재 미러링 게임 서버들에 게임 룸 정보를 제공하고 있는 게임 룸들에 대한 정보를 검색한다(단계 1004). Receiving the game room list request message from the message routing server, the publisher game server retrieves information about game rooms currently providing game room information to the mirroring game servers (step 1004).
또한, 퍼블리서 게임 서버는 검색된 게임 룸에서 진행되고 있는 게임 각각에 대해 히스토리 데이터를 생성한다(단계 1006). 여기서 히스토리 데이터는 미러링 게임 서버가 현재 게임 진행 상황을 반영할 수 있도록 장애 발생 전에 진행된 게임 진행 히스토리가 기록된 데이터를 의미한다. 예를 들어, 바둑 게임의 경우 히스토리 데이터는 바둑의 기보 데이터일 수 있으며, 전략 시뮬레이션 게임의 경우 플레이어들간에 교환된 게임 커맨드 데이터일 수 있다. 물론 게임의 종류에 따라 이러한 히스토리 데이터의 생성이 불가능하거나 히스토리 데이터의 생성이 요구되지 않을 수도 있을 것이다. In addition, the publisher game server generates history data for each game in progress in the retrieved game room (step 1006). Here, the history data refers to data in which the game progress history, which is performed before the failure, is recorded so that the mirroring game server can reflect the current game progress. For example, in the case of a Go game, the history data may be notation data of Go, and in the case of a strategy simulation game, the game command data may be exchanged between players. Of course, the generation of such historical data may be impossible or generation of historical data may not be required depending on the type of game.
퍼블리서 게임 서버는 메시지 라우팅 서버에 게임 룸 리스트 정보 및 각 게 임 룸에서의 게임 히스토리 데이터를 포함하는 메시지를 메시지 라우팅 서버에 전송한다(단계 1008). The publisher game server sends to the message routing server a message containing game room list information and game history data in each game room (step 1008).
메시지 라우팅 서버는 퍼블리서 게임 서버로부터의 메시지를 서브스크라이버 그룹에 참가하고 있는 모든 미러링 게임 서버에 전송한다(단계 1010). 서브스크라이버 그룹에 참가하고 있는 미러링 게임 서버들 중 하나의 미러링 게임 서버에만 장애가 발생하더라도 메시지 라우팅 서버의 전송 원칙에 따라 서브스크라이버 그룹에 참가하고 있는 모든 미러링 게임 서버에 전송한다. The message routing server sends a message from the publisher game server to all mirroring game servers participating in the subscriber group (step 1010). Even if a failure occurs in only one mirroring game server among the mirroring game servers participating in the subscriber group, it is transmitted to all mirroring game servers participating in the subscriber group according to the transmission principle of the message routing server.
메시지 라우팅 서버로부터 게임 룸 리스트 및 히스토리 데이터 메시지를 수신한 미러링 게임 서버들 중 게임 룸 리스트를 요청하지 않은 미러링 게임 서버들은 수신된 메시지를 무시한다. 게임 룸 리스트를 요청한 미러링 게임 서버는 수신한 게임 룸 리스트 및 히스토리 데이터에 기초하여 미러링 룸을 다시 생성한다(단계 1012). Among the mirroring game servers that have received the game room list and history data messages from the message routing server, the mirroring game servers that do not request the game room list ignore the received message. The mirroring game server requesting the game room list re-creates the mirroring room based on the received game room list and history data (step 1012).
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to a preferred embodiment of the present invention, those skilled in the art to which the present invention pertains without departing from the spirit and scope of the present invention as set forth in the claims below It will be appreciated that modifications and variations can be made.
이상에서 설명한 바와 같이, 본 발명의 서버 미러링을 이용한 게임 중계 시스템 및 방법의 바람직한 실시예에 따르면, 서버 용량의 제한을 받지 않고 다수의 사용자가 게임 중계를 관전할 수 있는 장점이 있다.As described above, according to a preferred embodiment of the game relay system and method using the server mirroring of the present invention, there is an advantage that a number of users can watch the game relay without being limited by the server capacity.
또한, 본 발명의 바람직한 실시예에 따르면, 서버 미러링을 이용하여 게임이 진행되는 서버와 다른 서버에 접속한 사용자들도 게임 진행 상황 및 중계자의 해설을 제공받을 수 있으며, 비교적 간단한 로직을 가진 메시지 라우팅 서버를 이용하여 서버 미러링을 수행함으로써 게임 중계 시 서버 부하의 문제를 해결할 수 있는 장점이 있다. In addition, according to a preferred embodiment of the present invention, users connected to the server and other servers where the game is played using server mirroring may be provided with commentary of the game progress and the relay, and message routing with relatively simple logic. By performing server mirroring using the server, there is an advantage that can solve the problem of server load during game relay.
Claims (20)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060029911A KR100810757B1 (en) | 2006-03-31 | 2006-03-31 | Game Broadcasting System Using Server Mirroring |
CN2007800113366A CN101410822B (en) | 2006-03-30 | 2007-03-30 | Server mirroring method and system |
JP2009502686A JP5044638B2 (en) | 2006-03-30 | 2007-03-30 | Server mirroring method and system |
PCT/KR2007/001574 WO2007114606A1 (en) | 2006-03-30 | 2007-03-30 | Server mirroring method and system therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060029911A KR100810757B1 (en) | 2006-03-31 | 2006-03-31 | Game Broadcasting System Using Server Mirroring |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070098359A true KR20070098359A (en) | 2007-10-05 |
KR100810757B1 KR100810757B1 (en) | 2008-03-10 |
Family
ID=38804436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060029911A KR100810757B1 (en) | 2006-03-30 | 2006-03-31 | Game Broadcasting System Using Server Mirroring |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100810757B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160093292A (en) * | 2015-01-29 | 2016-08-08 | 한국전자통신연구원 | Contents offer method and the method perfoming contents offer server, commentator apparatus |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101696536B1 (en) * | 2015-03-20 | 2017-01-13 | 주식회사 네오플 | Method, server, and device to broadcast digital contents |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6015348A (en) | 1996-10-18 | 2000-01-18 | Starwave Corporation | Scalable game server architecture |
JP3178380B2 (en) | 1997-07-31 | 2001-06-18 | 日本電気株式会社 | Connection management method and computer-readable recording medium |
KR20020025147A (en) * | 2002-03-06 | 2002-04-03 | 주식회사 하나소프트 | Discrete style on-line game server system and server discrete method |
-
2006
- 2006-03-31 KR KR1020060029911A patent/KR100810757B1/en active IP Right Grant
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160093292A (en) * | 2015-01-29 | 2016-08-08 | 한국전자통신연구원 | Contents offer method and the method perfoming contents offer server, commentator apparatus |
Also Published As
Publication number | Publication date |
---|---|
KR100810757B1 (en) | 2008-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112788358B (en) | Video live broadcast method, video sending method, device and equipment for game match | |
US11266906B2 (en) | System and method for combining multiple game or application views into a single media stream | |
CN102209105B (en) | System for synchronous and asynchronous game patterns | |
US8025572B2 (en) | Dynamic spectator mode | |
US8562438B2 (en) | System and method for television-based services | |
WO2023029823A1 (en) | Game picture display method and apparatus, device and storage medium | |
US9215276B2 (en) | Apparatus and method of data transfer | |
CN112153394B (en) | Cloud game live broadcast interaction method and system | |
JP2003235027A (en) | Simultaneous reproduction method for distribution video, video distribution system, and terminal | |
TW200939789A (en) | Method for user session transitioning among streaming interactive video servers | |
TW201119399A (en) | System and method for encoding video using a selected tile and tile rotation pattern | |
CN108200480A (en) | A kind of game living broadcast interactive method, relevant device and system | |
TW200952495A (en) | Apparatus for combining aplurality of views of real-time streaming interactive video | |
JP2022506609A (en) | Cloud gaming by crowdsourcing using peer-to-peer streaming | |
CN112383832B (en) | Live broadcast room interaction method, electronic equipment and computer readable storage medium | |
CN106663066B (en) | Information processing apparatus and user information display method | |
JP2005509228A (en) | Inter-user communication module and processing | |
CN112929716A (en) | Method, device and system for live broadcast interaction of cloud application | |
KR100775132B1 (en) | Server Mirroring System and Method | |
KR100810757B1 (en) | Game Broadcasting System Using Server Mirroring | |
Otten | Broadcasting virtual games in the internet | |
JP5044638B2 (en) | Server mirroring method and system | |
CN117221615A (en) | Live interaction method, device, equipment and storage medium | |
WO2019107275A1 (en) | Information processing device and game image distribution method | |
KR20210063221A (en) | System and method for providing cloud games of viewer-participating type |
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 | ||
FPAY | Annual fee payment |
Payment date: 20130111 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20131224 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20151223 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20161227 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20181226 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20200102 Year of fee payment: 13 |