KR20070098359A - Game broadcasting system using server mirroring - Google Patents

Game broadcasting system using server mirroring Download PDF

Info

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
Application number
KR1020060029911A
Other languages
Korean (ko)
Other versions
KR100810757B1 (en
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 엔에이치엔(주)
Priority to KR1020060029911A priority Critical patent/KR100810757B1/en
Priority to CN2007800113366A priority patent/CN101410822B/en
Priority to JP2009502686A priority patent/JP5044638B2/en
Priority to PCT/KR2007/001574 priority patent/WO2007114606A1/en
Publication of KR20070098359A publication Critical patent/KR20070098359A/en
Application granted granted Critical
Publication of KR100810757B1 publication Critical patent/KR100810757B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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/85Providing additional services to players
    • A63F13/86Watching games played by other players
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business 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

A system and a method for relaying a game by mirroring a server are provided to enable a plurality of users to view game broadcasting irrespective of capacity of the server, and offer game progress and explanation of a caster to the users connected to the server advancing the game and another server by mirroring the server. A message routing server(206) generates publisher and subscriber groups, and assigns game servers(200-204) to the publisher or subscriber groups. The publisher game server joins in the publisher group, and generates a game room joined by the caster and gamers. A mirroring game server joins in the subscriber group. A broadcasting server(208) broadcasts moving picture data including audio/video of the caster joined in the game room. If the game room is generated, the publisher game server transmits a game room generation message and a game progress message to the message routing server, and the message routing server transfers the received messages to all mirroring game servers joined in the subscriber group. Each mirroring game server mirrors the same game room as the game room of the publisher game server, and clients(220-230) joined in the mirrored game room receive the moving picture data from the broadcasting server.

Description

서버 미러링을 이용한 게임 중계 시스템 및 방법{Game Broadcasting System Using Server Mirroring}Game Broadcasting System Using Server Mirroring}

도 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 servers 100, 102, and 104, and the user plays or watches the game on the selected server.

예를 들어, 사용자가 제1 게임 서버(100)에 접속한 경우, 사용자는 제1 게임 서버(100)에 접속한 사용자들과만 커뮤니케이션이 가능하며, 제1 게임 서버에 생성된 게임 룸에서만 게임을 플레이하거나 관전할 수 있다. For example, when a user accesses the first game server 100, the user may communicate only with users accessing the first game server 100, and the game may be played only in a game room created on the first game server. You can play or watch.

즉, 제1 게임 서버(100)에 접속한 사용자는 제2 게임 서버에 생성된 게임 룸에 참가할 수도 없으며, 제2 서버에 생성된 게임 룸에서 진행되는 게임 상황을 관전할 수도 없다. That is, a user who accesses the first game server 100 may not participate in the game room created in the second game server, nor can the user observe the game situation that is performed in the game room created in the second server.

근래의 들어, 바둑이나 전략 시뮬레이션 게임은 게임 플레이 외에도 관전 위 주로 게임을 즐기는 사용자가 늘어가고 있으며, 유명한 프로기사의 대국의 경우 상당수의 사용자가 관전에 참여하고 있다. 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 second game server 102 and the third game server 104 are used. There was a problem that users connected to the first game server can not observe the situation of the game and the commentary of the relay at all.

제1 게임 서버(100)에의 대국 진행 상황을 제2 게임 서버 및 제3 게임 서버로 제1 게임 서버(100)가 전송할 수도 있으나, 이 경우 트래픽이 급격히 증가하게 되고, 대국 진행 상황 전달을 위한 컨트롤 서버가 구비되어야 하며, 상기 컨트롤 서버는 상당히 복잡한 로직으로 구성되어야 하는 문제점이 있었다. The first game server 100 may transmit the progress of the match to the first game server 100 to the second game server and the third game server, but in this case, the traffic may increase rapidly and control for delivery of the match progress may be performed. The server had to be provided, and the control server had to be composed of quite complicated logic.

상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명에서는 서버 용량의 제한을 받지 않고 다수의 사용자가 게임 중계를 관전할 수 있는 게임 중계 시스템을 제안하는 것이다. 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 game servers 200, 202, and 204, a message routing server 206, and a broadcast server system 208. Can be. A plurality of user clients 220, 222, 224, 226, 228 and 230 are connected to a game relay system using server mirroring according to an embodiment of the present invention.

