KR20130011836A - Server, system and method for providing game subsidiary program - Google Patents

Server, system and method for providing game subsidiary program Download PDF

Info

Publication number
KR20130011836A
KR20130011836A KR1020110073260A KR20110073260A KR20130011836A KR 20130011836 A KR20130011836 A KR 20130011836A KR 1020110073260 A KR1020110073260 A KR 1020110073260A KR 20110073260 A KR20110073260 A KR 20110073260A KR 20130011836 A KR20130011836 A KR 20130011836A
Authority
KR
South Korea
Prior art keywords
file
game
version
program
user terminal
Prior art date
Application number
KR1020110073260A
Other languages
Korean (ko)
Inventor
김원기
장성국
유광희
박효신
성주현
Original Assignee
(주)네오위즈게임즈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)네오위즈게임즈 filed Critical (주)네오위즈게임즈
Priority to KR1020110073260A priority Critical patent/KR20130011836A/en
Priority to PCT/KR2011/008051 priority patent/WO2013015489A1/en
Priority to TW101116376A priority patent/TW201305909A/en
Publication of KR20130011836A publication Critical patent/KR20130011836A/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/34Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using peer-to-peer connections
    • 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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/535Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for monitoring, e.g. of user parameters, terminal parameters, application parameters, network parameters
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/552Details of game data or player data management for downloading to client devices, e.g. using OS version, hardware or software profile of the client device

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Child & Adolescent Psychology (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Primary Health Care (AREA)
  • Theoretical Computer Science (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE: A game sub program providing server, a system thereof, and a method thereof are provided to transmit a patch file without an influence to an executed game. CONSTITUTION: A game sub-program file storage unit stores a game sub-program file. A version verifying unit(113) confirms a version of a game program used by a user terminal. A version comparing unit(114) compares the version of the game program with a version of the game sub-program file. When the version of the game program is a previous version of the game sub-program file, a game sub-program file transmitting unit transmits the game sub-program file to the user terminal. [Reference numerals] (110) Online game server; (111) Game providing unit; (112) Patch file storage unit; (113) Version verifying unit; (114) Version comparing unit; (115) Patch file transmitting unit; (120) User terminal; (121) Gate execution unit; (122) Patch manager

Description

게임 보조 프로그램 제공 서버, 시스템 및 그 방법{Server, System and Method for Providing Game Subsidiary Program}Server, System and Method for Providing Game Subsidiary Program

본 발명은 게임 보조 프로그램 제공을 위한 서버, 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 사용자 단말이 패치 서버에서 전송될 패치 파일의 이전 버전의 온라인 게임을 하는 동안에 상기 패치 파일을 전송하는 온라인 게임 패치를 위한 서버, 시스템 및 그 방법에 관한 것이다.The present invention relates to a server, a system, and a method for providing a game assistance program, and more particularly, an online game in which a user terminal transmits the patch file while playing an online game of a previous version of a patch file to be transmitted from a patch server. A server, system and method for patching.

"패치"란 이미 정식으로 배포된 소프트웨어, 즉 운영체제 및 각종응용 프로그램의 문제점을 보완하고, 이들의 결점을 해결해 주는 공급자의 추가 패키지라고 할 수 있다. 이러한 패치는 단순히 보안뿐만 아니라, 응용 프로그램의 실행 속도 개선, 메모리 누설 방지 등과 같이 여러 측면에서 소프트웨어의 성능을 향상시켜주기 위한 것이다. 패치는 대상 시스템에서 있어 취약성을 보완해주는 일종의 보조 프로그램 이라고 할 수 있으며, 이러한 패치를 통하여 대상 시스템에 적합성을 유지하면서 배포된 소프트웨어를 업데이트 할 수 있다. 본 명세서에서는 전술한 '패치(Patch)'와 '보조 프로그램(Subsidiary Program)'을 동등한 개념으로 혼용하여 사용한다.A "patch" is an additional package from a supplier that supplements and resolves the problems of software that is already formally distributed, that is, operating systems and applications. These patches are not only for security, but also to improve the performance of the software in many ways, such as faster execution of applications and memory leak prevention. A patch is a kind of supplemental program that compensates for the vulnerability in the target system. The patch can update the distributed software while maintaining the suitability for the target system. In the present specification, the above-mentioned 'patch' and 'subsidiary program' are used interchangeably as equivalent concepts.

특히 온라인 게임의 경우 배포 이후 게임이 업데이트 되거나 오류를 발견하여 수정을 해야 하는 경우가 생기는데, 이러한 경우에도 패치를 통하여 업데이트를 하거나 오류를 수정할 수 있다. 게임의 재미 요소, 신규 아이템 등의 변경을 통해 완성도를 높여나가기 위한 작업이 계속 진행되므로 온라인 게임의 경우, 패치 작업이 필수적이다. In particular, in the case of online games, the game may be updated after the distribution or an error may be found and corrected. In such a case, the patch may be updated or the error may be corrected. Patch work is essential for online games, as work continues to increase the degree of completeness through changes to the fun elements of the game and new items.

기존엔 패치 파일을 1:1로 다운로드하여 설치하였는데 이 방법이 가장 보편화된 패치 형태로 가장 안정한 방법이다. 하지만 많은 네트워크 트래픽 비용이 발생하고 패치 시간이 사용자의 네트워크 환경에 의존적이라는 문제점이 있다.In the past, patch files were downloaded and installed 1: 1. This is the most stable patch type. However, there is a problem that a lot of network traffic costs and patch time is dependent on the user's network environment.

기존의 다른 패치 방법으로, 패치 파일을 작은 단위의 파일들로 패킹하여 (Resource Packing) 특정 단위파일만 패치가 가능하도록 하는 방법이 있다. 수정된 내용만 패치가 가능하다는 장점이 있지만 게임 개발사의 입장에서는 배포자가 제공한 Pack Library를 사용한 추가작업이 필요하다는 문제점이 있다.Another existing patching method is to pack a patch file into small files so that only a specific unit file can be patched. The advantage is that only the modified contents can be patched, but the game developer's point is that additional work using the Pack Library provided by the distributor is required.

기존의 다른 패치 방법으로 이진 파일의 형태인 패치 파일에서 수정된 부분만 추출하여 해당 영역만 패치하는 방법이 있다. 이 방법은 많은 네트워크비용을 절감하고 효율이 높을 경우 사용자 패치 시간이 감소한다는 장점이 있지만, 각 패치마다 제어하기 힘들고, 그에 상응하여 별도 파일을 생성하여야 하는 문제점이 있다. 또한 패치하는데 시간이 많이 들고 운영 비용이 증가하는 문제점도 있다. Another existing patching method is to extract only the modified part of the patch file in the form of a binary file and patch only the corresponding area. This method has the advantage of reducing the user patch time when the network cost is reduced and the efficiency is high, but it is difficult to control for each patch, and correspondingly, a separate file must be generated. There is also the problem of time-consuming patching and increased operating costs.

기존의 다른 패치 방법으로 게임 실행시 필요한 최소한의 파일만 다운로드 받아 프로그램 실행 후 필요한 파일을 하나씩 다운로드 받는 방법이 있다. 이 경우 클라이언트에 전체 프로그램 패키지를 다 설치할 필요가 없다는 장점이 있지만 사용자 네트워크의 환경 변수에 매우 민감하여 다운로드해야 할 파일이 많을 경우 게임이 멈출 수 있는 문제점이 있다. Another existing patching method is to download only the minimum files necessary to run the game and then download the necessary files one by one after executing the program. In this case, there is an advantage that the entire program package does not need to be installed on the client. However, it is very sensitive to environment variables of the user network, and there is a problem that the game may stop when there are many files to download.

현재 실시간으로 패치하는 형태는 점검 후 일시적인 패치 트래픽 몰림 현상이 발생하고, 실시간 다운로드와 설치로 인하여 사용자의 패치 시간이 증가하는 문제점이 있다. 또한 새벽 시간에 패치 점검을 위해 담당자들의 업무가 과중화 되고 있고, 현재 온라인 게임의 추세는 대형화되고 있는데 기존의 패치 형태만으로는 상기 문제점을 해결할 수 없는 실정이다.Currently, in the form of patching in real time, a temporary patch traffic crowding occurs after checking, and a user's patch time increases due to real-time download and installation. In addition, the task of the personnel in charge of checking the patch at dawn time is being overburdened, and the current online game trend is increasing, but the existing patch form alone can not solve the problem.

본 발명은 상술한 문제점을 해결하기 위하여 창출된 것으로, 패치서버의 트래픽을 줄여 운용 비용을 낮추고, 게임 실행 중에 게임에 영향을 미치지 않고 패치 파일을 전송할 수 있는 온라인 게임 패치 시스템을 제공하는 데 목적이 있다.The present invention was created to solve the above-mentioned problems, the object of the present invention is to provide an online game patch system that can reduce the traffic of the patch server to lower the operating cost, and transmit the patch file without affecting the game during game execution. have.

상술한 목적을 달성하기 위해 본 발명의 일 실시예는, 패치 파일을 저장하는 패치 파일 저장부; 사용자 단말이 사용하고 있는 게임 프로그램의 버전을 확인하는 버전 확인부; 상기 게임 프로그램의 버전와 상기 패치 파일의 버전을 비교하는 버전 비교부; 및 상기 게임 프로그램의 버전이 상기 패치 파일의 버전보다 이전 버전인 경우, 상기 게임 프로그램을 실행 중인 상기 사용자 단말로 상기 패치 파일을 전송하는 패치 파일 전송부를 포함하는 게임 서버를 제공한다.In order to achieve the above object, an embodiment of the present invention, a patch file storage unit for storing a patch file; A version check unit for checking a version of a game program being used by the user terminal; A version comparison unit comparing a version of the game program with a version of the patch file; And a patch file transmitter for transmitting the patch file to the user terminal running the game program when the version of the game program is earlier than the version of the patch file.

본 발명의 다른 실시예는, 온라인 게임 서버에 접속하여 게임 프로그램을 실행하는 게임 실행부; 및 상기 게임 프로그램이 실행될 때, 상기 온라인 게임 서버로부터 패치 파일을 수신하고, 상기 패치 파일의 수신이 완료되면 상기 패치 파일을 실행하는 패치 매니저를 포함하는 것을 특징으로 하는 사용자 단말을 제공한다.Another embodiment of the present invention, the game execution unit for connecting to the online game server to execute the game program; And a patch manager which receives a patch file from the online game server when the game program is executed and executes the patch file when reception of the patch file is completed.

본 발명의 다른 실시예는, 온라인 게임 서버에 접속하여 게임 프로그램을 실행하는 게임 실행부; 및 상기 온라인 게임 서버로부터 수신한 패치 파일을 실행하는 패치 매니저를 포함하고, 상기 패치 파일의 실행은, 상기 게임 프로그램의 버전과 상기 온라인 게임 서버로부터 수신한 패치 파일의 버전을 비교하는 단계, 및 상기 게임 프로그램의 버전이 상기 패치 파일의 버전보다 이전 버전인 경우 업데이트할 업데이트 파일을 수신하는 단계를 포함하는 것을 특징으로 하는 사용자 단말을 제공한다. Another embodiment of the present invention, the game execution unit for connecting to the online game server to execute the game program; And a patch manager for executing a patch file received from the online game server, wherein the execution of the patch file comprises: comparing a version of the game program with a version of a patch file received from the online game server; and If the version of the game program is earlier than the version of the patch file provides a user terminal comprising the step of receiving an update file to update.

본 발명에 따른 온라인 게임 패치를 위한 서버, 시스템 및 그 방법에 의하면,According to the server, system and method for an online game patch according to the present invention,

첫째, 온라인 게임 서버가 트래픽을 적절히 안분하도록 패치 파일의 전송을 제어하여 트래픽 몰림 현상을 해결할 수 있다. First, it is possible to solve the traffic congestion by controlling the patch file transmission so that the online game server properly divides the traffic.

둘째, 온라인 게임 서버의 트래픽을 줄임으로써 운영 비용을 절감할 수 있다.Second, operating costs can be reduced by reducing the traffic of online game servers.

셋째, 패치 파일의 전송은 사용자 단말에서 패치 파일의 이전 버전의 온라인 게임을 하는 동안 이루어지는 것이기 때문에, 패치 파일을 실행해야 할 시점에서는 별도로 패치 파일을 전송받지 않고 바로 실행할 수 있어 사용자에게 편의를 제공한다. Third, since the patch file is transmitted during the online game of the previous version of the patch file on the user terminal, when the patch file needs to be executed, the patch file can be executed immediately without receiving the patch file, thereby providing convenience to the user. .

다섯째, 기존의 패치 속도와 비교할 때 월등히 빠른 속도로 패치가 가능하다.Fifth, it is possible to patch at a much faster speed than the existing patch speed.

도 1은 본 발명의 일 실시예에 따른 온라인 게임 시스템의 구성도이다.
도 2는 온라인 게임 패치 시스템의 일 예를 도시한다.
도 3은 도 2의 온라인 게임 패치 시스템의 예에 의한 효과를 나타낸다.
도 4는 도 1의 시스템에서 온라인 게임 패치 방법의 흐름도를 도시한다.
도 5는 본 발명의 다른 실시예에 따른 온라인 게임 시스템의 구성도이다.
도 6은 도 5의 시스템에서 패치 파일의 실행 과정의 일 예를 도시하는 흐름도이다.
도 7은 본 발명의 다른 실시예에 따른 온라인 게임 시스템의 구성도이다.
도 8은 도 7의 시스템에서 패치 파일의 실행 과정의 일 예를 도시하는 흐름도이다.
1 is a block diagram of an online game system according to an embodiment of the present invention.
2 shows an example of an online game patch system.
3 illustrates the effect of the example of the online game patch system of FIG. 2.
4 shows a flowchart of an online game patching method in the system of FIG.
5 is a block diagram of an online game system according to another embodiment of the present invention.
6 is a flowchart illustrating an example of an execution process of a patch file in the system of FIG. 5.
7 is a block diagram of an online game system according to another embodiment of the present invention.
8 is a flowchart illustrating an example of an execution process of a patch file in the system of FIG. 7.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The present invention may be variously modified and have various embodiments, and specific embodiments will be illustrated in the drawings and described in detail with reference to the accompanying drawings. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. In addition, numerals (e.g., first, second, etc.) used in the description of the present invention are merely an identifier for distinguishing one component from another.

또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기일 구성요소가 상기 다른 구성요소와 직접연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.In addition, in the present specification, when one component is referred to as "connected" or "connected" with another component, the one component may be directly connected or directly connected to the other component, but in particular It is to be understood that, unless there is an opposite substrate, it may be connected or connected via another component in the middle.

이하, 첨부된 도면들을 참조하여 본 발명의 실시예들을 중심으로 본 발명을 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 온라인 게임 시스템의 구성도이다.1 is a block diagram of an online game system according to an embodiment of the present invention.

도 1을 참조하면, 온라인 게임 시스템은 온라인 게임 서버(110), 사용자 단말(120) 및 패치 DB(130)를 포함한다. 온라인 게임 서버(110)는 인터넷, 무선 통신망, 전화망 등과 같은 다양한 형태의 네트워크를 통해 사용자 단말(120)과 연결된다. 도 1에서 하나의 사용자 단말(120)이 온라인 게임 서버(110)에 연결되는 것으로 도시되었지만, 다수의 사용자 단말(120)이 온라인 게임 서버(110)에 연결될 수 있다.Referring to FIG. 1, an online game system includes an online game server 110, a user terminal 120, and a patch DB 130. The online game server 110 is connected to the user terminal 120 through various types of networks such as the Internet, a wireless communication network, a telephone network, and the like. Although one user terminal 120 is illustrated as being connected to the online game server 110 in FIG. 1, a plurality of user terminals 120 may be connected to the online game server 110.

온라인 게임 서버(110)는 게임 제공부(111), 패치 파일 저장부(112), 버전 확인부(113), 버전 비교부(114), 패치 파일 전송부(115)를 포함한다. The online game server 110 may include a game providing unit 111, a patch file storage unit 112, a version checking unit 113, a version comparing unit 114, and a patch file transmitting unit 115.

게임 제공부(111)는 사용자 단말(120)로부터의 접속 요청에 따라 온라인 게임 서비스를 제공한다.The game providing unit 111 provides an online game service according to a connection request from the user terminal 120.

패치 파일 저장부(112)는 사용자단말(120)로 전송할 패치 파일을 저장한다. The patch file storage unit 112 stores a patch file to be transmitted to the user terminal 120.

패치 파일은 현재 사용자 단말(120)에서 실행되는 온라인 게임의 버전에 따라 다른 구성을 가질 수 있다. 예를 들면, 온라인 게임의 가장 최근 버전이 V3일 때, 사용자 단말(120)에서 실행되는 온라인 게임의 버전이 V1인 경우와 V2인 경우 패치 파일은 서로 다를 수 있다. The patch file may have a different configuration depending on the version of the online game currently running on the user terminal 120. For example, when the most recent version of the online game is V3, the patch file may be different when the version of the online game executed in the user terminal 120 is V1 and V2.

또한, 패치 파일은 사용자 단말(120)의 시스템환경(예를 들면, OS, 그래픽 카드, CPU 속도 등)에 따라 다른 구성을 가질 수 있다. 패치 파일은 경우에 따라서 사용자 단말(120)의 시스템 환경을 고려해야 하는 경우가 있다. 이러한 경우에 각 시스템 환경에 적합한 패치 파일을 생성하고, 시스템 환경 별로 적합한 패치 파일이 설치되어야 한다. 시스템 환경 별로 적합한 패치 파일을 사용자 단말(120)에 설치하기 위하여, 온라인 게임 서버(110)는 사용자 단말(120)로부터 시스템 환경 정보를 수신하고 시스템 환경 정보에 기초하여 선택된 패치 파일을 사용자 단말(120)로 전송할 수 있다. In addition, the patch file may have a different configuration according to the system environment (eg, OS, graphics card, CPU speed, etc.) of the user terminal 120. In some cases, the patch file may need to consider a system environment of the user terminal 120. In this case, a patch file suitable for each system environment should be created, and a patch file suitable for each system environment should be installed. In order to install a patch file suitable for each system environment in the user terminal 120, the online game server 110 receives system environment information from the user terminal 120 and selects a patch file selected based on the system environment information. ) Can be sent.

또는, 온라인 게임 서버(110)는 사용자 단말(120)로 시스템 환경에 상관없이 패치 파일을 전송하고, 사용자 단말(120)은 자신의 시스템 환경에 맞는 패치 파일을 선택하여 설치할 수 있다. 하지만, 이러한 경우 패치 파일의 크기가 커지므로, 사용자 단말(120)의 시스템 환경 정보에 기초하여 선택된 패치 파일을 전송할 때에 효율을 높일 수 있다.Alternatively, the online game server 110 may transmit a patch file to the user terminal 120 regardless of the system environment, and the user terminal 120 may select and install a patch file suitable for its system environment. However, in this case, since the size of the patch file is increased, efficiency may be increased when transmitting the patch file selected based on the system environment information of the user terminal 120.

패치 파일은 독립적으로 실행 가능한 프로그램인 실행 파일(예를 들면, exe) 또는 다른 프로그램이 불러서 쓸 수 있는 동적 라이브러리 파일(예를 들면, dll)일 수 있다.The patch file may be an executable file (for example, an exe) that is an independently executable program or a dynamic library file (for example, a dll) that can be loaded and written by another program.

버전 확인부(113)는 사용자 단말(120)이 사용하고 있는 온라인 게임의 버전을 확인한다. 사용자 단말(120)이 사용하고 있는 온라인 게임의 버전에 따라 패치 파일의 실행으로 인해 업그레이드가 가능한 상태인지 여부가 판단될 수 있다. 또한, 사용자 단말(120)이 사용하고 있는 온라인 게임의 버전에 따라 패치 파일의 종류가 선택될 수 있다. 그러므로, 버전 확인부(113)는 사용자 단말(120)이 사용하고 있는 온라인 게임의 버전을 확인한다.The version checker 113 checks the version of the online game being used by the user terminal 120. Depending on the version of the online game being used by the user terminal 120, it may be determined whether the upgrade is possible due to the execution of the patch file. Also, the type of patch file may be selected according to the version of the online game used by the user terminal 120. Therefore, the version checker 113 checks the version of the online game that the user terminal 120 is using.

버전 비교부(114)는 버전 확인부(113)에서 확인한 온라인 게임의 버전과 패치 파일 저장부(112)에 저장된 패치 파일의 버전을 비교한다. 사용자 단말(120)에서 사용되고 있는 온라인 게임의 버전이 패치 파일의 버전보다 이전 버전인 경우에만 패치 파일이 전송될 수 있다. The version comparing unit 114 compares the version of the online game checked by the version checking unit 113 with the version of the patch file stored in the patch file storage unit 112. The patch file may be transmitted only when the version of the online game being used in the user terminal 120 is earlier than the version of the patch file.

패치 파일 전송부(115)는, 버전 비교부(114)에서 비교한 결과 온라인 게임의 버전이 패치 파일의 버전보다 이전 버전인 경우, 패치 관련 정보에 따라 패치 파일 저장부(112)에 저장된 패치 파일을 온라인 게임을 실행 중인 사용자 단말(120)로 전송한다. 패치 파일이 없더라도 사용자 단말(120)에서 온라인 게임의 실행은 영향을 주지 않는다.When the version of the online game is older than the version of the patch file as a result of the comparison by the version comparing unit 114, the patch file transmission unit 115 stores the patch file stored in the patch file storage unit 112 according to the patch related information. Is transmitted to the user terminal 120 running the online game. Even if there is no patch file, the execution of the online game in the user terminal 120 does not affect.

도 2는 온라인 게임 패치 시스템의 일 예를 도시한다. 도 2를 참조하면, 게임 제공부(111)는 현재 유효한 버전인 V3를 제공하고, 패치 파일 전송부(115)는 다음 버전인 V4를 제공한다. 사용자 단말(120)에서 게임 버전은 현재 유효한 버전인 V3이다. 사용자 단말(120)이 게임 진행을 위해 온라인 게임 서버(110)에 접속하였을 때, 게임 제공부(111)는 현재 유효한 버전인 V3를 제공하고 게임은 V3로 동작한다. 사용자 단말(120)이 V3의 온라인 게임을 진행하는 동안, 패치 파일 전송부(115)는 다음 버전인 V4에 대한 패치 파일을 사용자 단말(120)로 전송하고, 이는 도 2에서 "Background Download"로 표시된다. 이러한 V4 패치 파일의 전송은 현재 게임 실행에 영향을 받지 않는다. 2 shows an example of an online game patch system. Referring to FIG. 2, the game providing unit 111 provides the currently valid version V3, and the patch file transmitting unit 115 provides the next version V4. The game version in the user terminal 120 is V3, which is the currently valid version. When the user terminal 120 accesses the online game server 110 to proceed with the game, the game providing unit 111 provides the currently valid version V3 and the game operates as V3. While the user terminal 120 is playing the online game of V3, the patch file transmitter 115 transmits the patch file for the next version V4 to the user terminal 120, which is referred to as "Background Download" in FIG. Is displayed. The transfer of these V4 patch files is not affected by current game play.

도 3은 도 2의 온라인 게임 패치 시스템의 예에 의한 효과를 나타낸다. 도 3을 참조하면, 버전 V4의 온라인 게임을 실행할 때, 사용자 단말(120)은 이미 버전 V3의 온라인 게임을 실행하면서 버전 V4의 패치 파일을 다운로드 받았기 때문에, 별도의 패치 파일을 다운로드 받을 필요가 없이 즉시 V4 버전의 온라인 게임을 실행할 수 있다. 따라서 V4 버전의 온라인 게임을 개시할 때 일시에 다수의 사용자 단말(120)이 패치 파일을 다운로드 받을 필요가 없기 때문에, 온라인 게임 서버(110)로의 트래픽 몰림 현상이 현저하게 감소할 수 있다.3 illustrates the effect of the example of the online game patch system of FIG. 2. Referring to FIG. 3, when executing the online game of version V4, since the user terminal 120 has already downloaded the patch file of version V4 while executing the online game of version V3, there is no need to download a separate patch file. You can immediately play the V4 version of the online game. Therefore, since the plurality of user terminals 120 do not need to download the patch file at the time when starting the V4 version of the online game, traffic congestion to the online game server 110 may be significantly reduced.

패치 파일 전송부(115)가 패치 파일을 전송할 때, 사용자 단말(120)의 온라인게임 접속 패턴에 따라 패치 파일의 전송 사이즈를 다르게 할 수 있다. 온라인 게임 접속 패턴은 사용자 단말(120)이 온라인 게임 서버(110)에 접속하는 평균 시간대 및 온라인 게임의 평균 이용 시간 중 적어도 하나를 포함할 수 있다.When the patch file transmitting unit 115 transmits a patch file, the patch file transmission unit 115 may change the transmission size of the patch file according to the online game access pattern of the user terminal 120. The online game access pattern may include at least one of an average time zone during which the user terminal 120 accesses the online game server 110 and an average use time of the online game.

예를 들면, 사용자 단말(120)의 온라인 게임 서버(110) 접속 빈도가 야간 시간대에 높고 평균 이용 시간이 수 시간으로 길 경우, 패치 파일 전송부(115)는 온라인게임 서버(110)의 트래픽이 크지 않은 야간 시간대에는 패치 파일을 전송하기 위해 일정한 크기 단위로 나눈 전송 단위인 패킷의 크기를 크게 만들어서 전송을 할 수 있다. 한편, 사용자 단말(120)의 온라인 게임 서버(110) 접속 빈도가 주간 시간대에 높고 평균 이용 시간이 1 시간 미만으로 짧을 경우, 큰 사이즈의 패킷은 전송이 실패할 확률이 크므로, 패치 파일 전송부(115)는 주간 시간대에는 패킷의 크기를 작게 만들어서 전송을 할 수 있다. For example, when the online game server 110 access frequency of the user terminal 120 is high in the night time zone and the average use time is long by several hours, the patch file transmitter 115 may detect traffic of the online game server 110. In a small night time zone, a packet size, a transmission unit divided by a certain size unit, to transmit a patch file may be transmitted. On the other hand, when the access frequency of the online game server 110 of the user terminal 120 is high in the weekday time zone and the average usage time is short as less than one hour, the probability of the transmission of the large size packet is high, (115) can transmit packets by reducing the packet size in the weekday time zone.

패치 관련 정보는 패치 파일의 정보, 패치 파일을 전송하는 개시일, 배포 기간, 전송 일정, 패치 파일의 전송률, 패치 작업 완료 여부, 패치 파일의 전송 현환 정보, 및 패치 버전 중 적어도 하나를 포함하는 패치와 관련된 정보이다.The patch related information includes a patch including at least one of information of a patch file, a start date of transmitting a patch file, a distribution period, a transmission schedule, a transfer rate of a patch file, whether a patch operation is completed, transfer status information of a patch file, and a patch version. Related information.

일 실시예에 따르면, 패치 파일 저장부(112)에 새로운 패치 파일이 저장되면, 패치 파일을 전송하는 개시일, 배포 기간 및 전송 일정 등을 포함하는 패치 관련 정보가 패치 DB(130)에 저장된다. 패치 배포 기간은 게임 규모, 패치 용량, 사용자 수 등의 변수에 따라 유동적으로 운영될 수 있는데, 사용자 단말(120)의 리소스 및 성능에 영향을 주지 않기 위하여 전송하는 속도는 패치 파일 전송부(115)에서 일괄적으로 관리된다. 보통은 분당 10MB 정도로 설정을 할 수 있고, 예를 들어 60분 정도의 게임을 이용하는 사용자 단말(120)은 분당 10MB 속도로 패치를 하게 될 경우 패치 파일 전송부(115)는 600MB의 패치 파일을 전송할 수 있게 된다. 따라서, 패치 파일 전송부(115)는 패치 파일을 전송할 사용자 단말(120)이 속하는 지역의 네트워크 상태 등을 고려하여 배포 기간, 전송 일정, 전송 속도 등을 포함하는 패치 관련 정보를 관리하여 전송한다.According to one embodiment, when a new patch file is stored in the patch file storage unit 112, patch related information including a start date, a distribution period, and a transmission schedule of the patch file is stored in the patch DB 130. The patch distribution period may be flexibly operated according to variables such as game size, patch capacity, number of users, and the like. The patch file transmission unit 115 transmits a speed so as not to affect resources and performance of the user terminal 120. Managed in bulk. Normally, 10 MB per minute can be set. For example, when a user terminal 120 using a game of about 60 minutes is patched at a speed of 10 MB per minute, the patch file transmitter 115 transmits a 600 MB patch file. It becomes possible. Accordingly, the patch file transmitter 115 manages and transmits patch related information including a distribution period, a transmission schedule, a transmission speed, etc. in consideration of the network state of the region to which the user terminal 120 to which the patch file is to be transmitted belongs.

또한, 패치 파일 전송부(115)에 의한 패치 파일의 전송이 온라인 게임을 실행하는 도중에 조금씩 전송되기 때문에 1회의 접속으로 패치 파일 전부의 전송이 안 되는 경우가 있을 수 있다. 따라서 패치 파일의 전송 현환을 파악하여 다음 접속을 할 때 설치하지 못한 부분만 전송할 수 있도록 하여야 하므로, 사용자 단말(120)의 현재 패치 파일의 전송 현황에 대한 정보도 있어야 한다.In addition, since the transmission of the patch file by the patch file transfer unit 115 is transmitted little by little while the online game is being executed, there may be a case where the entire patch file can not be transferred by one connection. Therefore, it is necessary to determine the transmission status of the patch file so that only a part that cannot be installed at the next connection can be transmitted. Therefore, the current patch file transmission status of the user terminal 120 should also be provided.

패치 관련 정보 중 패치 파일의 전송 현황 정보는 패치 서버(110)에서 패치 DB(130)를 통해 저장하여 관리할 수 있다. 또는, 사용자 단말(120)이 온라인 게임을 위하여 온라인 게임 서버(110)에 접속할때 동시에 자동으로 현재의 패치 버전과 전송 현황 정보를 온라인 게임 서버(110)로 전송할 수 있다. 또는, 온라인 게임 서버(110)가 사용자 단말(120)에게 전송 현황 정보를 요청할 때 사용자 단말(120)이 전송 현황 정보를 온라인 게임 서버(110)로 전달할 수 있다.Transmission information of the patch file among the patch-related information may be stored and managed through the patch DB 130 at the patch server 110. Alternatively, when the user terminal 120 accesses the online game server 110 for an online game, the current patch version and transmission status information may be automatically transmitted to the online game server 110 at the same time. Alternatively, when the online game server 110 requests the transmission status information from the user terminal 120, the user terminal 120 may transmit the transmission status information to the online game server 110.

패치 관련 정보는 패치 파일의 전송을 원활하게 하기 위하여 패치 서버(110)의 트래픽이 특정값 이하가 되도록 구성될 수 있다. 사용자 단말(120)이 게임을 실행하기 위해 온라인 게임 서버(110)에 접속할 때 패치 파일이 전송되지만, 게임 사용자가 지나치게 많은 경우 온라인 게임 서버(110)의 트래픽이 과도하게 증가할 수 있다. 따라서, 패치 관련 정보에 온라인 게임 서버(110)의 트래픽에 대한 특정값을 지정하고, 온라인 게임 서버(110)의 트래픽이 특정값 이상이 되면 일부 사용자 단말(120)에 대하여는 패치 파일의 전송을 중단하는 방식 등으로 트래픽을 조절할 수 있도록 할 수 있다. 트래픽의 특정값은 온라인 게임 서버(110) 운영자의 정책에 따라 설정될 수 있다. 트랙픽을 조절하는 방식은 상술한 사용자 단말(120)에 대한 패치 파일 전송을 중단하는 방식 외에 다양한 방법이 사용될 수 있다.The patch related information may be configured such that the traffic of the patch server 110 is below a specific value in order to facilitate the transmission of the patch file. When the user terminal 120 accesses the online game server 110 to execute a game, the patch file is transmitted. However, when there are too many game users, the traffic of the online game server 110 may be excessively increased. Therefore, a specific value for the traffic of the online game server 110 is specified in the patch-related information, and when the traffic of the online game server 110 becomes greater than or equal to the specific value, some user terminals 120 stop transmitting the patch file. To control traffic, for example. The specific value of the traffic may be set according to the policy of the online game server 110 operator. As a method of adjusting the traffic, various methods may be used in addition to the method of stopping the patch file transmission to the user terminal 120 described above.

다시 도 1을 참조하면, 사용자 단말(120)은 네트워크를 통해 온라인 게임 서버(110)에 접속할 수 있는 통신 장치이고, 예를 들면, 유선 전화, 무선 통신 단말기, 컴퓨터, 인터넷 접속 가능한 TV, 게임기 등의 다양한 통신 장치일 수 있다. 사용자 단말(120)은 전화망, 인터넷, 무선 인터넷 등의 네트워크를 이용하여 온라인 게임 서버(110)에 접속할 수 있다. Referring back to FIG. 1, the user terminal 120 is a communication device capable of connecting to the online game server 110 through a network. For example, a wired telephone, a wireless communication terminal, a computer, a TV, a game machine, and the like, which are connected to the Internet. May be a variety of communication devices. The user terminal 120 may access the online game server 110 using a network such as a telephone network, the Internet, or the wireless Internet.

사용자 단말(120)은 게임 실행부(121) 및 패치 매니저(212)를 포함한다. 게임 실행부(121)는 온라인 게임 서버(110)의 게임 제공부(111)와 통신하며 온라인 게임을 실행한다. 게임 실행부(121)는 사용자가 입력한 명령, 사용자 단말(120)에 저장되거나 온라인 게임 서버(110)로부터 제공되는 데이터 등에 기초하여 온라인 게임을 진행한다. The user terminal 120 includes a game execution unit 121 and a patch manager 212. The game executing unit 121 communicates with the game providing unit 111 of the online game server 110 and executes the online game. The game execution unit 121 proceeds with the online game based on a command input by the user, data stored in the user terminal 120 or provided from the online game server 110.

게임 실행부(121)는 사용자 단말(120)에서 온라인 게임을 실행할 때 자동으로 패치 매니저(122)를 구동시킨다.The game execution unit 121 automatically drives the patch manager 122 when the user terminal 120 executes an online game.

패치 매니저(122)는 사용자 단말(120)에서 온라인 게임 실행 중에 온라인 게임 서버(110)로부터 전송된 패치 파일을 수신하고, 패치 파일의 전송이 완료되면 패치 파일을 실행하여 패치 작업을 수행한다.The patch manager 122 receives the patch file transmitted from the online game server 110 during the online game execution in the user terminal 120, and performs a patch operation by executing the patch file when the patch file is completed.

온라인 게임이 실행되면, 패치 매니저(122)는 온라인 게임의 이전 실행에서 패치 파일을 수신한 현황을 확인하여 온라인 게임 서버(110)로 알려준다. 이전 실행은 온라인 게임을 하기 위하여 온라인 게임 서버(110)에 접속한 과거 시점의 실행을 의미하고, 바로 직전의 접속 시점뿐만 아니라 그 이전이라도 패치 파일을 마지막으로 수신한 시점의 실행을 의미한다.When the online game is executed, the patch manager 122 checks the status of receiving the patch file in the previous execution of the online game and informs the online game server 110. The previous execution refers to the execution of the past point of time connected to the online game server 110 to play the online game, and the execution of the point in time when the patch file was last received not only immediately before the connection point but also before.

한편, 온라인 게임 실행이 처음으로 수행되는 경우, 패치 매니저(122)는 사용자 단말(120) 내의 설정된 위치에 폴더를 생성하고 패치 파일을 수신할 수 있도록 설정한다. 폴더는 온라인 게임 서버(110)에 접속해서 수신한 패치 파일을 저장하기 위한 위치이고, 이는 게임 개발자나 운영자에 의해 설정될 수 있다. 즉, 패치 매니저(122)는 실행될 때 폴더를 검색하고, 폴더가 없으면 폴더를 생성한다.On the other hand, when the online game execution is performed for the first time, the patch manager 122 creates a folder at a set location in the user terminal 120 and sets to receive the patch file. The folder is a location for storing the received patch file by connecting to the online game server 110, and this can be set by a game developer or an operator. That is, the patch manager 122 searches for a folder when executed, and creates a folder if the folder does not exist.

패치 파일의 수신 현황을 확인한 결과 패치 파일의 전송이 완료되지 않은 경우, 상술한 "Background Download" 방식으로 패치 매니저(122)는 온라인게임 서버(110)로부터 수신하지 못한 부분의 패치 파일을 이어서 수신한다. When the patch file transmission is not completed as a result of checking the reception status of the patch file, the patch manager 122 continuously receives the patch file of the part which has not been received from the online game server 110 in the above-described "Background Download" method. .

패치 파일의 수신이 완료된 경우, 패치 매니저(122)는 패치 파일을 실행하는 패치 작업을 수행한다. 또한, 패치 파일의 수신 현황을 확인한 결과 패치 파일의 전송이 완료된 경우, 패치 매니저(122)는 패치 파일을 실행하는 패치 작업을 수행한다. 온라인 게임 서버(110)가 사용자 단말(120)의 시스템환경에 상관없이 패치 파일을 전송하는 경우, 패치 작업을 수행할 때 패치 매니저(122)는 사용자 단말(120)의 시스템 정보를 확인한 후, 수신한 패치 파일 중 사용자단말(120)에 적합한 파일을 선택하여 패치 작업을 수행할 수 있다. 패치 파일의 실행은 자동으로 실행되거나 사용자 단말(120)을 조작하는 사용자로부터의 승인 입력을 받은 후 실행되도록 할 수 있다.When the reception of the patch file is completed, the patch manager 122 performs a patch operation to execute the patch file. In addition, when the patch file transmission is completed as a result of checking the reception status of the patch file, the patch manager 122 performs a patch operation to execute the patch file. When the online game server 110 transmits a patch file regardless of the system environment of the user terminal 120, when performing a patch operation, the patch manager 122 checks the system information of the user terminal 120 and then receives the patch file. The patch operation may be performed by selecting a file suitable for the user terminal 120 from one patch file. Execution of the patch file may be executed automatically or after receiving an approval input from a user who manipulates the user terminal 120.

패치 매니저(122)가 패치 파일을 실행시키면서 파일을 설치할 때 "move" 명령어 또는 "copy" 명령어가 사용될 수 있다. "copy" 명령어의 경우, 원본을 읽어서("read") 이를 메모리 등에 로딩한 후 목표가 되는 공간에 쓰는("write") 형태이기 때문에 하드디스크 등의 저장 공간에 "read/write"의 I/O가 발생한다. 이에 비하여 "move" 명령어의 경우, OS 커널에서 파일의 위치만을 변경하는 것이기 때문에 하드디스크 등의 저장 공간에 "read/write"의 I/O가 발생하지 않는다. 따라서, 일반 사용자는 "copy"의 경우에 비하여 "move"의 경우에 현저한 속도의 향상을 체감할 수 있다.When the patch manager 122 installs the file while executing the patch file, a "move" command or a "copy" command may be used. In the case of the "copy" command, I / O of "read / write" is written to a storage space such as a hard disk because it is a form of reading the original ("read"), loading it into memory, and then writing it to the target space ("write"). Occurs. On the other hand, the "move" command only changes the location of the file in the OS kernel. Therefore, "read / write" I / O does not occur in the storage space of the hard disk. Therefore, the general user can feel a significant speedup in the case of "move" compared to the case of "copy".

도 4는 도 1의 시스템에서 온라인 게임 패치 방법의 흐름도를 도시한다.4 shows a flowchart of an online game patching method in the system of FIG.

도 4를 참조하면, 사용자 단말(120)은 온라인 게임 서버(110)로 게임 실행을 요청한다(S410). Referring to FIG. 4, the user terminal 120 requests a game execution to the online game server 110 (S410).

온라인 게임 서버(110)는 사용자 단말(120)로부터 사용자 단말(120)의 시스템 정보 및/또는 패치 파일 전송 현황 정보 등의 정보를 수신한다(S420). 전술한 바와 같이, 패치 파일 전송 현황 정보는 패치 DB(130)에 저장되거나 사용자 단말(120)로부터 수신한 정보일 수 있다. 전술한 패치 관련 정보는 온라인 게임 서버(110)에 저장된 정보 외에 사용자 단말(120)로부터 수신한 정보를 포함할 수도 있다. The online game server 110 receives information such as system information and / or patch file transmission status information of the user terminal 120 from the user terminal 120 (S420). As described above, the patch file transmission status information may be information stored in the patch DB 130 or received from the user terminal 120. The aforementioned patch related information may include information received from the user terminal 120 in addition to the information stored in the online game server 110.

패치 관련 정보(패치 파일 전송 현황 정보)에 기초하여 최신 패치 파일의 전송이 완료되었는지 여부가 판단된다(S430). 최신 패치 파일의 전송이 완료되지 않은 경우, 현재 사용자 단말(120)에서 실행되는 온라인 게임의 버전에 대한 정보, 패치 파일 전송 현황에 대한 정보에 기초하여 사용자 단말(120)이 온라인 게임을 실행하는 동안 사용자 단말(120)이 수신하지 못한 패치 파일(또는 패치 파일의 패킷)을 사용자 단말(120)로 전송한다(S440). 사용자 단말(120)은 패치 파일의 전송이 완료되면 패치 작업을 수행한다(S450).
On the basis of the patch related information (patch file transmission status information), it is determined whether or not the transmission of the latest patch file is completed (S430). If the transmission of the latest patch file is not completed, while the user terminal 120 executes the online game based on the information on the version of the online game currently executed on the user terminal 120 and the information on the patch file transmission status, The user terminal 120 transmits a patch file (or a packet of a patch file) that is not received to the user terminal 120 (S440). When the transmission of the patch file is completed, the user terminal 120 performs a patch operation (S450).

도 5는 본 발명의 다른 실시예에 따른 온라인 게임 시스템의 구성도이다.5 is a block diagram of an online game system according to another embodiment of the present invention.

도 5를 참조하면, 온라인 게임 시스템은 온라인 게임 서버(510), 사용자 단말(520), P2P(Peer to Peer) 서버(530) 및 P2P 제공 단말(540)을 포함한다. 온라인 게임 서버(510) 및 P2P 서버(530)는 인터넷, 무선 통신망, 전화망 등과 같은 다양한 형태의 네트워크를 통해 사용자 단말(520)과 연결된다. 도 5에서 하나의 사용자 단말(520) 및 하나의 P2P 제공 단말(540)이 도시되었지만, 다수의 사용자 단말(520) 및 다수의 P2P 제공 단말(540)이 있을 수 있다. 사용자 단말(520)과 P2P 제공 단말(540)은 각각 P2P 서비스에서 파일을 수신하고 전송하는 개체로서 분류될 뿐이고, 이들이 서로 다른 특징을 갖는 단말은 아닐 수 있다. 즉, 사용자 단말(520)은 다른 단말에게 P2P 제공 단말로서 작동할 수 있다.Referring to FIG. 5, the online game system includes an online game server 510, a user terminal 520, a peer to peer server 530, and a P2P providing terminal 540. The online game server 510 and the P2P server 530 are connected to the user terminal 520 through various types of networks such as the Internet, a wireless communication network, a telephone network, and the like. Although one user terminal 520 and one P2P providing terminal 540 are illustrated in FIG. 5, there may be a plurality of user terminals 520 and a plurality of P2P providing terminals 540. The user terminal 520 and the P2P providing terminal 540 are only classified as entities receiving and transmitting files in the P2P service, respectively, and they may not be terminals having different characteristics. That is, the user terminal 520 may operate as a P2P providing terminal to other terminals.

온라인 게임 서버(510)는 게임 제공부(511), 패치 파일 저장부(512), 및 패치 파일 전송부(513)를 포함한다. The online game server 510 includes a game provider 511, a patch file storage 512, and a patch file transmitter 513.

게임 제공부(511)는 사용자 단말(520)로부터의 접속 요청에 따라 온라인 게임 서비스를 제공한다. The game provider 511 provides an online game service according to a connection request from the user terminal 520.

패치 파일 저장부(512)는 사용자 단말(520)로 전송할 패치 파일을 저장한다. The patch file storage unit 512 stores a patch file to be transmitted to the user terminal 520.

패치 파일은 독립적으로 실행 가능한 프로그램인 실행 파일(예를 들면, exe)일 수 있다. The patch file may be an executable file (for example, an exe) that is an independently executable program.

패치 파일은 실제로 사용자 단말(520)의 온라인게임의 실행을 요구되는 파일 중에서 갱신되거나 추가되는 파일(이하에서, "업데이트 파일"이라 함)을 다운로드하기 위한 정보를 포함하고 업데이트 파일 자체에 대한 데이터는 포함하지 않을 수 있다. 예를 들면, 이전의 "aaa.dll" 파일이 새로운 "aaa.dll" 파일로 업데이트되는 패치의 경우, 패치 파일은 새로운 "aaa.dll"을 어떠한 경로를 통해 다운로드하고 설치할지에 대한 정보를 포함하고, "aaa.dll" 파일 또는 "aaa.dll"이 변형된(예를 들면, 압축된) 파일의 데이터는 포함하지 않을 수 있다. The patch file includes information for downloading a file that is updated or added (hereinafter, referred to as an "update file") among the files required to execute the online game of the user terminal 520, and data about the update file itself is May not be included. For example, for a patch where the old "aaa.dll" file is updated with the new "aaa.dll" file, the patch file contains information about how to download and install the new "aaa.dll". And may not include data of a file in which the "aaa.dll" file or the "aaa.dll" is modified (eg, compressed).

패치 파일은 사용자 단말(520)에서 실행되는 온라인 게임의 버전 정보, 및 사용자 단말(520)의 시스템 환경 정보 등을 추출할 수 있다. 패치 파일은 패치를 통해 업데이트되는 온라인 게임의 버전 정보, 업데이트 파일을 다운로드하고 설치하는 방법에 대한 정보 등을 포함할 수 있다. 사용자 단말(520)에서 실행되는 온라인 게임의 버전이 업데이트되는 온라인 게임의 버전보다 이전 버전일 경우, 패치 파일은 패치 작업을 실행할 수 있다. 사용자 단말(520)에서 실행되는 온라인 게임의 버전 정보, 사용자 단말(520)의 시스템 환경 정보 등에 따라 업데이트 파일이 선택될 수 있다. 업데이트 파일 다운로드 및 설치 방법 정보 등에 따라 어떤 개체에 접속하여 업데이트 파일을 설치할지를 결정할 수 있다.The patch file may extract version information of the online game executed in the user terminal 520 and system environment information of the user terminal 520. The patch file may include version information of the online game updated through the patch and information on how to download and install the update file. If the version of the online game executed in the user terminal 520 is earlier than the version of the online game updated, the patch file may execute a patch operation. The update file may be selected according to version information of the online game executed in the user terminal 520, system environment information of the user terminal 520, and the like. Information on how to download and install the update file may determine which object to connect to and install the update file.

패치 파일 전송부(513)는 패치 파일 저장부(512)에 저장된 패치 파일을 사용자 단말(520)로 전송한다. 패치 파일의 전송은 온라인 게임 시작 시점 또는 온라인 게임 종료 시점이 될 수 있다. 온라인 게임 시작 시점에 배치 파일을 전송하는 경우, 배치 파일의 전송이 먼저 수행되고 온라인 게임이 시작되거나, 또는 배치 파일의 전송과 온라인 게임의 실행이 동시에 진행될 수 있다. 배치 파일의 실행은 온라인 게임의 종료 후에 배치 파일 전송이 완료된 경우 진행될 수 있다.The patch file transmitter 513 transmits the patch file stored in the patch file storage 512 to the user terminal 520. Transmission of the patch file may be an online game start time or an online game end time. When the batch file is transmitted at the start of the online game, the batch file may be transferred first and the online game may be started, or the batch file may be transferred and the online game may be simultaneously executed. Execution of the batch file may proceed if the batch file transfer is completed after the end of the online game.

사용자 단말(520)은 게임 실행부(521) 및 패치 매니저(522)를 포함한다.The user terminal 520 includes a game execution unit 521 and a patch manager 522.

게임 실행부(521)는 온라인 게임 서버(510)의 게임 제공부(511)와 통신하며 온라인 게임을 실행한다. 게임 실행부(521)는 사용자가 입력한 명령, 사용자 단말(520)에 저장되거나 온라인 게임 서버(510)로부터 제공되는 데이터 등에 기초하여 온라인 게임을 진행한다.The game executor 521 communicates with the game provider 511 of the online game server 510 and executes the online game. The game execution unit 521 performs an online game based on a command input by the user, data stored in the user terminal 520 or provided from the online game server 510.

게임 실행부(521)는 사용자 단말(520)에서 온라인 게임을 시작할 때 또는 온라인 게임을 종료할 때 패치 매니저(522)를 구동시킨다.The game execution unit 521 drives the patch manager 522 when the user terminal 520 starts the online game or ends the online game.

패치 매니저(522)는 온라인 게임 서버(510)로부터 전송된 패치 파일을 수신한다. 패치 매니저(522)가 온라인 게임을 시작할 때 구동된 경우, 패치 매니저(522)에 의해 패치 파일 수신이 완료된 후 온라인 게임이 진행될 수 있거나, 패치 매니저(522)에 의한 패치 파일 수신은 온라인 게임과 동시에 진행될 수 있다.The patch manager 522 receives the patch file transmitted from the online game server 510. When the patch manager 522 is started when starting an online game, the online game may proceed after the patch file reception is completed by the patch manager 522, or the patch file reception by the patch manager 522 may be performed simultaneously with the online game. Can proceed.

패치 파일의 수신이 완료되면, 패치 매니저(522)는 패치 파일을 실행한다. 패치 파일의 수신이 완료되었을 때, 패치 파일의 실행은 자동으로 수행되거나, 또는 패치 실행을 사용자에게 질의하고 사용자의 승인 입력을 받은 후에 수행될 수 있다. 패치 매니저(522)가 온라인 게임을 시작할 때 구동되고 패치 파일의 수신이 온라인 게임의 진행 전에 또는 진행 중에 완료된 경우, 패치 매니저(522)는 온라인 게임이 종료가 된 후 패치 파일을 실행할 수 있다. 패치 파일의 실행은 후술될 것이다.When the reception of the patch file is completed, the patch manager 522 executes the patch file. When the reception of the patch file is completed, the execution of the patch file may be performed automatically or after querying the user for the execution of the patch and receiving the user's approval input. If the patch manager 522 is started when the online game is started and the reception of the patch file is completed before or during the online game, the patch manager 522 may execute the patch file after the online game is finished. Execution of the patch file will be described later.

P2P 서버(530)는 사용자 단말(520)이 수신하고자 하는 업데이트 파일의 정보를 수신할 수 있다. P2P 서버(530)는 P2P 서버(530)에 접속하고 있는 다른 단말의 공유 폴더를 검색하여, 업데이트 파일을 가지고 있는 단말인 P2P 제공 단말(540)의 정보를 추출한다. P2P 서버(530)는 P2P 제공 단말(540)의 정보(주소)를 사용자 단말(520)로 전송하여 사용자 단말(520)이 P2P 제공 단말(540)로부터 업데이트 파일을 가져올 수 있게 한다. The P2P server 530 may receive information of an update file that the user terminal 520 wants to receive. The P2P server 530 searches for a shared folder of another terminal connected to the P2P server 530 and extracts information of the P2P providing terminal 540 which is a terminal having an update file. The P2P server 530 transmits the information (address) of the P2P providing terminal 540 to the user terminal 520 so that the user terminal 520 can obtain an update file from the P2P providing terminal 540.

P2P 서버(530)는 온라인 게임 서버(510)와 같은 개체이거나 다른 개체일 수 있다. 또한, P2P 서버(530)는 온라인 게임 서버(510)와 같거나 다른 운영자에 의해 운영될 수 있다. 예를 들면, 온라인 게임 서버(510)는 온라인게임 서비스 제공업자에 의해 운영되고P2P 서버(530)는 P2P 서비스 제공업자에 의해 운영될 수 있다.The P2P server 530 may be the same entity as the online game server 510 or may be another entity. In addition, the P2P server 530 may be operated by the same or different operator than the online game server 510. For example, the online game server 510 may be operated by an online game service provider and the P2P server 530 may be operated by a P2P service provider.

P2P 제공 단말(540)은 P2P를 위한 공유 폴더에 사용자 단말(520)이 필요로 하는 업데이트 파일을 저장하고 있는 단말이다. P2P 제공 단말(540)은 사용자 단말(520)과 동일한 온라인 게임 서비스를 받는 단말일 수 있다.The P2P providing terminal 540 is a terminal storing the update file required by the user terminal 520 in a shared folder for P2P. The P2P providing terminal 540 may be a terminal receiving the same online game service as the user terminal 520.

도 6은 패치 파일의 실행 과정의 일 예를 도시하는 흐름도이다.6 is a flowchart illustrating an example of an execution process of a patch file.

도 6을 참조하면, 현재 사용자 단말(520)에서 실행되는 온라인 게임의 버전이 확인된다(S610). 그리고, 현재 사용자 단말(520)에서 실행되는 온라인 게임의 버전과 패치를 통해 업데이트되는 온라인 게임의 버전을 비교하여, 사용자 단말(520)에서 실행되는 온라인 게임이 패치를 통해 업데이트되는 온라인 게임의 이전 버전인지 여부, 즉 패치 작업이 요구되는지 여부가 판단된다(S620). 사용자 단말(520)에서 실행되는 온라인 게임이 패치를 통해 업데이트되는 온라인 게임과 같은 버전인 경우, 패치 작업은 종료된다.Referring to FIG. 6, the version of the online game currently executed in the user terminal 520 is checked (S610). The version of the online game currently executed in the user terminal 520 is compared with the version of the online game updated through the patch to determine whether the online game executed in the user terminal 520 is a previous version Whether a patch operation is required or not is determined (S620). If the online game executed in the user terminal 520 is the same version as the online game updated through the patch, the patch operation is terminated.

사용자 단말(520)에서 실행되는 온라인 게임이 패치를 통해 업데이트되는 온라인 게임의 이전 버전인 경우, 다운로드 받을 업데이트 파일이 결정된다(S630). If the online game executed in the user terminal 520 is a previous version of the online game updated through the patch, the update file to be downloaded is determined (S630).

업데이트 파일은 사용자 단말(520)에서 실행되는 온라인 게임의 버전에 따라 다를 수 있다. 예를 들면, 온라인 게임의 실행을 위해 "aaa.dll", "bbb.dll", "ccc.dll" 파일이 필요하고, 버전 V1에서 버전 V2로 업데이트될 때 "aaa.dll" 파일이 변경되었고, 버전 V2에서 버전 V3로 업데이트될 때 "bbb.dll" 파일이 변경되었으며, 현재 온라인 게임 서버(510)에서 배포한 패치 파일은 버전 V3로 업데이트하는 실행 파일인 것으로 가정한다. 사용자 단말(520)에서 실행되는 온라인 게임의 버전이 V1인 경우 "aaa.dll" 및 "bbb.dll" 파일의 변경이 요구되고, V2인 경우 "bbb.dll" 파일의 변경이 요구될 것이다.The update file may differ depending on the version of the online game executed in the user terminal 520. [ For example, the files "aaa.dll", "bbb.dll", and "ccc.dll" are required to run the online game, and the file "aaa.dll" has changed when updated from version V1 to version V2. , "Bbb.dll" file is changed when it is updated from version V2 to version V3, it is assumed that the patch file currently distributed in the online game server 510 is an executable file to update to version V3. If the version of the online game executed in the user terminal 520 is V1, the "aaa.dll" and "bbb.dll" files are required to be changed, and in the case of V2, the "bbb.dll" file is to be changed.

또한, 업데이트 파일은 사용자 단말(520)의 시스템 환경에 따라 다를 수 있다. 예를 들면, 업데이트 파일은 사용자 단말(520)의 OS, 그래픽 카드, CPU 속도 등에 따라 다른 구성을 가질 수 있다.In addition, the update file may vary depending on the system environment of the user terminal 520. For example, the update file may have a different configuration depending on the OS, graphics card, CPU speed, etc. of the user terminal 520.

다음으로, 업데이트 파일의 정보(파일 이름 등의 파일 식별자)가 P2P 서버(530)로 전송되고(S640), 업데이트 파일을 갖고 있는 P2P 제공 단말(540)의 정보(주소)를 P2P 서버(530)로부터 수신된다(S650).Next, information (file identifier such as a file name) of the update file is transmitted to the P2P server 530 (S640), and the information (address) of the P2P providing terminal 540 having the update file is stored in the P2P server 530. It is received from (S650).

사용자 단말(520)은 P2P 제공 단말(540)로부터 업데이트 파일을 가져온다(S660). 업데이트 파일의 준비는 단일 스레드로 또는 다중 스레드로 동시에 진행될 수 있다. 동시 진행 개수는 사용자 단말(520)의 시스템 환경, P2P 제공 단말(540)의 시스템 환경, 또는 네트워크 환경에 따라 조절될 수 있다.The user terminal 520 obtains the update file from the P2P providing terminal 540 (S660). The preparation of the update file can proceed simultaneously in a single thread or in multiple threads. The number of concurrent processes may be adjusted according to the system environment of the user terminal 520, the system environment of the P2P providing terminal 540, or the network environment.

수신된 업데이트 파일 또는 업데이트 파일의 패킷은 사용자 단말(520)의 공유 폴더에 저장될 수 있다. 그리하여, 다른 사용자 단말이 패치 작업을 할 때 사용자 단말(520)의 공유 폴더에 저장된 업데이트 파일 또는 업데이트 파일의 패킷을 가져갈 수 있도록 할 수 있다.The received update file or the packet of the update file may be stored in a shared folder of the user terminal 520. Thus, when another user terminal is patching, it is possible to take the update file or the packet of the update file stored in the shared folder of the user terminal 520.

업데이트 파일의 수신이 완료되지 않고 패치 파일의 실행이 종료되는 경우(예를 들면, 사용자 단말(520)의 시스템이 종료되는 경우), 나머지 업데이트 파일 또는 업데이트 파일의 패킷은 다음 패치 파일의 실행 시에 수신될 수 있다. 예를 들면, 사용자 단말(520)이 다시 시작할 때, 또는 사용자가 온라인 게임을 실행할 때에 패치 파일의 실행이 재시작되고 패치 파일의 수신이 계속될 수 있다.When the reception of the update file is not completed and the execution of the patch file is terminated (for example, when the system of the user terminal 520 is terminated), the remaining update file or the packet of the update file is executed when the next patch file is executed. Can be received. For example, when the user terminal 520 restarts, or when the user plays an online game, execution of the patch file may be restarted and reception of the patch file may continue.

업데이트 파일의 수신이 완료되면, 업데이트 파일은 설정된 위치로 이동되어 설치된다(S670). 파일을 설치할 때 "move" 명령어 또는 "copy" 명령어가 사용될 수 있다. P2P 서비스를 통해 다른 단말에 업데이트 파일을 제공할 수 있도록 설정된 경우, 온라인 게임 실행을 위해 설정된 위치와 P2P 서비스를 위한 공유 위치에 업데이트 파일이 존재하도록 "copy" 명령어가 사용될 수 있다. 또는, "move" 명령어가 사용되고 온라인 게임 실행을 위해 설정된 위치와 P2P 서비스를 위한 공유 위치가 동일할 수 있다.When the reception of the update file is completed, the update file is moved to the set location and is installed (S670). The "move" command or the "copy" command can be used to install the file. When the update file is set to be provided to other terminals through the P2P service, a "copy" command may be used such that the update file exists at the location set for the online game execution and the shared location for the P2P service. Alternatively, the "move" command may be used and the location set for the online game execution and the shared location for the P2P service may be the same.

상술한 방식으로 업데이트 파일의 설치가 완료되면, 사용자 단말(520)이 온라인 게임을 실행할 때 패치가 적용되어 업데이트된 온라인 게임이 실행될 수 있다.
When the installation of the update file is completed in the above-described manner, when the user terminal 520 executes the online game, a patch may be applied and the updated online game may be executed.

도 7은 본 발명의 다른 실시예에 따른 온라인 게임 시스템의 구성도이다.7 is a block diagram of an online game system according to another embodiment of the present invention.

도 7을 참조하면, 온라인 게임 시스템은 온라인 게임 서버(710), 사용자 단말(720) 및 업데이트 파일 제공 서버(730)을 포함한다. 온라인 게임 서버(710) 및 업데이트 파일 제공 서버(730)는 인터넷, 무선 통신망, 전화망 등과 같은 다양한 형태의 네트워크를 통해 사용자 단말(720)과 연결된다. 도 7에서 하나의 사용자 단말(720)이 도시되었지만, 다수의 사용자 단말(720)이 있을 수 있다. Referring to FIG. 7, the online game system includes an online game server 710, a user terminal 720, and an update file providing server 730. The online game server 710 and the update file providing server 730 are connected to the user terminal 720 through various types of networks such as the Internet, a wireless communication network, a telephone network, and the like. Although one user terminal 720 is illustrated in FIG. 7, there may be multiple user terminals 720.

온라인 게임 서버(710)는 게임 제공부(711), 패치 파일 저장부(712), 및 패치 파일 전송부(713)를 포함한다. The online game server 710 includes a game provider 711, a patch file storage 712, and a patch file transmitter 713.

게임 제공부(711)는 사용자 단말(720)로부터의 접속 요청에 따라 온라인 게임 서비스를 제공한다. The game provider 711 provides an online game service according to a connection request from the user terminal 720.

패치 파일 저장부(712)는 사용자 단말(720)로 전송할 패치 파일을 저장한다. The patch file storage unit 712 stores a patch file to be transmitted to the user terminal 720.

패치 파일은 독립적으로 실행 가능한 프로그램인 실행 파일(예를 들면, exe)일 수 있다. The patch file may be an executable file (for example, an exe) that is an independently executable program.

패치 파일은 실제로 사용자 단말(720)의 온라인게임의 실행을 요구되는 파일 중에서 갱신되거나 추가되는 파일(이하에서, "업데이트 파일"이라 함)을 다운로드하기 위한 정보를 포함하고 업데이트 파일 자체에 대한 데이터는 포함하지 않을 수 있다. 예를 들면, 이전의 "aaa.dll" 파일이 새로운 "aaa.dll" 파일로 업데이트되는 패치의 경우, 패치 파일은 새로운 "aaa.dll"을 어떠한 경로를 통해 다운로드하고 설치할지에 대한 정보를 포함하고, "aaa.dll" 파일 또는 "aaa.dll"이 변형된(예를 들면, 압축된) 파일의 데이터는 포함하지 않을 수 있다. The patch file includes information for downloading a file that is updated or added (hereinafter, referred to as an "update file") among the files required to execute the online game of the user terminal 720, and the data about the update file itself is May not be included. For example, for a patch where the old "aaa.dll" file is updated with the new "aaa.dll" file, the patch file contains information about how to download and install the new "aaa.dll". And may not include data of a file in which the "aaa.dll" file or the "aaa.dll" is modified (eg, compressed).

패치 파일은 사용자 단말(720)에서 실행되는 온라인 게임의 버전 정보, 및 사용자 단말(720)의 시스템 환경 정보 등을 추출할 수 있다. 패치 파일은 패치를 통해 업데이트되는 온라인 게임의 버전 정보, 업데이트 파일을 다운로드하고 설치하는 방법에 대한 정보 등을 포함할 수 있다. 사용자 단말(720)에서 실행되는 온라인 게임의 버전이 업데이트되는 온라인 게임의 버전보다 이전 버전일 경우, 패치 파일은 패치 작업을 실행할 수 있다. 사용자 단말(720)에서 실행되는 온라인 게임의 버전 정보, 사용자 단말(720)의 시스템환경 정보 등에 따라 업데이트 파일이 선택될 수 있다. 업데이트 파일 다운로드 및 설치 방법 정보 등에 따라 어떤 개체에 접속하여 업데이트 파일을 설치할지를 결정할 수 있다.The patch file may extract version information of the online game executed in the user terminal 720 and system environment information of the user terminal 720. The patch file may include version information of the online game updated through the patch and information on how to download and install the update file. If the version of the online game executed at the user terminal 720 is earlier than the version of the online game to be updated, the patch file can execute the patch job. The update file may be selected according to version information of the online game executed in the user terminal 720, system environment information of the user terminal 720, and the like. Information on how to download and install the update file may determine which object to connect to and install the update file.

패치 파일 전송부(713)는 패치 파일 저장부(712)에 저장된 패치 파일을 사용자 단말(720)로 전송한다. 패치 파일의 전송은 온라인 게임 시작 시점 또는 온라인 게임 종료 시점이 될 수 있다. 온라인 게임 시작 시점에 배치 파일을 전송하는 경우, 배치 파일의 전송이 먼저 수행되고 온라인 게임이 시작되거나, 또는 배치 파일의 전송과 온라인 게임의 실행이 동시에 진행될 수 있다. 배치 파일의 실행은 온라인 게임의 종료 후에 배치 파일 전송이 완료된 경우 진행될 수 있다.The patch file transmitter 713 transmits the patch file stored in the patch file storage 712 to the user terminal 720. Transmission of the patch file may be an online game start time or an online game end time. When the batch file is transmitted at the start of the online game, the batch file may be transferred first and the online game may be started, or the batch file may be transferred and the online game may be simultaneously executed. Execution of the batch file may proceed if the batch file transfer is completed after the end of the online game.

사용자 단말(720)은 게임 실행부(721) 및 패치 매니저(722)를 포함한다.The user terminal 720 includes a game execution unit 721 and a patch manager 722.

게임 실행부(721)는 온라인 게임 서버(710)의 게임 제공부(711)와 통신하며 온라인 게임을 실행한다. 게임 실행부(721)는 사용자가 입력한 명령, 사용자 단말(720)에 저장되거나 온라인 게임 서버(710)로부터 제공되는 데이터 등에 기초하여 온라인 게임을 진행한다.The game executing unit 721 communicates with the game providing unit 711 of the online game server 710 to execute an online game. The game execution unit 721 proceeds with the online game based on a command input by the user, data stored in the user terminal 720 or provided from the online game server 710.

게임 실행부(721)는 사용자 단말(720)에서 온라인 게임을 시작할 때 또는 온라인 게임을 종료할 때 패치 매니저(722)를 구동시킨다.The game execution unit 721 drives the patch manager 722 when the user terminal 720 starts the online game or ends the online game.

패치 매니저(722)는 온라인 게임 서버(710)로부터 전송된 패치 파일을 수신한다. 패치 매니저(722)가 온라인 게임을 시작할 때 구동된 경우, 패치 매니저(722)에 의해 패치 파일 수신이 완료된 후 온라인 게임이 진행될 수 있거나, 패치 매니저(722)에 의한 패치 파일 수신은 온라인 게임과 동시에 진행될 수 있다.The patch manager 722 receives the patch file sent from the online game server 710. If the patch manager 722 is started when starting an online game, the online game may proceed after the patch file reception is completed by the patch manager 722, or the patch file reception by the patch manager 722 may be performed simultaneously with the online game. Can proceed.

패치 파일의 수신이 완료되면, 패치 매니저(722)는 패치 파일을 실행한다. 패치 파일의 수신이 완료되었을 때, 패치 파일의 실행은 자동으로 수행되거나, 또는 패치 실행을 사용자에게 질의하고 사용자의 승인 입력을 받은 후에 수행될 수 있다. 패치 매니저(722)가 온라인 게임을 시작할 때 구동되고 패치 파일의 수신이 온라인 게임의 진행 전에 또는 진행 중에 완료된 경우, 패치 매니저(722)는 온라인 게임이 종료가 된 후 패치 파일을 실행할 수 있다. 패치 파일의 실행은 후술될 것이다.When the reception of the patch file is completed, the patch manager 722 executes the patch file. When the reception of the patch file is completed, the execution of the patch file may be performed automatically or after querying the user for the execution of the patch and receiving the user's approval input. If the patch manager 722 is run when starting an online game and the reception of the patch file is completed before or during the progress of the online game, the patch manager 722 may execute the patch file after the online game is finished. Execution of the patch file will be described later.

업데이트 파일 제공 서버(730)는 업데이트 파일을 저장하고 사용자 단말(720)로 업데이트 파일을 전송할 수 있다. 일 예에서, 사용자 단말(720)에서 실행되는 온라인 게임의 버전, 사용자 단말(720)의 시스템 환경 등에 기초하여 수신할 업데이트 파일이 사용자 단말(720)에서 결정되고, 결정된 업데이트 파일에 대한 정보가 사용자 단말(720)로부터 업데이트 파일 제공 서버(730)로 전송되며, 업데이트 파일 제공 서버(730)는 수신한 업데이트 파일 정보에 기초하여 선택된 업데이트 파일을 사용자 단말(720)로 전송할 수 있다. 다른 예에서, 사용자 단말(720)은 사용자 단말(720)에서 실행되는 온라인 게임의 버전, 사용자 단말(720)의 시스템 환경 등의 정보를 업데이트 파일 제공 서버(730)로 전송하고, 업데이트 파일 제공 서버(730)는 수신한 정보에 기초하여 전송할 업데이트 파일을 결정하고, 결정된 업데이트 파일을 사용자 단말(720)로 전송할 수 있다.The update file providing server 730 may store the update file and transmit the update file to the user terminal 720. In one example, an update file to be received is determined in the user terminal 720 based on a version of an online game executed in the user terminal 720, a system environment of the user terminal 720, and the information about the determined update file is determined by the user. The update file providing server 730 is transmitted from the terminal 720, and the update file providing server 730 may transmit the selected update file to the user terminal 720 based on the received update file information. In another example, the user terminal 720 transmits information, such as a version of an online game executed in the user terminal 720, a system environment of the user terminal 720, to the update file providing server 730, and provides an update file providing server. 730 may determine an update file to be transmitted based on the received information, and transmit the determined update file to the user terminal 720.

업데이트 파일 제공 서버(730)는 전송 현황 정보에 기초하여 아직 전송되지 않은 업데이트 파일을 전송할 수 있다. 전송 현황 정보는 전체 업데이트 파일 중 전송된 업데이트 파일(또는 업데이트 파일의 패킷) 또는 전송되지 않은 업데이트 파일(또는 업데이트 파일의 패킷)에 대한 정보를 포함한다. 이러한 전송 현황 정보는 업데이트 파일을 전송하는 업데이트 파일 제공 서버(730)에 의해 생성되거나, 또는 업데이트 파일을 수신하는 사용자 서버(720)에 의해 생성되고 업데이트 파일 제공 서버(730)로 제공될 수 있다. The update file providing server 730 may transmit an update file not yet transmitted based on the transmission status information. The transmission status information includes information on an updated update file (or a packet of update file) or an untransmitted update file (or packet of update file) among the entire update files. Such transmission status information may be generated by the update file providing server 730 transmitting the update file, or generated by the user server 720 receiving the update file and provided to the update file providing server 730.

업데이트 파일 제공 서버(730)는 온라인게임 서버(710)와 같은 개체이거나 다른 개체일 수 있다. 또한, 업데이트 파일 제공 서버(730)는 온라인게임 서버(710)와 같거나 다른 운영자에 의해 운영될 수 있다. 예를 들면, 온라인 게임 서버(710)는 온라인게임 서비스 제공업자에 의해 운영되고 업데이트 파일 제공 서버(730)는 온라인게임 개발업자에 의해 운영될 수 있다.The update file providing server 730 may be the same entity as the online game server 710 or may be another entity. In addition, the update file providing server 730 may be operated by the same or different operator than the online game server 710. For example, the online game server 710 may be operated by an online game service provider and the update file providing server 730 may be operated by an online game developer.

도 8은 패치 파일의 실행 과정의 일 예를 도시하는 흐름도이다.8 is a flowchart illustrating an example of an execution process of a patch file.

도 8을 참조하면, 현재 사용자 단말(720)에서 실행되는 온라인 게임의 버전이 확인된다(S810). 그리고, 현재 사용자 단말(720)에서 실행되는 온라인 게임의 버전과 패치를 통해 업데이트되는 온라인 게임의 버전을 비교하여, 사용자 단말(720)에서 실행되는 온라인 게임이 패치를 통해 업데이트되는 온라인 게임의 이전 버전인지 여부, 즉 패치 작업이 요구되는지 여부가 판단된다(S820). 사용자 단말(720)에서 실행되는 온라인 게임이 패치를 통해 업데이트되는 온라인 게임과 같은 버전인 경우, 패치 작업은 종료된다.Referring to FIG. 8, the version of the online game currently executed in the user terminal 720 is checked (S810). In addition, the current version of the online game executed in the user terminal 720 is compared with the version of the online game updated through the patch, and the previous version of the online game in which the online game executed in the user terminal 720 is updated through the patch. It is determined whether or not, that is, whether a patch operation is required (S820). If the online game executed in the user terminal 720 is the same version as the online game updated through the patch, the patch operation is terminated.

사용자 단말(720)에서 실행되는 온라인 게임이 패치를 통해 업데이트되는 온라인 게임의 이전 버전인 경우, 다운로드 받을 업데이트 파일이 결정된다(S830). If the online game executed in the user terminal 720 is a previous version of the online game updated through a patch, an update file to be downloaded is determined (S830).

업데이트 파일은 사용자 단말(720)에서 실행되는 온라인 게임의 버전에 따라 다를 수 있다. 예를 들면, 온라인 게임의 실행을 위해 "aaa.dll", "bbb.dll", "ccc.dll" 파일이 필요하고, 버전 V1에서 버전 V2로 업데이트될 때 "aaa.dll" 파일이 변경되었고, 버전 V2에서 버전 V3로 업데이트될 때 "bbb.dll" 파일이 변경되었으며, 현재 온라인 게임 서버(510)에서 배포한 패치 파일은 버전 V3로 업데이트하는 실행 파일인 것으로 가정한다. 사용자 단말(520)에서 실행되는 온라인 게임의 버전이 V1인 경우 "aaa.dll" 및 "bbb.dll" 파일의 변경이 요구되고, V2인 경우 "bbb.dll" 파일의 변경이 요구될 것이다.The update file may vary depending on the version of the online game executed on the user terminal 720. For example, the files "aaa.dll", "bbb.dll", and "ccc.dll" are required to run the online game, and the file "aaa.dll" has changed when updated from version V1 to version V2. , "Bbb.dll" file is changed when it is updated from version V2 to version V3, it is assumed that the patch file currently distributed in the online game server 510 is an executable file to update to version V3. If the version of the online game executed in the user terminal 520 is V1, the "aaa.dll" and "bbb.dll" files are required to be changed, and in the case of V2, the "bbb.dll" file is to be changed.

또한, 업데이트 파일은 사용자 단말(720)의 시스템환경에 따라 다를 수 있다. 예를 들면, 업데이트 파일은 사용자 단말(720)의 OS, 그래픽 카드, CPU 속도 등에 따라 다른 구성을 가질 수 있다.In addition, the update file may vary depending on the system environment of the user terminal 720. For example, the update file may have a different configuration depending on the OS, graphics card, CPU speed, etc. of the user terminal 720.

다음으로, 업데이트 파일의 정보(파일 이름 등의 파일 식별자)가 업데이트 파일 제공 서버(730)로 전송되고(S840), 해당하는 업데이트 파일이 업데이트 파일 제공 서버(730)로부터 수신된다(S850).Next, information (file identifiers such as file names) of the update file is transmitted to the update file providing server 730 (S840), and the corresponding update file is received from the update file providing server 730 (S850).

업데이트 파일의 준비는 단일 스레드로 또는 다중 스레드로 동시에 진행될 수 있다. 동시 진행 개수는 사용자 단말(520)의 시스템환경, 업데이트 파일 제공 서버(730)의 시스템환경, 또는 네트워크 환경에 따라 조절될 수 있다.The preparation of the update file can proceed simultaneously in a single thread or in multiple threads. The number of concurrent processes may be adjusted according to the system environment of the user terminal 520, the system environment of the update file providing server 730, or the network environment.

업데이트 파일의 수신이 완료되지 않고 패치 파일의 실행이 종료되는 경우(예를 들면, 사용자 단말(720)의 시스템이 종료되는 경우), 나머지 업데이트 파일 또는 업데이트 파일의 패킷은 다음 패치 파일의 실행 시에 수신될 수 있다. 예를 들면, 사용자 단말(520)이 다시 시작할 때, 또는 사용자가 온라인 게임을 실행할 때에 패치 파일의 실행이 재시작되고 패치 파일의 수신이 계속될 수 있다.When the reception of the update file is not completed and the execution of the patch file is terminated (for example, when the system of the user terminal 720 is terminated), the remaining update file or the packet of the update file is executed when the next patch file is executed. Can be received. For example, when the user terminal 520 restarts, or when the user plays an online game, execution of the patch file may be restarted and reception of the patch file may continue.

업데이트 파일의 수신이 완료되면, 업데이트 파일은 설정된 위치로 이동되어 설치된다(S860). 파일을 설치할 때 "move" 명령어 또는 "copy" 명령어가 사용될 수 있다. "copy" 명령어의 경우, 원본을 읽어서("read") 이를 메모리 등에 로딩한 후 목표가 되는 공간에 쓰는("write") 형태이기 때문에 하드디스크 등의 저장 공간에 "read/write"의 I/O가 발생한다. 이에 비하여 "move" 명령어의 경우, OS 커널에서 파일의 위치만을 변경하는 것이기 때문에 하드디스크 등의 저장 공간에 "read/write"의 I/O가 발생하지 않는다. 따라서, 일반 사용자는 "copy"의 경우에 비하여 "move"의 경우에 현저한 속도의 향상을 체감할 수 있다.When the reception of the update file is completed, the update file is moved to the set location and is installed (S860). The "move" command or the "copy" command can be used to install the file. In the case of the "copy" command, I / O of "read / write" is written to a storage space such as a hard disk because it is a form of reading the original ("read"), loading it into memory, and then writing ("write") to the target space. Occurs. On the other hand, the "move" command only changes the location of the file in the OS kernel. Therefore, "read / write" I / O does not occur in the storage space of the hard disk. Therefore, the general user can feel a significant speedup in the case of "move" compared to the case of "copy".

상술한 방식으로 업데이트 파일의 설치가 완료되면, 사용자 단말(520)이 온라인 게임을 실행할 때 패치가 적용되어 업데이트된 온라인 게임이 실행될 수 있다.When the installation of the update file is completed in the above-described manner, when the user terminal 520 executes the online game, a patch may be applied and the updated online game may be executed.

상기에서, 사용자 단말(720)이 업데이트 파일을 결정하고(S830) 업데이트 파일 제공 서버(730)는 사용자 단말(720)이 결정한 업데이트 파일을 전송하는 것(S850)으로 기재되었지만, 사용자 단말(720)이 버전 정보, 시스템 정보 등을 업데이트 파일 제공 서버(730)로 전송하고 업데이트 파일 제공 서버가 이러한 정보에 기초하여 업데이트 파일을 결정하며 결정된 업데이트 파일을 전송하는 것도 가능하다.
In the above, although the user terminal 720 determines the update file (S830) and the update file providing server 730 transmits the update file determined by the user terminal 720 (S850), the user terminal 720 is described. It is also possible to transmit this version information, system information, etc. to the update file providing server 730, and the update file providing server determines the update file based on this information and transmits the determined update file.

이상에서 전술한 본 발명의 일 실시예에 따른 채널 상태 전송 방법 및 채널 상태 수신 방법은, 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. The channel state transmission method and the channel state reception method according to an embodiment of the present invention described above may be implemented in a program and recorded in a computer-readable recording medium.

본 발명의 일 실시예에 따른 채널 상태 전송 방법을 구현하기 위한 기록매체에 기록되는 프로그램은, 채널 상태 정보 벡터의 스파서티를 변환하는 기능과, 스파서티가 변환된 벡터를 압축하는 기능 등을 실행할 수 있다. 본 발명의 일 실시예에 따른 채널 상태 수신 방법은 수신된 압축 벡터의 압축을 해제하는 기능과, 압축이 해제된 벡터와 가장 상관도가 좋은 벡터를 추출하는 기능 등을 실행할 수 있다. A program recorded on a recording medium for implementing a channel state transmission method according to an embodiment of the present invention may execute a function of converting a sparse of a channel state information vector, a function of compressing a vector of which the sparse is converted, and the like. Can be. The channel state reception method according to an embodiment of the present invention may perform a function of decompressing a received compression vector, a function of extracting a vector having the most correlation with the decompressed vector, and the like.

이와 같이, 컴퓨터가 기록매체에 기록된 프로그램을 읽어 들여 프로그램으로 구현된 기능들을 실행시키기 위하여, 전술한 프로그램은 컴퓨터의 프로세서(CPU)가 컴퓨터의 장치 인터페이스(Interface)를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. As described above, in order for a computer to read a program recorded on a recording medium and execute functions implemented as a program, the above-described program may be used by C, C ++ that the computer's processor (CPU) can read through the computer's device interface. Code may be coded in a computer language such as JAVA, machine language, or the like.

이러한 코드는 전술한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Function Code)를 포함할 수 있고, 전술한 기능들을 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수도 있다. The code may include a function code related to a function or the like that defines the functions described above and may include an execution procedure related control code necessary for the processor of the computer to execute the functions described above according to a predetermined procedure.

또한, 이러한 코드는 전술한 기능들을 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조 되어야 하는지에 대한 메모리 참조 관련 코드를 더 포함할 수 있다. In addition, such code may further include memory reference related code as to what additional information or media needed to cause the processor of the computer to execute the aforementioned functions should be referenced at any location (address) of the internal or external memory of the computer .

또한, 컴퓨터의 프로세서가 전술한 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 컴퓨터의 프로세서가 컴퓨터의 통신 모듈을 이용하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야만 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수도 있다. In addition, if the processor of the computer needs to communicate with any other computer or server on the remote in order to execute the above functions, the code may be used to determine which computer the processor of the computer uses the communication module of the computer on the remote. It may further include communication-related codes such as how to communicate with other computers or servers, and what information or media should be transmitted and received during communication.

이상에서 전술한 바와 같은 프로그램을 기록한 컴퓨터로 읽힐 수 있는 기록매체는, 일 예로, ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 미디어 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함할 수 있다. Examples of recording media that can be read by a computer recording a program as described above include, for example, ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical media storage device, and the like. , Transmission through the Internet) may be included.

