KR20130011836A - Server, system and method for providing game subsidiary program - Google Patents
Server, system and method for providing game subsidiary program Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000005540 biological transmission Effects 0.000 claims description 40
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/34—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using peer-to-peer connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/50—Features 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/53—Features 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/535—Features 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/50—Features 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/55—Details of game data or player data management
- A63F2300/552—Details 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
Description
본 발명은 게임 보조 프로그램 제공을 위한 서버, 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 사용자 단말이 패치 서버에서 전송될 패치 파일의 이전 버전의 온라인 게임을 하는 동안에 상기 패치 파일을 전송하는 온라인 게임 패치를 위한 서버, 시스템 및 그 방법에 관한 것이다.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
온라인 게임 서버(110)는 게임 제공부(111), 패치 파일 저장부(112), 버전 확인부(113), 버전 비교부(114), 패치 파일 전송부(115)를 포함한다. The
게임 제공부(111)는 사용자 단말(120)로부터의 접속 요청에 따라 온라인 게임 서비스를 제공한다.The
패치 파일 저장부(112)는 사용자단말(120)로 전송할 패치 파일을 저장한다. The patch
패치 파일은 현재 사용자 단말(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
또한, 패치 파일은 사용자 단말(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
또는, 온라인 게임 서버(110)는 사용자 단말(120)로 시스템 환경에 상관없이 패치 파일을 전송하고, 사용자 단말(120)은 자신의 시스템 환경에 맞는 패치 파일을 선택하여 설치할 수 있다. 하지만, 이러한 경우 패치 파일의 크기가 커지므로, 사용자 단말(120)의 시스템 환경 정보에 기초하여 선택된 패치 파일을 전송할 때에 효율을 높일 수 있다.Alternatively, the
패치 파일은 독립적으로 실행 가능한 프로그램인 실행 파일(예를 들면, 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
버전 비교부(114)는 버전 확인부(113)에서 확인한 온라인 게임의 버전과 패치 파일 저장부(112)에 저장된 패치 파일의 버전을 비교한다. 사용자 단말(120)에서 사용되고 있는 온라인 게임의 버전이 패치 파일의 버전보다 이전 버전인 경우에만 패치 파일이 전송될 수 있다. The
패치 파일 전송부(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
도 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
도 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
패치 파일 전송부(115)가 패치 파일을 전송할 때, 사용자 단말(120)의 온라인게임 접속 패턴에 따라 패치 파일의 전송 사이즈를 다르게 할 수 있다. 온라인 게임 접속 패턴은 사용자 단말(120)이 온라인 게임 서버(110)에 접속하는 평균 시간대 및 온라인 게임의 평균 이용 시간 중 적어도 하나를 포함할 수 있다.When the patch
예를 들면, 사용자 단말(120)의 온라인 게임 서버(110) 접속 빈도가 야간 시간대에 높고 평균 이용 시간이 수 시간으로 길 경우, 패치 파일 전송부(115)는 온라인게임 서버(110)의 트래픽이 크지 않은 야간 시간대에는 패치 파일을 전송하기 위해 일정한 크기 단위로 나눈 전송 단위인 패킷의 크기를 크게 만들어서 전송을 할 수 있다. 한편, 사용자 단말(120)의 온라인 게임 서버(110) 접속 빈도가 주간 시간대에 높고 평균 이용 시간이 1 시간 미만으로 짧을 경우, 큰 사이즈의 패킷은 전송이 실패할 확률이 크므로, 패치 파일 전송부(115)는 주간 시간대에는 패킷의 크기를 작게 만들어서 전송을 할 수 있다. For example, when the
패치 관련 정보는 패치 파일의 정보, 패치 파일을 전송하는 개시일, 배포 기간, 전송 일정, 패치 파일의 전송률, 패치 작업 완료 여부, 패치 파일의 전송 현환 정보, 및 패치 버전 중 적어도 하나를 포함하는 패치와 관련된 정보이다.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
또한, 패치 파일 전송부(115)에 의한 패치 파일의 전송이 온라인 게임을 실행하는 도중에 조금씩 전송되기 때문에 1회의 접속으로 패치 파일 전부의 전송이 안 되는 경우가 있을 수 있다. 따라서 패치 파일의 전송 현환을 파악하여 다음 접속을 할 때 설치하지 못한 부분만 전송할 수 있도록 하여야 하므로, 사용자 단말(120)의 현재 패치 파일의 전송 현황에 대한 정보도 있어야 한다.In addition, since the transmission of the patch file by the patch
패치 관련 정보 중 패치 파일의 전송 현황 정보는 패치 서버(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
패치 관련 정보는 패치 파일의 전송을 원활하게 하기 위하여 패치 서버(110)의 트래픽이 특정값 이하가 되도록 구성될 수 있다. 사용자 단말(120)이 게임을 실행하기 위해 온라인 게임 서버(110)에 접속할 때 패치 파일이 전송되지만, 게임 사용자가 지나치게 많은 경우 온라인 게임 서버(110)의 트래픽이 과도하게 증가할 수 있다. 따라서, 패치 관련 정보에 온라인 게임 서버(110)의 트래픽에 대한 특정값을 지정하고, 온라인 게임 서버(110)의 트래픽이 특정값 이상이 되면 일부 사용자 단말(120)에 대하여는 패치 파일의 전송을 중단하는 방식 등으로 트래픽을 조절할 수 있도록 할 수 있다. 트래픽의 특정값은 온라인 게임 서버(110) 운영자의 정책에 따라 설정될 수 있다. 트랙픽을 조절하는 방식은 상술한 사용자 단말(120)에 대한 패치 파일 전송을 중단하는 방식 외에 다양한 방법이 사용될 수 있다.The patch related information may be configured such that the traffic of the
다시 도 1을 참조하면, 사용자 단말(120)은 네트워크를 통해 온라인 게임 서버(110)에 접속할 수 있는 통신 장치이고, 예를 들면, 유선 전화, 무선 통신 단말기, 컴퓨터, 인터넷 접속 가능한 TV, 게임기 등의 다양한 통신 장치일 수 있다. 사용자 단말(120)은 전화망, 인터넷, 무선 인터넷 등의 네트워크를 이용하여 온라인 게임 서버(110)에 접속할 수 있다. Referring back to FIG. 1, the
사용자 단말(120)은 게임 실행부(121) 및 패치 매니저(212)를 포함한다. 게임 실행부(121)는 온라인 게임 서버(110)의 게임 제공부(111)와 통신하며 온라인 게임을 실행한다. 게임 실행부(121)는 사용자가 입력한 명령, 사용자 단말(120)에 저장되거나 온라인 게임 서버(110)로부터 제공되는 데이터 등에 기초하여 온라인 게임을 진행한다. The
게임 실행부(121)는 사용자 단말(120)에서 온라인 게임을 실행할 때 자동으로 패치 매니저(122)를 구동시킨다.The
패치 매니저(122)는 사용자 단말(120)에서 온라인 게임 실행 중에 온라인 게임 서버(110)로부터 전송된 패치 파일을 수신하고, 패치 파일의 전송이 완료되면 패치 파일을 실행하여 패치 작업을 수행한다.The
온라인 게임이 실행되면, 패치 매니저(122)는 온라인 게임의 이전 실행에서 패치 파일을 수신한 현황을 확인하여 온라인 게임 서버(110)로 알려준다. 이전 실행은 온라인 게임을 하기 위하여 온라인 게임 서버(110)에 접속한 과거 시점의 실행을 의미하고, 바로 직전의 접속 시점뿐만 아니라 그 이전이라도 패치 파일을 마지막으로 수신한 시점의 실행을 의미한다.When the online game is executed, the
한편, 온라인 게임 실행이 처음으로 수행되는 경우, 패치 매니저(122)는 사용자 단말(120) 내의 설정된 위치에 폴더를 생성하고 패치 파일을 수신할 수 있도록 설정한다. 폴더는 온라인 게임 서버(110)에 접속해서 수신한 패치 파일을 저장하기 위한 위치이고, 이는 게임 개발자나 운영자에 의해 설정될 수 있다. 즉, 패치 매니저(122)는 실행될 때 폴더를 검색하고, 폴더가 없으면 폴더를 생성한다.On the other hand, when the online game execution is performed for the first time, the
패치 파일의 수신 현황을 확인한 결과 패치 파일의 전송이 완료되지 않은 경우, 상술한 "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
패치 파일의 수신이 완료된 경우, 패치 매니저(122)는 패치 파일을 실행하는 패치 작업을 수행한다. 또한, 패치 파일의 수신 현황을 확인한 결과 패치 파일의 전송이 완료된 경우, 패치 매니저(122)는 패치 파일을 실행하는 패치 작업을 수행한다. 온라인 게임 서버(110)가 사용자 단말(120)의 시스템환경에 상관없이 패치 파일을 전송하는 경우, 패치 작업을 수행할 때 패치 매니저(122)는 사용자 단말(120)의 시스템 정보를 확인한 후, 수신한 패치 파일 중 사용자단말(120)에 적합한 파일을 선택하여 패치 작업을 수행할 수 있다. 패치 파일의 실행은 자동으로 실행되거나 사용자 단말(120)을 조작하는 사용자로부터의 승인 입력을 받은 후 실행되도록 할 수 있다.When the reception of the patch file is completed, the
패치 매니저(122)가 패치 파일을 실행시키면서 파일을 설치할 때 "move" 명령어 또는 "copy" 명령어가 사용될 수 있다. "copy" 명령어의 경우, 원본을 읽어서("read") 이를 메모리 등에 로딩한 후 목표가 되는 공간에 쓰는("write") 형태이기 때문에 하드디스크 등의 저장 공간에 "read/write"의 I/O가 발생한다. 이에 비하여 "move" 명령어의 경우, OS 커널에서 파일의 위치만을 변경하는 것이기 때문에 하드디스크 등의 저장 공간에 "read/write"의 I/O가 발생하지 않는다. 따라서, 일반 사용자는 "copy"의 경우에 비하여 "move"의 경우에 현저한 속도의 향상을 체감할 수 있다.When the
도 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
온라인 게임 서버(110)는 사용자 단말(120)로부터 사용자 단말(120)의 시스템 정보 및/또는 패치 파일 전송 현황 정보 등의 정보를 수신한다(S420). 전술한 바와 같이, 패치 파일 전송 현황 정보는 패치 DB(130)에 저장되거나 사용자 단말(120)로부터 수신한 정보일 수 있다. 전술한 패치 관련 정보는 온라인 게임 서버(110)에 저장된 정보 외에 사용자 단말(120)로부터 수신한 정보를 포함할 수도 있다. The
패치 관련 정보(패치 파일 전송 현황 정보)에 기초하여 최신 패치 파일의 전송이 완료되었는지 여부가 판단된다(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
도 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
온라인 게임 서버(510)는 게임 제공부(511), 패치 파일 저장부(512), 및 패치 파일 전송부(513)를 포함한다. The
게임 제공부(511)는 사용자 단말(520)로부터의 접속 요청에 따라 온라인 게임 서비스를 제공한다. The
패치 파일 저장부(512)는 사용자 단말(520)로 전송할 패치 파일을 저장한다. The patch
패치 파일은 독립적으로 실행 가능한 프로그램인 실행 파일(예를 들면, 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
패치 파일은 사용자 단말(520)에서 실행되는 온라인 게임의 버전 정보, 및 사용자 단말(520)의 시스템 환경 정보 등을 추출할 수 있다. 패치 파일은 패치를 통해 업데이트되는 온라인 게임의 버전 정보, 업데이트 파일을 다운로드하고 설치하는 방법에 대한 정보 등을 포함할 수 있다. 사용자 단말(520)에서 실행되는 온라인 게임의 버전이 업데이트되는 온라인 게임의 버전보다 이전 버전일 경우, 패치 파일은 패치 작업을 실행할 수 있다. 사용자 단말(520)에서 실행되는 온라인 게임의 버전 정보, 사용자 단말(520)의 시스템 환경 정보 등에 따라 업데이트 파일이 선택될 수 있다. 업데이트 파일 다운로드 및 설치 방법 정보 등에 따라 어떤 개체에 접속하여 업데이트 파일을 설치할지를 결정할 수 있다.The patch file may extract version information of the online game executed in the
패치 파일 전송부(513)는 패치 파일 저장부(512)에 저장된 패치 파일을 사용자 단말(520)로 전송한다. 패치 파일의 전송은 온라인 게임 시작 시점 또는 온라인 게임 종료 시점이 될 수 있다. 온라인 게임 시작 시점에 배치 파일을 전송하는 경우, 배치 파일의 전송이 먼저 수행되고 온라인 게임이 시작되거나, 또는 배치 파일의 전송과 온라인 게임의 실행이 동시에 진행될 수 있다. 배치 파일의 실행은 온라인 게임의 종료 후에 배치 파일 전송이 완료된 경우 진행될 수 있다.The
사용자 단말(520)은 게임 실행부(521) 및 패치 매니저(522)를 포함한다.The
게임 실행부(521)는 온라인 게임 서버(510)의 게임 제공부(511)와 통신하며 온라인 게임을 실행한다. 게임 실행부(521)는 사용자가 입력한 명령, 사용자 단말(520)에 저장되거나 온라인 게임 서버(510)로부터 제공되는 데이터 등에 기초하여 온라인 게임을 진행한다.The
게임 실행부(521)는 사용자 단말(520)에서 온라인 게임을 시작할 때 또는 온라인 게임을 종료할 때 패치 매니저(522)를 구동시킨다.The
패치 매니저(522)는 온라인 게임 서버(510)로부터 전송된 패치 파일을 수신한다. 패치 매니저(522)가 온라인 게임을 시작할 때 구동된 경우, 패치 매니저(522)에 의해 패치 파일 수신이 완료된 후 온라인 게임이 진행될 수 있거나, 패치 매니저(522)에 의한 패치 파일 수신은 온라인 게임과 동시에 진행될 수 있다.The
패치 파일의 수신이 완료되면, 패치 매니저(522)는 패치 파일을 실행한다. 패치 파일의 수신이 완료되었을 때, 패치 파일의 실행은 자동으로 수행되거나, 또는 패치 실행을 사용자에게 질의하고 사용자의 승인 입력을 받은 후에 수행될 수 있다. 패치 매니저(522)가 온라인 게임을 시작할 때 구동되고 패치 파일의 수신이 온라인 게임의 진행 전에 또는 진행 중에 완료된 경우, 패치 매니저(522)는 온라인 게임이 종료가 된 후 패치 파일을 실행할 수 있다. 패치 파일의 실행은 후술될 것이다.When the reception of the patch file is completed, the
P2P 서버(530)는 사용자 단말(520)이 수신하고자 하는 업데이트 파일의 정보를 수신할 수 있다. P2P 서버(530)는 P2P 서버(530)에 접속하고 있는 다른 단말의 공유 폴더를 검색하여, 업데이트 파일을 가지고 있는 단말인 P2P 제공 단말(540)의 정보를 추출한다. P2P 서버(530)는 P2P 제공 단말(540)의 정보(주소)를 사용자 단말(520)로 전송하여 사용자 단말(520)이 P2P 제공 단말(540)로부터 업데이트 파일을 가져올 수 있게 한다. The
P2P 서버(530)는 온라인 게임 서버(510)와 같은 개체이거나 다른 개체일 수 있다. 또한, P2P 서버(530)는 온라인 게임 서버(510)와 같거나 다른 운영자에 의해 운영될 수 있다. 예를 들면, 온라인 게임 서버(510)는 온라인게임 서비스 제공업자에 의해 운영되고P2P 서버(530)는 P2P 서비스 제공업자에 의해 운영될 수 있다.The
P2P 제공 단말(540)은 P2P를 위한 공유 폴더에 사용자 단말(520)이 필요로 하는 업데이트 파일을 저장하고 있는 단말이다. P2P 제공 단말(540)은 사용자 단말(520)과 동일한 온라인 게임 서비스를 받는 단말일 수 있다.The
도 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
사용자 단말(520)에서 실행되는 온라인 게임이 패치를 통해 업데이트되는 온라인 게임의 이전 버전인 경우, 다운로드 받을 업데이트 파일이 결정된다(S630). If the online game executed in the
업데이트 파일은 사용자 단말(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
또한, 업데이트 파일은 사용자 단말(520)의 시스템 환경에 따라 다를 수 있다. 예를 들면, 업데이트 파일은 사용자 단말(520)의 OS, 그래픽 카드, CPU 속도 등에 따라 다른 구성을 가질 수 있다.In addition, the update file may vary depending on the system environment of the
다음으로, 업데이트 파일의 정보(파일 이름 등의 파일 식별자)가 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
사용자 단말(520)은 P2P 제공 단말(540)로부터 업데이트 파일을 가져온다(S660). 업데이트 파일의 준비는 단일 스레드로 또는 다중 스레드로 동시에 진행될 수 있다. 동시 진행 개수는 사용자 단말(520)의 시스템 환경, P2P 제공 단말(540)의 시스템 환경, 또는 네트워크 환경에 따라 조절될 수 있다.The
수신된 업데이트 파일 또는 업데이트 파일의 패킷은 사용자 단말(520)의 공유 폴더에 저장될 수 있다. 그리하여, 다른 사용자 단말이 패치 작업을 할 때 사용자 단말(520)의 공유 폴더에 저장된 업데이트 파일 또는 업데이트 파일의 패킷을 가져갈 수 있도록 할 수 있다.The received update file or the packet of the update file may be stored in a shared folder of the
업데이트 파일의 수신이 완료되지 않고 패치 파일의 실행이 종료되는 경우(예를 들면, 사용자 단말(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
업데이트 파일의 수신이 완료되면, 업데이트 파일은 설정된 위치로 이동되어 설치된다(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
도 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
온라인 게임 서버(710)는 게임 제공부(711), 패치 파일 저장부(712), 및 패치 파일 전송부(713)를 포함한다. The
게임 제공부(711)는 사용자 단말(720)로부터의 접속 요청에 따라 온라인 게임 서비스를 제공한다. The
패치 파일 저장부(712)는 사용자 단말(720)로 전송할 패치 파일을 저장한다. The patch
패치 파일은 독립적으로 실행 가능한 프로그램인 실행 파일(예를 들면, 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
패치 파일은 사용자 단말(720)에서 실행되는 온라인 게임의 버전 정보, 및 사용자 단말(720)의 시스템 환경 정보 등을 추출할 수 있다. 패치 파일은 패치를 통해 업데이트되는 온라인 게임의 버전 정보, 업데이트 파일을 다운로드하고 설치하는 방법에 대한 정보 등을 포함할 수 있다. 사용자 단말(720)에서 실행되는 온라인 게임의 버전이 업데이트되는 온라인 게임의 버전보다 이전 버전일 경우, 패치 파일은 패치 작업을 실행할 수 있다. 사용자 단말(720)에서 실행되는 온라인 게임의 버전 정보, 사용자 단말(720)의 시스템환경 정보 등에 따라 업데이트 파일이 선택될 수 있다. 업데이트 파일 다운로드 및 설치 방법 정보 등에 따라 어떤 개체에 접속하여 업데이트 파일을 설치할지를 결정할 수 있다.The patch file may extract version information of the online game executed in the
패치 파일 전송부(713)는 패치 파일 저장부(712)에 저장된 패치 파일을 사용자 단말(720)로 전송한다. 패치 파일의 전송은 온라인 게임 시작 시점 또는 온라인 게임 종료 시점이 될 수 있다. 온라인 게임 시작 시점에 배치 파일을 전송하는 경우, 배치 파일의 전송이 먼저 수행되고 온라인 게임이 시작되거나, 또는 배치 파일의 전송과 온라인 게임의 실행이 동시에 진행될 수 있다. 배치 파일의 실행은 온라인 게임의 종료 후에 배치 파일 전송이 완료된 경우 진행될 수 있다.The
사용자 단말(720)은 게임 실행부(721) 및 패치 매니저(722)를 포함한다.The
게임 실행부(721)는 온라인 게임 서버(710)의 게임 제공부(711)와 통신하며 온라인 게임을 실행한다. 게임 실행부(721)는 사용자가 입력한 명령, 사용자 단말(720)에 저장되거나 온라인 게임 서버(710)로부터 제공되는 데이터 등에 기초하여 온라인 게임을 진행한다.The
게임 실행부(721)는 사용자 단말(720)에서 온라인 게임을 시작할 때 또는 온라인 게임을 종료할 때 패치 매니저(722)를 구동시킨다.The
패치 매니저(722)는 온라인 게임 서버(710)로부터 전송된 패치 파일을 수신한다. 패치 매니저(722)가 온라인 게임을 시작할 때 구동된 경우, 패치 매니저(722)에 의해 패치 파일 수신이 완료된 후 온라인 게임이 진행될 수 있거나, 패치 매니저(722)에 의한 패치 파일 수신은 온라인 게임과 동시에 진행될 수 있다.The
패치 파일의 수신이 완료되면, 패치 매니저(722)는 패치 파일을 실행한다. 패치 파일의 수신이 완료되었을 때, 패치 파일의 실행은 자동으로 수행되거나, 또는 패치 실행을 사용자에게 질의하고 사용자의 승인 입력을 받은 후에 수행될 수 있다. 패치 매니저(722)가 온라인 게임을 시작할 때 구동되고 패치 파일의 수신이 온라인 게임의 진행 전에 또는 진행 중에 완료된 경우, 패치 매니저(722)는 온라인 게임이 종료가 된 후 패치 파일을 실행할 수 있다. 패치 파일의 실행은 후술될 것이다.When the reception of the patch file is completed, the
업데이트 파일 제공 서버(730)는 업데이트 파일을 저장하고 사용자 단말(720)로 업데이트 파일을 전송할 수 있다. 일 예에서, 사용자 단말(720)에서 실행되는 온라인 게임의 버전, 사용자 단말(720)의 시스템 환경 등에 기초하여 수신할 업데이트 파일이 사용자 단말(720)에서 결정되고, 결정된 업데이트 파일에 대한 정보가 사용자 단말(720)로부터 업데이트 파일 제공 서버(730)로 전송되며, 업데이트 파일 제공 서버(730)는 수신한 업데이트 파일 정보에 기초하여 선택된 업데이트 파일을 사용자 단말(720)로 전송할 수 있다. 다른 예에서, 사용자 단말(720)은 사용자 단말(720)에서 실행되는 온라인 게임의 버전, 사용자 단말(720)의 시스템 환경 등의 정보를 업데이트 파일 제공 서버(730)로 전송하고, 업데이트 파일 제공 서버(730)는 수신한 정보에 기초하여 전송할 업데이트 파일을 결정하고, 결정된 업데이트 파일을 사용자 단말(720)로 전송할 수 있다.The update
업데이트 파일 제공 서버(730)는 전송 현황 정보에 기초하여 아직 전송되지 않은 업데이트 파일을 전송할 수 있다. 전송 현황 정보는 전체 업데이트 파일 중 전송된 업데이트 파일(또는 업데이트 파일의 패킷) 또는 전송되지 않은 업데이트 파일(또는 업데이트 파일의 패킷)에 대한 정보를 포함한다. 이러한 전송 현황 정보는 업데이트 파일을 전송하는 업데이트 파일 제공 서버(730)에 의해 생성되거나, 또는 업데이트 파일을 수신하는 사용자 서버(720)에 의해 생성되고 업데이트 파일 제공 서버(730)로 제공될 수 있다. The update
업데이트 파일 제공 서버(730)는 온라인게임 서버(710)와 같은 개체이거나 다른 개체일 수 있다. 또한, 업데이트 파일 제공 서버(730)는 온라인게임 서버(710)와 같거나 다른 운영자에 의해 운영될 수 있다. 예를 들면, 온라인 게임 서버(710)는 온라인게임 서비스 제공업자에 의해 운영되고 업데이트 파일 제공 서버(730)는 온라인게임 개발업자에 의해 운영될 수 있다.The update
도 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
사용자 단말(720)에서 실행되는 온라인 게임이 패치를 통해 업데이트되는 온라인 게임의 이전 버전인 경우, 다운로드 받을 업데이트 파일이 결정된다(S830). If the online game executed in the
업데이트 파일은 사용자 단말(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
또한, 업데이트 파일은 사용자 단말(720)의 시스템환경에 따라 다를 수 있다. 예를 들면, 업데이트 파일은 사용자 단말(720)의 OS, 그래픽 카드, CPU 속도 등에 따라 다른 구성을 가질 수 있다.In addition, the update file may vary depending on the system environment of the
다음으로, 업데이트 파일의 정보(파일 이름 등의 파일 식별자)가 업데이트 파일 제공 서버(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
업데이트 파일의 수신이 완료되지 않고 패치 파일의 실행이 종료되는 경우(예를 들면, 사용자 단말(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
업데이트 파일의 수신이 완료되면, 업데이트 파일은 설정된 위치로 이동되어 설치된다(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
상기에서, 사용자 단말(720)이 업데이트 파일을 결정하고(S830) 업데이트 파일 제공 서버(730)는 사용자 단말(720)이 결정한 업데이트 파일을 전송하는 것(S850)으로 기재되었지만, 사용자 단말(720)이 버전 정보, 시스템 정보 등을 업데이트 파일 제공 서버(730)로 전송하고 업데이트 파일 제공 서버가 이러한 정보에 기초하여 업데이트 파일을 결정하며 결정된 업데이트 파일을 전송하는 것도 가능하다.
In the above, although the
이상에서 전술한 본 발명의 일 실시예에 따른 채널 상태 전송 방법 및 채널 상태 수신 방법은, 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 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.
상기 게임 보조 프로그램 파일 전송부는 상기 사용자 단말의 상기 온라인 서버 접속 패턴에 따라 상기 게임 보조 프로그램 파일의 전송 사이즈를 다르게 하는 것을 특징으로 하는 게임 서버.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.
상기 패치 매니저는 상기 사용자 단말의 시스템 정보에 기초하여 게임 보조 프로그램 파일을 선택하고 실행하는 것을 특징으로 하는 사용자 단말.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.
상기 패치 매니저는 이전에 상기 게임 보조 프로그램 파일을 수신한 현황을 상기 온라인 게임 서버로 전송하는 것을 특징으로 하는 사용자 단말.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.
상기 패치 매니저는 상기 게임 보조 프로그램 파일의 전송이 완료되면 자동으로 게임 보조 프로그램 파일을 실행하거나 상기 사용자 단말의 사용자로부터 승인을 받아 상기 게임 보조 프로그램 파일을 실행하는 것을 특징으로 하는 사용자 단말.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.
상기 게임 보조 프로그램 파일은 상기 게임 프로그램 실행이 시작될 때 또는 상기 게임 프로그램 실행이 종료될 때 수신되는 것을 특징으로 하는 사용자 단말.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.
상기 게임 보조 프로그램 파일의 실행은 상기 게임 프로그램의 종료 후에 수행되는 것을 특징으로 하는 사용자 단말.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.
상기 수신 단계는, 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.
상기 수신 단계는, 업데이트 파일 제공 서버로 업데이트할 업데이트 파일 정보를 전송하는 단계, 및 상기 업데이트 파일 제공 서버로부터 상기 업데이트 파일을 수신하는 단계를 포함하는 것을 특징으로 하는 사용자 단말.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.
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)
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)
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 |
-
2011
- 2011-07-22 KR KR1020110073260A patent/KR20130011836A/en active Application Filing
- 2011-10-27 WO PCT/KR2011/008051 patent/WO2013015489A1/en active Application Filing
-
2012
- 2012-05-08 TW TW101116376A patent/TW201305909A/en unknown
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 |