본 발명은 게임 서버(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 first game server 200 and the relay is participating in and relaying the game room, the clients 220, 222, 224, 226, 228, and 230 Participate in the game room of the first game server 200 to watch the game and receive commentary of the relay.

그러나, 전술한 바와 같이, 제1 게임 서버(200)가 더 이상 사용자를 수용할 수 없을 정도로 게임 중계 관전자가 많아지는 경우, 제1 게임 서버(200)에 접속하지 못한 사용자들은 게임 중계를 관전하고 싶어도 관전할 수 없는 문제점이 있었다. However, as described above, when the game relay spectator increases so that the first game server 200 can no longer accommodate the user, the users who do not access the first game server 200 watch the game relay. There was a problem that you can not watch.

본 발명에서는 서버 미러링을 이용하여 게임이 중계되는 게임 룸이 개설된 게임 서버에 접속하지 않은 사용자들도 게임 중계를 관전할 수 있는 방법을 제안한다. 예를 들어, 본 발명에 의하면, 제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 first game server 200, the users connected to the second game server 202 and the third game server 204 may also be registered. 1 It is possible to watch the game relaying in the game room of the game server 200.

본 발명의 바람직한 실시예에 따르면, 특정 서버의 게임 룸을 다른 서버에 미러링하여 다른 서버에 접속한 사용자들도 미러링된 게임 룸을 통해 게임 중계를 관전할 수 있도록 한다. 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 first game server 200 is mirrored to the second game server 202 and the third game server 204, and the game room is different from the game room like the first game server 200. A server mirrored to the server is called a publisher game server, and mirrors a server that mirrors game rooms of other game servers, such as the second game server 202 and the third game server 204. Let's say.

제1 게임 서버(200)에의 게임 룸에서 게임 중계가 진행되는 경우, 제1 게임 서버(200)는 퍼블리서 게임 서버가 되며, 제1 게임 서버(200)는 게임 플레이어 또는 게임 중계자로부터 다른 서버에 미러링될 게임 룸 생성 요청 정보를 수신한다. 게임 룸 생성을 요청한 게임 플레이어 또는 게임 중계자는 게임 룸 생성 요청 시 게임 중계를 위해 다른 서버에 미러링되는 룸이라는 정보를 입력한다. When a game relay is performed in the game room to the first game server 200, the first game server 200 becomes a publisher game server, and the first game server 200 is connected to another server from a game player or a game relay. Receive game room creation request information to be mirrored. The game player or game repeater requesting the creation of a game room inputs information indicating a room mirrored to another server for game relaying when the game room creation request is made.

제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 first game server 200 is transmitted to the message routing server 206. Here, the information about the game room may include a game room type, user information participating in the game room, a game room title, and a game room number. In addition, the first game server 202 transmits a game progress information message in the generated game room to the routing server 200. Here, the game progress information may include game command information transmitted by game players for the online game progress. For example, when the game played in the first game server 200 is a Go game, the game command information may be Go notation information. When the game played in the first game server 200 is a strategy simulation game, the game command information may include an attack command of a unit, a move command of a unit, and the like.

또한, 게임 진행 정보는 제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 first game server 200.

본 발명의 바람직한 실시예에 따르면, 게임 룸 미러링을 위한 서버들간의 통신을 간소화하기 위해 메시지 라우팅 서버(206)를 이용한다. 메시지 라우팅 서버(206)는 제1 게임 서버(200)에서 제공하는 게임 룸 생성 정보 메시지 및 게임 진행 정보 메시지를 제2 게임 서버(202) 및 제3 게임 서버(204)에 제공한다. According to a preferred embodiment of the present invention, message routing server 206 is used to simplify communication between servers for game room mirroring. The message routing server 206 provides the game room creation information message and the game progress information message provided by the first game server 200 to the second game server 202 and the third game server 204.

본 발명의 바람직한 실시예에 따르면, 메시지 라우팅 서버(206)는 복수의 커넥션을 하나의 그룹으로 관리하는 기능을 지원한다.According to a preferred embodiment of the present invention, the message routing server 206 supports the function of managing a plurality of connections into one group.

도 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 subscriber group 300 and a publisher group 302 are created in the message routing server according to an embodiment of the present invention, and the subscriber group is a game of the publisher game server. A mirroring game server that mirrors a room joins a group, and a publisher group is a group that a publisher game server that provides game room information to be mirrored joins.

도 2에서, 퍼블리서 게임 서버인 제1 게임 서버(200)는 퍼블리서 그룹(302)에 참가하고, 미러링 게임 서버인 제2 게임 서버(202) 및 제3 게임 서버(204)는 서브스크라이버 그룹(300)에 참가한다. In FIG. 2, the first game server 200, which is a publisher game server, joins the publisher group 302, and the second game server 202 and the third game server 204, which are mirroring game servers, are subscribers. Join group 300.

메시지 라우팅 서버(206)와 연결된 제1 게임 서버 내지 제3 게임 서버(200, 202, 204)는 서버 시작 시 메시지 라우팅 서버(206)의 퍼블리서 그룹(302) 또는 서브스크라이버 그룹(300) 중 하나에 참가하도록 설정되며, 메시지 라우팅 서버(206)는 연결된 서버들의 요청에 따라 서브스크라이버 그룹(300) 또는 퍼블리서 그룹(302)에 참가시킨다. The first to third game servers 200, 202, and 204 connected to the message routing server 206 are either the publisher group 302 or the subscriber group 300 of the message routing server 206 at server startup. It is configured to join one, and the message routing server 206 joins the subscriber group 300 or the publisher group 302 at the request of the connected servers.

본 발명의 바람직한 실시예에 따르면, 퍼블리서 게임 서버인 제1 게임 서버(200)는 멀티캐스트 방식으로 미러링될 게임 룸 정보와 관련된 메시지를 메시지 라우팅 서버(206)에 제공한다. 퍼블리서 게임 서버인 제1 게임 서버(200)는 메시지 라우팅 서버(206)에 서브스크라이버 그룹으로 전송되는 메시지라는 정보만을 포함하여 메시지 라우팅 서버에 게임 룸 관련 정보를 제공한다. 즉, 제1 게임 서 버(200)가 메시지 라우팅 서버(206)에 전송하는 게임 룸 관련 메시지는 게임 룸 정보를 미러링할 제2 게임 서버(202) 및 제3 게임 서버(204)의 주소 정보를 포함하지 않으며, 메시지가 전송될 서브스크라이버 그룹 식별 정보만을 포함한다. According to a preferred embodiment of the present invention, the first game server 200, which is a publisher game server, provides a message routing server 206 with a message relating to game room information to be mirrored in a multicast manner. The first game server 200, which is a publisher game server, provides the game routing related information to the message routing server by including only the information of the message transmitted to the subscriber group to the message routing server 206. That is, the game room-related message that the first game server 200 transmits to the message routing server 206 may include address information of the second game server 202 and the third game server 204 to mirror the game room information. It contains no subscriber group identification information to which the message will be sent.

메시지 라우팅 서버(206)는 퍼블리서 게임 서버인 제1 게임 서버(200)로부터 서브스크라이버 그룹으로 전송될 메시지를 수신할 경우, 서브스크라이버 그룹에 참가한 모든 미러링 게임 서버에 퍼블리서 게임 서버로부터 전송된 메시지를 전송한다. 즉, 메시지 라우팅 서버(206)는 서브스크라이버 그룹에 참가한 제2 게임 서버(202) 및 제3 서버(204)에 제1 게임 서버(200)로부터 전송된 메시지를 전송한다. When the message routing server 206 receives a message to be transmitted to the subscriber group from the first game server 200 which is the publisher game server, the message routing server 206 transmits the message from the publisher game server to all the mirroring game servers participating in the subscriber group. The sent message. That is, the message routing server 206 transmits the message transmitted from the first game server 200 to the second game server 202 and the third server 204 participating in the subscriber group.

메시지 라우팅 서버(206)는 전송되는 메시지가 서브스크라이버 그룹의 서버들에 전송될 메시지인지 또는 퍼블리서 그룹의 서버들에게 전송될 메시지인지 여부만을 판단하여 수신된 메시지를 퍼블리서 그룹의 서버 또는 서브스크라이버 그룹의 서버에 전송하는 역할만을 수행하며, 수신된 메시지의 분석, 판단 및 제어 절차를 수행하지는 않는다. The message routing server 206 determines only whether the message being sent is a message to be sent to servers in a subscriber group or a message to be sent to servers in a publisher group, and thus receives the received message as a server or sub server in a publisher group. It only plays the role of transmitting to the server of the scriber group, and does not perform the analysis, determination and control procedure of the received message.

따라서, 메시지 라우팅 서버(206)는 기존의 서버간 정보 교환을 위한 컨트롤 서버들에 비해 보다 간소한 구성을 가질 수 있으며, 퍼블리서 게임 서버에서 전송하는 메시지도 메시지의 수신자를 일일이 지정할 필요 없이 보다 단순화된 방식으로 전송될 수 있는 바, 메시지 트래픽 역시 감소될 수 잇다. Accordingly, the message routing server 206 can have a simpler configuration than the control servers for exchanging information between the existing servers, and the message transmitted from the publisher game server is further simplified without having to specify the receiver of the message. The message traffic can also be reduced, as it can be transmitted in a conventional manner.

미러링 게임 서버인 제2 게임 서버(202) 및 제3 게임 서버(204)는 메시지 라우팅 서버(206)로부터 퍼블리서 게임 서버인 제1 게임 서버(200)가 전송한 게임룸 관련 메시지를 수신하며, 메시지를 분석하여 게임 룸 미러링을 수행한다. The second game server 202 and the third game server 204, which are mirroring game servers, receive a game room related message transmitted by the first game server 200, which is a publisher game server, from the message routing server 206. Analyzes the message and performs game room mirroring.

예를 들어, 제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 first game server 200 is a message including game room creation information, the second game server 202 and the third server 204 analyze the message to generate game room creation information. Create a game room with the same conditions as the information contained in. When the message transmitted from the first game server 200 is a message including state change information of the game room, the second game server 202 and the third game server 204 analyze the message to determine the first game server. The state of the mirroring game room of the second game server 202 and the third server 204 is changed to the same state as the game room.

상술한 바와 같은 구성에 의해, 중계되는 게임이 바둑 게임일 경우, 플레이어들에 의한 바둑 기보 정보, 해설자의 해설을 위한 바둑 기보 정보는 메시지 라우팅 서버(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 message routing server 206 and the second game server 202 and the game. The users who participated in the mirroring game room of the third game server 204 and participated in the mirroring game room of the second game server 202 and the third game server 204 are players in the game room of the first game server 200. And notation information can be provided by the commentator.

한편, 중계자의 음성 및 영상 정보는 방송 서버 시스템(208)을 통해 퍼블리서 게임 서버인 제1 게임 서버(200)의 게임 룸에 참여한 사용자와 미러링 게임 서버인 제2 게임 서버(202) 및 제3 게임 서버(204)의 미러링 게임 룸에 참가한 사용자들에게 제공된다. On the other hand, the voice and video information of the relay through the broadcast server system 208, the user participating in the game room of the first game server 200, which is a publisher game server, the second game server 202 and the third game server that is a mirroring game server It is provided to users who participate in the mirroring game room of the game server 204.

중계자가 퍼블리서 게임 서버인 제1 게임 서버(200)의 게임 룸에 참가하는 경우, 중계자는 방송 서버 시스템(208) 해설 동영상 방송을 위한 방송 아이디를 요청하며, 중계 서버 시스템은 게임 해설을 위한 방송 아이디와 중계자의 음성 및 영 상 정보를 방송할 방송 서버의 주소 정보를 제공한다. When the repeater participates in the game room of the first game server 200, which is the publisher game server, the repeater requests a broadcast ID for broadcast video of the broadcast server system 208, and the broadcast server system broadcasts for game commentary. It provides ID and address information of broadcast server to broadcast voice and video information of repeater.

중계자의 게임 어플리케이션에는 중계자의 음성 및 영상을 동영상 스트리밍 데이터로 코딩하는 모듈이 구비되어 있으며, 중계자의 음성 및 영상을 포함하는 동영상 스트리밍 데이터는 상기 방송 서버 시스템에 의해 정해진 방송 서버로 전송된다. 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 first game server 200, which is a publisher game server, and the mirrored game room created in the second game server 202 and the third game server 204, which are mirroring game servers, participated in each game. From the room, broadcast ID information through which commentator information is streamed is provided.

즉, 본 발명의 바람직한 실시예에 따르면, 바둑 기보와 같은 게임 진행 정보는 메시지 라우팅 서버(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 message routing server 206, the commentary video streaming data of the relay is broadcast server system It is transmitted to each user client participating in the game room of the publishing game server and the mirroring game room of the mirroring game server.

따라서, 제1 게임 서버(200)의 관전자가 서버의 수용 한계를 넘어서더라도, 사용자들은 제2 게임 서버(202) 및 제3 게임 서버(204)에 접속하여 게임을 관전할 수 있다. Therefore, even if the spectator of the first game server 200 exceeds the acceptance limit of the server, the users can access the second game server 202 and the third game server 204 to watch the game.

도 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 game room 400 of the publisher game server is created by a player or a repeater, and only users who access the publisher game server participate. Among the users participating in the game room 400 of the publisher game server, the players proceed with the game while exchanging game packets through the publisher game server. The game may include a Go game, a strategy simulation game, a board game, and the like, and an application for game play is installed in a client of a player connected to the publisher game server.

퍼블리서 게임 서버의 게임 룸은 게임 룸 생성, 게임 진행 중 교환되는 게임 커맨드 정보 및 게임 룸 종료와 같은 게임 룸의 게임 진행 상황과 관련된 정보를 메시지 라우팅 서버의 서브스크라이버 그룹으로 전송되도록 프로그래밍된다. 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 game room 402 created in the mirroring game server. When a game room creation message is sent from the publisher game server to each mirroring game server participating in the subscriber group through the message routing server 206, the mirroring game server is subject to the same conditions as the game room information included in the game room creation message. Create a mirroring game room. In addition to the general game room, the mirroring game server also provides a mirrored game room as a game room list, and users connected to the mirroring game server can join the mirrored game room.

퍼블리서 게임 서버의 게임 룸(402)에서 게임이 진행될 경우, 퍼블리서 게임 서버의 게임 룸(402)은 게임 진행과 관련된 정보를 메시지 라우팅 서버(206)에 전송하며, 메시지 라우팅 서버(206)는 서브스크라이버 그룹에 참가한 미러링 게임 서버들에 전송하며, 미러링 게임 서버는 게임 진행과 관련된 정보를 관련된 게임 룸(402)에 전달한다. 따라서, 미러링 게임 룸에 참가한 사용자들은 퍼블리서 게임 서버에서 진행되는 게임 상황을 관전할 수 있다.When a game is played in the game room 402 of the publisher game server, the game room 402 of the publisher game server transmits information related to the game progress to the message routing server 206, and the message routing server 206 It transmits to the mirroring game servers participating in the subscriber group, and the mirroring game server transmits the information related to the game progress to the related game room 402. Therefore, the users who participate in the mirroring game room can watch the game situation progressing on the publisher game server.

예를 들어, 퍼블리서 게임 서버의 게임 룸(400)에서 바둑 게임이 진행될 경우, 퍼블리서 게임 서버의 게임 룸(400)의 플레이어들에 의해 생성되는 기보 정보는 실시간으로 메시지 라우팅 서버를 통해 미러링 게임 서버의 게임 룸(402)으로 전송되며, 미러링 게임 서버의 게임 룸(402)은 참가한 관전자들에게 전송된 기보 정보를 제공하여 바둑 관전이 가능하도록 한다. For example, when the Go game is played in the game room 400 of the publisher game server, the notation information generated by the players of the game room 400 of the publisher game server may be mirrored through the message routing server in real time. It is transmitted to the game room 402 of the server, the game room 402 of the mirroring game server provides the notation information transmitted to the participating spectators to enable watching games.

도 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 connection control server 500 and a plurality of broadcast servers 502, 504, and 506.

접속 제어 서버(500)는 중계자 클라이언트(510)로부터 방송 아이디 요청 정 보를 수신하고, 중계자 클라이언트에 방송 아이디 및 중계자 클라이언트가 동영상 스트리밍 데이터를 전송할 방송 서버의 주소 정보를 제공한다. The access control server 500 receives the broadcast ID request information from the relay client 510 and provides the broadcast client with the broadcast ID and address information of the broadcast server to which the relay client transmits the video streaming data.

종래의 경우, 접속 제어 서버(500)는 중계자 클라이언트가 방송 아이디를 요청할 경우,중계자 클라이언트(510)가 동영상 스트리밍 데이터를 전송할 하나의 방송 서버 주소를 제공하였다. 통상적으로, 접속 제어 서버(500)는 복수의 방송 서버 중 로드가 가장 적게 걸리는 방송 서버의 주소 정보를 제공하였다. In the related art, when the relay client requests a broadcast ID, the access control server 500 provides one broadcast server address to which the relay client 510 transmits video streaming data. In general, the access control server 500 provided address information of a broadcast server having the least load among the plurality of broadcast servers.

그러나, 본 발명의 바람직한 바람직한 실시예에 따르면, 접속 제어 서버(500)는 중계자 클라이언트가 동영상 스트리밍 데이터를 전송할 적어도 두개의 방송 서버 주소를 제공하며, 중계자 클라이언트(510)는 두 개의 방송 서버의 접속하여 동영상 스트리밍 데이터를 각각 전송한다. 도 5에 도시된 바와 같이, 접속 제어 서버(500)가 방송 서버1(502) 및 방송 서버2(504)에 접속하도록 주소 정보를 제공한 경우, 중계자 클라이언트(510)는 방송 서버1(502) 및 방송 서버2(502) 각각에 동영상 스트리밍 데이터를 전송한다. However, according to a preferred embodiment of the present invention, the access control server 500 provides at least two broadcast server addresses for the relay client to transmit the video streaming data, and the relay client 510 connects the two broadcast servers. Send video streaming data. As illustrated in FIG. 5, when the access control server 500 provides address information to access the broadcast server 1 502 and the broadcast server 2 504, the relay client 510 may transmit the broadcast server 1 502. And transmitting the streaming video data to each of the broadcast server 2 (502).

여기서, 주소 정보는 방송 서버의 아이피 주소 및 포트 번호일 수 있으며, 그 외의 다른 주소 정보가 사용될 수도 있다는 점은 당업자에게 있어 자명할 것이다. 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 access control server 500 manages the IP address and port number of the broadcast server corresponding to the broadcast ID, and when the spectator client requests address information corresponding to the broadcast ID, the IP of the broadcast server corresponding to the broadcast ID is requested. Provide the address and port number. The video streaming data of the relay is transmitted to the two broadcast servers, and the spectator client is provided with only the IP address and port number of one of the two broadcast servers. The access control server 500 may provide address information of a broadcast server having a low load among the two broadcast servers.

도 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 connection control server 500 transmits the address information of the broadcast server 2 504 to the spectator client 512. And the spectator client 512 receives the video streaming data of the relay from the broadcast server 2.

도 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 publisher game server 1104 and the mirroring game servers 1100 and 1102 participating in the publisher group and the subscriber group of the message routing server maintain a connection with the message routing server through a socket. do.

도 11에 도시된 바와 같이, 퍼블리서 게임 서버(1104)가 서브스크라이버 그룹에 참가한 미러링 게임 서버들에 메시지를 전달하고자 하는 경우, 퍼블리서 게임 서버는 서브스크라이버 그룹을 목적지 주소로 하여 멀티캐스트 방식으로 메시지를 전송한다. As shown in FIG. 11, when the publisher game server 1104 wants to deliver a message to the mirroring game servers participating in the subscriber group, the publisher game server multicasts the subscriber group with the destination address. To send the message.

메시지 라우팅 서버(206)는 서브스크라이버 그룹에 속한 미러링 게임 서버들(1100, 1102)과 커넥션을 유지하고 있는 소켓들을 통해 미러링 게임 서버 각각으로 퍼블리서 게임 서버로부터 전송된 메시지를 전달한다. The message routing server 206 forwards the message sent from the publishing game server to each of the mirroring game servers through sockets maintaining connections with the mirroring game servers 1100 and 1102 belonging to the subscriber group.

다시, 도 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 (steps 704 and 706). Although FIG. 7 illustrates that video streaming data is sequentially transmitted to broadcast server 1 and broadcast server 2, the relay client simultaneously transmits video streaming data to broadcast server 1 and 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 operation 808.

미러링 게임 서버는 메시지에 포함된 게임 룸 번호에 상응하는 미러링 게임 서버에서의 게임 룸 번호를 판단한다. 상술한 매칭 테이블 또는 매칭 코드를 이용 하여 퍼블리서 게임 서버의 게임 룸 번호에 상응하는 미러링 게임 룸 번호를 판단할 수 있을 것이다. 퍼블리서 게임 서버에서 룸을 나간 사용자가 중계자일 경우, 미러링 게임 서버는 판단된 미러링 게임 룸 번호에 상응하는 더미 플레이어를 삭제한다(단계 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 step 1000, a list of game rooms providing game room information to the mirroring game servers is requested.

게임 룸 리스트 요청 메시지는 퍼블리서 그룹을 목적지 주소로 하며, 메시지 라우팅 서버는 퍼블리서 그룹에 참가한 퍼블리서 게임 서버에 게임 룸 리스트 요청 메시지를 전달한다(단계 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)

퍼블리서 그룹 및 서브스크라이버 그룹을 생성하며, 서버로부터의 요청 정보에 상응하여 상기 퍼블리서 그룹 및 서브스크라이버 그룹 중 하나에 참가시키는 메시지 라우팅 서버;A message routing server that creates a publisher group and a subscriber group, and joins one of the publisher group and the subscriber group according to request information from a 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 상기 퍼블리서 게임 서버의 게임 룸의 참가한 중계자의 음성 및 영상을 포함하는 동영상 데이터를 방송하는 방송 서버 시스템을 포함하되,Including a broadcast server system for broadcasting video data including the voice and video of the participating relay in the game room of the publisher game server, 상기 퍼블리서 게임 서버에 상기 게임 룸이 생성될 경우, 상기 퍼블리서 게임 서버는 게임 룸 생성 메시지 및 상기 게임 룸에서의 게임 진행 정보 메시지를 상기 메시지 라우팅 서버에 전송하며, 상기 메시지 라우팅 서버는 상기 퍼블리서 게임 서버로부터 수신한 상기 게임 룸 생성 메시지 또는 게임 진행 정보 메시지를 상기 서브스크라이버 그룹에 참가한 모든 미러링 게임 게임 서버에 전달하며, 상기 적어도 하나의 미러링 게임 서버 각각은 상기 퍼블리서 게임 서버의 게임 룸과 동일한 게임 룸을 미러링하며, 미러링된 게임 룸에 참가한 클라이언트들은 상기 방송 서버 시스템으로부터 상기 동영상 데이터를 수신하는 것을 특징으로 하는 서버 미 러링을 이용한 게임 중계 시스템. When the game room is created in the publisher game server, 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 sends the publication. The game room creation message or the game progress information message received from the game server is transmitted to all the mirroring game game servers participating in the subscriber group, wherein each of the at least one mirroring game server is a game room of the publishing game server. And mirroring the same game room as that of the client, wherein the clients participating in the mirrored game room receive the video data from the broadcast server system. 제1항에 있어서,The method of claim 1, 상기 적어도 하나의 미러링 게임 서버는, 상기 메시지 라우팅 서버로부터, 상기 퍼블리서 게임 서버의 게임 진행 정보 메시지를 수신할 경우, 상기 게임 진행 정보 메시지를 상기 미러링 게임 서버의 상기 미러링된 게임 룸에 참가한 클라이언트들에 전송하는 것을 특징으로 하는 서버 미러링을 이용한 게임 중계 시스템. 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. Game relay system using server mirroring, characterized in that for transmitting to. 제2항에 있어서, The method of claim 2, 상기 퍼블리서 게임 서버는 상기 메시지 라우팅 서버에 멀티캐스트 방식으로 상기 게임 룸 생성 메시지 및 상기 게임 진행 정보 메시지를 전송하며, 상기 퍼블리서 게임 서버로부터 상기 메시지 라우팅 서버로 전송되는 메시지는 상기 서브스크라이버 그룹이 목적지 주소로 설정되는 것을 특징으로 하는 서버 미러링을 이용한 게임 중계 시스템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. Game relay system using server mirroring, characterized in that set to this destination address 제1항에 있어서,The method of claim 1, 상기 적어도 하나의 미러링 게임 서버 각각은 상기 메시지 라우팅 서버로부터 게임 룸 생성 메시지를 수신할 경우, 상기 퍼블리서 게임 서버에 생성된 게임 룸 번호와 상기 미러링 게임 서버에서 미러링된 게임 룸 번호를 매칭시키기 위한 매칭 테이블 또는 매칭 코드를 생성하는 것을 특징으로 하는 서버 미러링을 이용한 게임 중계 시스템. 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. Game relay system using server mirroring, characterized in that to generate a table or matching code. 제2항에 있어서,The method of claim 2, 상기 게임 진행 정보 메시지는 상기 퍼블리서 게임 서버의 게임 룸에 참가한 플레이어 또는 중계자가 전송하는 게임 커맨드 정보 및 상기 퍼블리서 게임 서버의 게임 룸에 참가한 플레이어, 중계자 및 관전자가 교환하는 채팅 메시지를 포함하는 것을 특징으로 하는 서버 미러링을 이용한 게임 중계 시스템. 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 by a player, a relay, and a spectator participating in the game room of the publisher game server. Game relay system using a server mirroring characterized in that. 제1항에 있어서,The method of claim 1, 상기 적어도 하나의 퍼블리서 게임 서버 및 상기 적어도 하나의 미러링 게임 서버는 상기 메시지 라우팅 서버와 소켓을 통해 커넥션을 유지하며, 상기 메시지 라우팅 서버는 상기 퍼블리서 게임 서버로부터 상기 서브스크라이버 그룹에 참가한 미러링 게임 서버로 전송될 메시지를 수신할 경우, 상기 소켓을 통해 상기 수신된 메시지를 서브스크라이버 그룹에 참가한 미러링 게임 서버에 전송하는 것을 특징으로 하는 서버 미러링을 이용한 게임 중계 시스템. 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 sent to the server, the game relay system using server mirroring, characterized in that for transmitting the received message to the mirroring game server participating in the subscriber group through the socket. 제4항에 있어서,The method of claim 4, wherein 상기 미러링 게임 서버는, 상기 메시지 라우팅 서버로부터 상기 퍼블리서 게임 서버의 게임 진행 정보 메시지를 수신할 경우, 상기 게임 진행 정보 메시지를 분석하여 상기 메시지와 관련된 퍼블리서 게임 서버의 게임 룸 번호를 판단하고, 상기 매칭 테이블 또는 매칭 코드를 이용하여 관련된 상기 미러링 게임 서버에서의 미러링된 게임 룸 번호를 판단한 후 상기 게임 진행 정보 메시지를 해당 게임 룸에 제공하는 것을 특징으로 하는 서버 미러링을 이용한 게임 중계 시스템. 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, And determining the mirrored game room number in the related mirroring game server by using the matching table or the matching code, and providing the game progress information message to the corresponding game room. 제1항에 있어서,The method of claim 1, 상기 방송 서버 시스템은,The broadcast server system, 복수의 방송 서버; 및A plurality of broadcast servers; And 상기 중계자의 클라이언트로부터 방송 아이디를 요청받을 경우, 방송 아이디 및 상기 중계자의 클라이언트가 상기 동영상 데이터를 전송할 적어도 두 개의 방송 서버 주소 정보를 제공하는 접속 제어 서버를 포함하며,When the broadcast ID is requested from the client of the relay, the broadcast ID and the client of the relay includes a connection control server for providing at least two broadcast server address information to transmit the video data, 상기 중계자의 클라이언트는 상기 적어도 두 개의 방송 서버로 상기 동영상 데이터를 동시에 전송하는 것을 특징으로 하는 서버 미러링을 이용한 게임 중계 시스템. And the client of the relay transmits the video data to the at least two broadcast servers simultaneously. 제8항에 있어서,The method of claim 8, 상기 상기 퍼블리서 게임 서버의 게임 룸 및 상기 미러링 게임 서버에 미러링된 게임 룸은 참가한 클라이언트들에 상기 중계자의 클라이언트에게 할당된 방송 아이디를 제공하고, 상기 퍼블리서 게임 서버 또는 상기 미러링 게임 서버의 게임 룸에 참가하여 상기 방송 아이디를 제공받은 클라이언트는 상기 접속 제어 서버에 상기 방송 아이디에 상응하는 방송 서버 주소를 요청하며,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 by requesting the broadcast server address corresponding to the broadcast ID from the access control server, 상기 접속 제어 서버는 상기 중계자의 동영상 데이터를 수신하는 적어도 두 개의 방송 서버 중 로드가 적은 하나의 방송 서버 주소 정보를 상기 게임 룸에 참가한 클라이언트에 제공하는 것을 특징으로 하는 서버 미러링을 이용한 게임 중계 시스템. And the access control server provides one of the at least two broadcast servers receiving the video data of the relay to the client participating in the game room. 적어도 하나의 퍼블리서 게임 서버 및 적어도 하나의 미러링 게임 서버와 연결되어 상기 퍼블리서 게임 서버에 생성된 게임 룸을 상기 미러링 게임 서버에 미러링하기 위한 메시지 라우팅 서버로서,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 on the publisher game server to the mirroring game server. 상기 적어도 하나의 퍼블리서 게임 서버가 참가하는 퍼블리서 그룹 및 상기 적어도 하나의 미러링 게임 서버가 참가하는 서브스크라이버 그룹을 생성하며, 상기 퍼블리서 게임 서버로부터 게임 룸 생성 메시지 또는 게임 진행 정보 메시지를 수신할 경우, 상기 퍼블리서 게임 서버로부터 수신된 메시지-상기 메시지는 상기 서브스크라이버 그룹이 목적지 주소로 설정됨-를 상기 서브스크라이버 그룹에 참가한 모든 미러링 게임 서버에 전송하되, 상기 적어도 하나의 퍼블리서 게임 서버와 상기 적어도 하나의 미러링 게임 서버와 소켓을 통해 커넥션을 유지하는 것을 특징으로 하는 메시지 라우팅 서버. Create a publisher group in which the 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. The message received from the publisher game server, wherein the message is set to the destination address of the subscriber group, to all mirroring game servers participating in the subscriber group, wherein the at least one publisher And a connection between the game server and the at least one mirroring game server. 제10항에 있어서,The method of claim 10, 상기 퍼블리서 게임 서버의 게임 룸에는 중계자 및 게임 플레이어가 참가하며, 상기 중계자의 음성 및 영상을 포함하는 동영상 데이터는 방송 서버 시스템에 전송되는 것을 특징으로 하는 메시지 라우팅 서버. A relay and a game player participate in a game room of the publisher game server, and video data including voice and video of the relay is transmitted to a broadcast server system. 제11항에 있어서,The method of claim 11, 상기 적어도 하나의 미러링 게임 서버는 상기 게임 룸 생성 메시지를 수신할 경우, 상기 퍼블리서 게임 서버의 게임 룸과 동일한 게임 룸을 미러링하며, 미러링된 게임 룸에 참가한 클라이언트들은 상기 방송 서버 시스템으로부터 상기 동영상 데이터를 수신하는 것을 특징으로 하는 메시지 라우팅 서버. When the at least one mirroring game server receives the game room creation message, the at least one mirroring game server mirrors the same game room as the game room of the publisher game server, and clients participating in the mirrored game room receive the video data from the broadcast server system. Message routing server, characterized in that for receiving. 제10항에 있어서,The method of claim 10, 상기 퍼블리서 게임 서버로부터 게임 진행 정보 메시지를 수신하여 상기 적어도 하나의 미러링 게임 서버에 전송할 경우, 상기 미러링 게임 서버 각각은 상기 게임 진행 정보 메시지를 상기 미러링 게임 서버에 상기 미러링된 게임 룸에 참가한 클라이언트들에 전송하는 것을 특징으로 하는 메시지 라우팅 서버. When the game progress information message is received from the publisher game server and transmitted to the at least one mirroring game server, each of the mirroring game servers may transmit the game progress information message to the mirrored game server in the mirrored game room. Sending a message to the message routing server. 제10항에 있어서, The method of claim 10, 상기 게임 룸 생성 메시지 및 상기 게임 진행 정보 메시지를 멀티 캐스트 방식으로 수신하며, 상기 퍼블리서 게임 서버로부터 수신되는 메시지는 상기 서브스크라이버 그룹이 목적지 주소로 설정되는 것을 특징으로 하는 메시지 라우팅 서버. And receiving the game room creation message and the game progress information message in a multicast manner, wherein the message received from the publisher game server is configured with the subscriber group as a destination address. 제10항에 있어서,The method of claim 10, 상기 게임 진행 정보 메시지는 상기 퍼블리서 게임 서버의 게임 룸에 참가한 플레이어 또는 중계자가 전송하는 게임 커맨드 정보 및 상기 퍼블리서 게임 서버의 게임 룸에 참가한 플레이어, 중계자 및 관전자가 교환하는 채팅 메시지를 포함하는 것을 특징으로 하는 메시지 라우팅 서버. 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 by a player, a relay, and a spectator participating in the game room of the publisher game server. Message routing server. 적어도 하나의 퍼블리서 게임 서버, 적어도 하나의 미러링 게임 서버, 방송 서버 시스템 및 상기 적어도 하나의 퍼블리서 게임 서버 및 미러링 게임 서버와 커넥션을 유지하는 메시지 라우팅 서버를 포함하는 시스템에서 서버 미러링을 이용한 게임 중계 방법으로서,Game relaying using server mirroring in a system including at least one publisher game server, at least one mirroring game server, a broadcast server system, and a message routing server maintaining a connection with the at least one publisher game server and the mirroring game server. As a method, 상기 퍼블리서 게임 서버에서 게임 룸이 생성될 경우, 게임 룸 생성 메시지 및 상기 게임 룸에서의 게임 진행과 관련된 게임 진행 메시지를 상기 메시지 라우팅 서버에 전송하는 단계(a)-상기 게임 룸에는 적어도 중계자 및 게임 플레이어가 참가함-;When a game room is created in the publisher game server, transmitting a game room creation message and a game progress message related to a game progress in the game room to the message routing server, wherein the game room includes at least a relay; Game player joins; 상기 게임 룸에 참가한 상기 중계자의 클라이언트가 중계자의 음성 및 영상을 포함하는 동영상 데이터를 상기 방송 서버 시스템에 전송하는 단계(b);(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); 및(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 상기 적어도 하나의 미러링 게임 서버가 상기 메시지 라우팅 서버로부터 게임 룸 생성 메시지를 수신할 경우, 상기 미러링 게임 서버가 상기 게임 룸 생성 메 시지에 포함된 게임 룸 정보와 동일한 게임 룸을 미러링하는 단계(d);When the at least one mirroring game server receives a game room creation message from the message routing server, mirroring the game room that is identical to game room information included in the game room creation message; ; 상기 미러링 게임 서버의 미러링된 게임 룸 또는 상기 퍼블리서 게임 서버의 게임 룸에 클라이언트가 참가할 경우, 상기 방송 서버 시스템으로부터 상기 중계자의 상기 동영상 데이터를 수신할 수 있는 방송 아이디를 제공하는 단계(e)를 포함하는 것을 특징으로 하는 서버 미러링을 이용한 게임 중계 방법. (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. Game relay method using a server mirroring, characterized in that it comprises. 제16항에 있어서,The method of claim 16, 상기 메시지 라우팅 서버는 상기 적어도 하나의 퍼블리서 게임 서버가 참가하는 퍼블리서 그룹 및 상기 적어도 하나의 미러링 게임 서버가 참가하는 서브스크라이버 그룹을 생성하고, 상기 퍼블리서 게임 서버가 상기 메시지 라우팅 서버에 전송하는 메시지는 상기 서브스크라이버 그룹이 목적지 주소로 설정되며, 상기 메시지 라우팅 서버는 상기 서브스크라이버 그룹에 참가한 적어도 하나의 미러링 게임 서버에 퍼블리서 게임 서버로부터의 메시지를 전송하는 것을 특징으로 하는 서버 미러링을 이용한 게임 중계 방법. The message routing server generates a publisher group in which the at least one publisher game server joins and a subscriber group in which the at least one mirroring game server joins, and the publisher game server sends the message routing server to the message routing server. And the message group is set to a destination address, and the message routing server transmits a message from a publishing game server to at least one mirroring game server participating in the subscriber group. Game relay method using the. 제16항에 있어서,The method of claim 16, 상기 적어도 하나의 미러링 게임 서버가 상기 게임 진행 정보 메시지를 수신할 경우, 상기 미러링 게임 서버에 미러링된 게임 룸에 참가한 클라이언트들에 상기 게임 진행 정보 메시지를 제공하는 단계를 더 포함하는 것을 특징으로 하는 서버 미러링을 이용한 게임 중계 방법. And when the at least one mirroring game server receives the game progress information message, providing the game progress information message to clients participating in the game room mirrored to the mirroring game server. Game relay method using mirroring. 제16항에 있어서,The method of claim 16, 상기 방송 서버 시스템은,The broadcast server system, 복수의 방송 서버; 및A plurality of broadcast servers; And 상기 중계자의 클라이언트로부터 방송 아이디를 요청받을 경우, 방송 아이디 및 상기 중계자의 클라이언트가 상기 동영상 데이터를 전송할 적어도 두 개의 방송 서버 주소 정보를 제공하는 접속 제어 서버를 포함하며,When the broadcast ID is requested from the client of the relay, the broadcast ID and the client of the relay includes a connection control server for providing at least two broadcast server address information to transmit the video data, 상기 중계자의 클라이언트는 상기 적어도 두 개의 방송 서버로 상기 동영상 데이터를 동시에 전송하는 것을 특징으로 하는 서버 미러링을 이용한 게임 중계 방법. And the client of the repeater simultaneously transmits the video data to the at least two broadcast servers. 제19항에 있어서,The method of claim 19, 상기 미러링된 게임 룸 또는 상기 퍼블리서 게임 서버의 게임 룸에 참가한 클라이언트들이 상기 방송 서버 시스템에 방송 아이디에 상응하는 방송 서버 주소를 요청할 경우, 상기 방송 서버 시스템은 상기 적어도 두 개의 방송 서버 중 로드가 적은 하나의 방송 서버 주소 정보를 제공하는 것을 특징으로 하는 서버 미러링을 이용한 게임 중계 방법. When clients participating in the mirrored game room or the game room of the publisher game server request a broadcast server address corresponding to a broadcast ID from the broadcast server system, the broadcast server system may load less of the at least two broadcast servers. Game relaying method using server mirroring, characterized in that to provide one broadcast server address information.
KR1020060029911A 2006-03-30 2006-03-31 Game Broadcasting System Using Server Mirroring KR100810757B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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