또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. The computer readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner.

그리고, 본 발명을 구현하기 위한 기능적인(Functional) 프로그램과 이와 관련된 코드 및 코드 세그먼트 등은, 기록매체를 읽어서 프로그램을 실행시키는 컴퓨터의 시스템 환경 등을 고려하여, 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론되거나 변경될 수도 있다.
In addition, a functional program for implementing the present invention, codes and code segments associated therewith may be used in consideration of a system environment of a computer that reads a recording medium and executes the program. It may be easily inferred or changed by.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.

Claims (18)

게임 보조 프로그램 파일을 저장하는 게임 보조 프로그램 파일 저장부;
사용자 단말이 사용하고 있는 게임 프로그램의 버전을 확인하는 버전 확인부;
상기 게임 프로그램의 버전와 상기 게임 보조 프로그램 파일의 버전을 비교하는 버전 비교부; 및
상기 게임 프로그램의 버전이 상기 게임 보조 프로그램 파일의 버전보다 이전 버전인 경우, 상기 게임 프로그램을 실행 중인 상기 사용자 단말로 상기 게임 보조 프로그램 파일을 전송하는 게임 보조 프로그램 파일 전송부를 포함하는 게임 서버.
A game auxiliary program file storage unit which stores a game auxiliary program file;
A version check unit for checking a version of a game program being used by the user terminal;
A version comparing unit comparing a version of the game program with a version of the game auxiliary program file; And
And a game auxiliary program file transmitter configured to transmit the game auxiliary program file to the user terminal executing the game program when the version of the game program is earlier than the version of the game auxiliary program file.
제 1 항에 있어서,
상기 게임 보조 프로그램 파일 전송부는 상기 사용자 단말의 상기 온라인 서버 접속 패턴에 따라 상기 게임 보조 프로그램 파일의 전송 사이즈를 다르게 하는 것을 특징으로 하는 게임 서버.
The method of claim 1,
The game auxiliary program file transmission unit, characterized in that for changing the transmission size of the game auxiliary program file according to the online server connection pattern of the user terminal.
온라인 게임 서버에 접속하여 게임 프로그램을 실행하는 게임 실행부; 및
상기 게임 프로그램이 실행될 때, 상기 온라인 게임 서버로부터 게임 보조 프로그램 파일을 수신하고, 상기 게임 보조 프로그램 파일의 수신이 완료되면 상기 게임 보조 프로그램 파일을 실행하는 패치 매니저를 포함하는 것을 특징으로 하는 사용자 단말.
A game execution unit which accesses an online game server and executes a game program; And
And a patch manager for receiving a game auxiliary program file from the online game server when the game program is executed, and executing the game auxiliary program file when the reception of the game auxiliary program file is completed.
제 3 항에 있어서,
상기 패치 매니저는 상기 사용자 단말의 시스템 정보에 기초하여 게임 보조 프로그램 파일을 선택하고 실행하는 것을 특징으로 하는 사용자 단말.
The method of claim 3, wherein
And the patch manager selects and executes a game auxiliary program file based on system information of the user terminal.
제 3 항에 있어서,
상기 패치 매니저는 이전에 상기 게임 보조 프로그램 파일을 수신한 현황을 상기 온라인 게임 서버로 전송하는 것을 특징으로 하는 사용자 단말.
The method of claim 3, wherein
The patch manager is a user terminal, characterized in that for transmitting the status of the previously received the game auxiliary program file to the online game server.
제 3 항에 있어서,
상기 패치 매니저는 상기 게임 보조 프로그램 파일의 전송이 완료되면 자동으로 게임 보조 프로그램 파일을 실행하거나 상기 사용자 단말의 사용자로부터 승인을 받아 상기 게임 보조 프로그램 파일을 실행하는 것을 특징으로 하는 사용자 단말.
The method of claim 3, wherein
The patch manager automatically executes the game auxiliary program file when the transmission of the game auxiliary program file is completed, or executes the game auxiliary program file with approval from the user of the user terminal.
사용자 단말이 게임 보조 프로그램 파일의 이전 버전의 게임 프로그램을 실행하는 동안 상기 게임 보조 프로그램 파일을 전송하는 온라인 게임 서버; 및
상기 온라인 서버에 접속하여 게임 프로그램을 실행하는 동안, 상기 게임 보조 프로그램 파일을 수신하고 실행하는 사용자 단말을 포함하는 온라인 게임 시스템.
An online game server for transmitting the game auxiliary program file while a user terminal executes a game program of a previous version of the game auxiliary program file; And
And a user terminal that receives and executes the game assistance program file while accessing the online server and executing a game program.
게임 보조 프로그램 파일을 저장하는 단계;
사용자 단말의 접속 요청에 따라 온라인 게임 서비스를 제공하는 단계;
상기 사용자 단말이 실행하는 게임 프로그램의 버전을 확인하는 단계;
상기 게임 프로그램의 버전과 상기 게임 보조 프로그램 파일의 버전을 비교하는 단계; 및
상기 게임 프로그램의 버전이 상기 게임 보조 프로그램 파일의 버전보다 이전 버전인 경우, 상기 게임 프로그램을 실행 중인 상기 사용자 단말로 상기 게임 보조 프로그램 파일을 전송하는 단계를 포함하는 게임 게임 보조 프로그램 파일 제공 방법.
Storing a game assistant program file;
Providing an online game service according to a connection request of a user terminal;
Checking a version of a game program executed by the user terminal;
Comparing a version of the game program with a version of the game auxiliary program file; And
And transmitting the game auxiliary program file to the user terminal executing the game program when the version of the game program is earlier than the version of the game auxiliary program file.
게임 보조 프로그램 파일을 저장하는 단계;
사용자 단말의 접속 요청에 따라 온라인 게임 서비스를 제공하는 단계;
상기 사용자 단말이 실행하는 게임 프로그램의 버전을 확인하는 단계;
상기 게임 프로그램의 버전과 상기 게임 보조 프로그램 파일의 버전을 비교하는 단계; 및
상기 게임 프로그램의 버전이 상기 게임 보조 프로그램 파일의 버전보다 이전 버전인 경우, 상기 게임 프로그램을 실행 중인 상기 사용자 단말로 상기 게임 보조 프로그램 파일을 전송하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
Storing a game assistant program file;
Providing an online game service according to a connection request of a user terminal;
Checking a version of a game program executed by the user terminal;
Comparing a version of the game program with a version of the game auxiliary program file; And
And transmitting the game auxiliary program file to the user terminal executing the game program when the version of the game program is earlier than the version of the game auxiliary program file.
온라인 게임 서버에 접속하여 게임 프로그램을 실행하는 게임 실행부; 및
상기 온라인 게임 서버로부터 수신한 게임 보조 프로그램 파일을 실행하는 패치 매니저를 포함하고,
상기 게임 보조 프로그램 파일의 실행은, 상기 게임 프로그램의 버전과 상기 온라인 게임 서버로부터 수신한 게임 보조 프로그램 파일의 버전을 비교하는 단계, 및 상기 게임 프로그램의 버전이 상기 게임 보조 프로그램 파일의 버전보다 이전 버전인 경우 업데이트할 업데이트 파일을 수신하는 단계를 포함하는 것을 특징으로 하는 사용자 단말.
A game execution unit which accesses an online game server and executes a game program; And
It includes a patch manager for executing a game auxiliary program file received from the online game server,
The execution of the game auxiliary program file may include comparing a version of the game program with a version of a game auxiliary program file received from the online game server, and a version of the game program older than a version of the game auxiliary program file. If the user terminal characterized in that it comprises the step of receiving an update file to update.
제 10 항에 있어서,
상기 게임 보조 프로그램 파일은 상기 게임 프로그램 실행이 시작될 때 또는 상기 게임 프로그램 실행이 종료될 때 수신되는 것을 특징으로 하는 사용자 단말.
11. The method of claim 10,
And the game auxiliary program file is received when the game program execution starts or when the game program execution ends.
제 10 항에 있어서,
상기 게임 보조 프로그램 파일의 실행은 상기 게임 프로그램의 종료 후에 수행되는 것을 특징으로 하는 사용자 단말.
11. The method of claim 10,
The execution of the game auxiliary program file is characterized in that the user terminal is performed after the end of the game program.
제 10 항에 있어서,
상기 수신 단계는, P2P 서버로 업데이트할 업데이트 파일 정보를 전송하는 단계, 상기 P2P 서버로부터 상기 업데이트 파일을 저장하고 있는 P2P 제공 단말의 정보를 수신하는 단계, 및 상기 P2P 제공 단말로부터 상기 업데이트 파일을 수신하는 단계를 포함하는 것을 특징으로 하는 사용자 단말.
11. The method of claim 10,
The receiving step may include transmitting update file information to be updated to a P2P server, receiving information of a P2P providing terminal storing the update file from the P2P server, and receiving the update file from the P2P providing terminal. User terminal characterized in that it comprises a step.
제 10 항에 있어서,
상기 수신 단계는, 업데이트 파일 제공 서버로 업데이트할 업데이트 파일 정보를 전송하는 단계, 및 상기 업데이트 파일 제공 서버로부터 상기 업데이트 파일을 수신하는 단계를 포함하는 것을 특징으로 하는 사용자 단말.
11. The method of claim 10,
The receiving step includes transmitting update file information to be updated to an update file providing server, and receiving the update file from the update file providing server.
사용자 단말에서 실행되는 게임 프로그램의 버전과 게임 보조 프로그램 파일의 버전을 비교하는 단계;
상기 게임 프로그램의 버전이 상기 게임 보조 프로그램 파일의 버전보다 이전 버전인 경우, 업데이트할 업데이트 파일의 정보를 결정하는 단계;
상기 업데이트 파일의 정보를 P2P 서버로 전송하는 단계;
상기P2P 서버로부터 상기 업데이트 파일을 저장하는 업데이트 파일 제공 단말의 정보를 수신하는 단계; 및
상기 업데이트 파일 제공 서버로부터 상기 업데이트 파일을 수신하는 단계를 포함하는 게임 프로그램 패치 방법.
Comparing a version of a game program executed in a user terminal with a version of a game auxiliary program file;
If the version of the game program is older than the version of the game auxiliary program file, determining information of an update file to update;
Transmitting information of the update file to a P2P server;
Receiving information of an update file providing terminal storing the update file from the P2P server; And
And receiving the update file from the update file providing server.
사용자 단말에서 실행되는 게임 프로그램의 버전과 게임 보조 프로그램 파일의 버전을 비교하는 단계;
상기 게임 프로그램의 버전이 상기 게임 보조 프로그램 파일의 버전보다 이전 버전인 경우, 업데이트할 업데이트 파일의 정보를 결정하는 단계;
상기 업데이트 파일의 정보를 업데이트 파일 제공 서버로 전송하는 단계; 및
상기 업데이트 파일 제공 서버로부터 상기 업데이트 파일을 수신하는 단계를 포함하는 게임 프로그램 패치 방법.
Comparing a version of a game program executed in a user terminal with a version of a game auxiliary program file;
If the version of the game program is older than the version of the game auxiliary program file, determining information of an update file to update;
Transmitting information of the update file to an update file providing server; And
And receiving the update file from the update file providing server.
사용자 단말에서 실행되는 게임 프로그램의 버전과 게임 보조 프로그램 파일의 버전을 비교하는 단계;
상기 게임 프로그램의 버전이 상기 게임 보조 프로그램 파일의 버전보다 이전 버전인 경우, 업데이트할 업데이트 파일의 정보를 결정하는 단계;
상기 업데이트 파일의 정보를 P2P 서버로 전송하는 단계;
상기 P2P 서버로부터 상기 업데이트 파일을 저장하는 업데이트 파일 제공 단말의 정보를 수신하는 단계; 및
상기 업데이트 파일 제공 서버로부터 상기 업데이트 파일을 수신하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
Comparing a version of a game program executed in a user terminal with a version of a game auxiliary program file;
If the version of the game program is older than the version of the game auxiliary program file, determining information of an update file to update;
Transmitting information of the update file to a P2P server;
Receiving information of an update file providing terminal storing the update file from the P2P server; And
And a program for executing the step of receiving the update file from the update file providing server.
사용자 단말에서 실행되는 게임 프로그램의 버전과 게임 보조 프로그램 파일의 버전을 비교하는 단계;
상기 게임 프로그램의 버전이 상기 게임 보조 프로그램 파일의 버전보다 이전 버전인 경우, 업데이트할 업데이트 파일의 정보를 결정하는 단계;
상기 업데이트 파일의 정보를 업데이트 파일 제공 서버로 전송하는 단계; 및
상기 업데이트 파일 제공 서버로부터 상기 업데이트 파일을 수신하는 단계를 실행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
Comparing a version of a game program executed in a user terminal with a version of a game auxiliary program file;
If the version of the game program is older than the version of the game auxiliary program file, determining information of an update file to update;
Transmitting information of the update file to an update file providing server; And
And a program for executing the step of receiving the update file from the update file providing server.
KR1020110073260A 2011-07-22 2011-07-22 Server, system and method for providing game subsidiary program KR20130011836A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020110073260A KR20130011836A (en) 2011-07-22 2011-07-22 Server, system and method for providing game subsidiary program
PCT/KR2011/008051 WO2013015489A1 (en) 2011-07-22 2011-10-27 Server, system, and method for providing game assistance program
TW101116376A TW201305909A (en) 2011-07-22 2012-05-08 Server, system, and method for providing game assistance program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110073260A KR20130011836A (en) 2011-07-22 2011-07-22 Server, system and method for providing game subsidiary program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020130098172A Division KR101456389B1 (en) 2013-08-19 2013-08-19 Server, System and Method for Providing Game Subsidiary Program

Publications (1)

Publication Number Publication Date
KR20130011836A true KR20130011836A (en) 2013-01-30

Family

ID=47601295

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110073260A KR20130011836A (en) 2011-07-22 2011-07-22 Server, system and method for providing game subsidiary program

Country Status (3)

Country Link
KR (1) KR20130011836A (en)
TW (1) TW201305909A (en)
WO (1) WO2013015489A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112604296B (en) * 2020-12-30 2024-01-26 深圳市创梦天地科技有限公司 Game updating method, electronic equipment and related system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002189598A (en) * 2000-12-21 2002-07-05 Hitachi Software Eng Co Ltd Control method for program at the time of file downloading
KR20070095530A (en) * 2005-11-18 2007-10-01 엔에이치엔(주) Method for providing patch data to client terminals and game providing system of enabling the method
KR101541540B1 (en) * 2008-02-26 2015-08-04 주식회사 알티캐스트 Method and Apparatus for providing content download service
KR20110034083A (en) * 2009-09-28 2011-04-05 주식회사 니오커뮤니케이션 The method and system for online game distribution and patch using p2p technology

Also Published As

Publication number Publication date
TW201305909A (en) 2013-02-01
WO2013015489A1 (en) 2013-01-31

Similar Documents

Publication Publication Date Title
JP7297769B2 (en) Shader distribution among client machines for pre-caching
US8756694B2 (en) Prevention of exploitation of update rollback
US7849462B2 (en) Image server
US9880824B2 (en) On demand resources
RU2619181C2 (en) System and method for downloadable content transmission optimizing
US8880651B2 (en) Method and system for efficient download of data package
CN105511889A (en) General game version incremental updating system and method
US10447812B2 (en) On demand resources
US20060155674A1 (en) Image server
KR20130062462A (en) Distributed server system and method for streaming game service
KR20070095530A (en) Method for providing patch data to client terminals and game providing system of enabling the method
US20040143586A1 (en) Method of controlling user application program
US20120151005A1 (en) Image file download method
CN107667343B (en) System and method for loading on-demand resources
KR101690066B1 (en) Server, system and the method for on-line game patch
CN112346765A (en) Application program upgrading method and device, electronic equipment and readable storage medium
KR20130011836A (en) Server, system and method for providing game subsidiary program
KR101461319B1 (en) Methods and device for upgrading firmware of set-top box
KR20110127434A (en) Server, system and the method for on-line game patch
KR101456389B1 (en) Server, System and Method for Providing Game Subsidiary Program
JP2018538637A (en) Method and device for accelerating application execution
KR100848284B1 (en) Method and Loader for Providing Software Streaming
US9870214B2 (en) Method for downloading a program
US8677021B1 (en) Download in place
CN117278539A (en) Service configuration realization method and related device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
A107 Divisional application of patent