JP6265337B2 - Program, recording medium, and drawing apparatus determination method - Google Patents

Program, recording medium, and drawing apparatus determination method Download PDF

Info

Publication number
JP6265337B2
JP6265337B2 JP2014115311A JP2014115311A JP6265337B2 JP 6265337 B2 JP6265337 B2 JP 6265337B2 JP 2014115311 A JP2014115311 A JP 2014115311A JP 2014115311 A JP2014115311 A JP 2014115311A JP 6265337 B2 JP6265337 B2 JP 6265337B2
Authority
JP
Japan
Prior art keywords
server
screen
command
client terminal
information
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2014115311A
Other languages
Japanese (ja)
Other versions
JP2015125771A5 (en
JP2015125771A (en
Inventor
満 紙山
満 紙山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Square Enix Co Ltd
Original Assignee
Square Enix Co Ltd
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 Square Enix Co Ltd filed Critical Square Enix Co Ltd
Priority to JP2014115311A priority Critical patent/JP6265337B2/en
Publication of JP2015125771A publication Critical patent/JP2015125771A/en
Publication of JP2015125771A5 publication Critical patent/JP2015125771A5/en
Application granted granted Critical
Publication of JP6265337B2 publication Critical patent/JP6265337B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、プログラム、記録媒体及び描画装置決定方法に関し、特にサーバ側で描画した画面をクライアント端末に提供する技術に関する。 The present invention, program relates record medium and writing apparatus determination method, a technique for providing particular a screen drawn by the server to the client terminal.

近年の通信技術の発展により、インターネット等のネットワーク通信を利用した様々なサービス提供がなされている。ユーザはPCや携帯電話等のクライアント端末をサーバに接続させることで、サーバからこのようなサービスに係るデータをネットワークを介して受信することができる。例えばユーザは、所謂ネットワークゲームのようなエンタテインメント性の高いコンテンツの提供を受けることができる。   With the recent development of communication technology, various services are provided using network communication such as the Internet. By connecting a client terminal such as a PC or a mobile phone to the server, the user can receive data relating to such a service from the server via the network. For example, the user can be provided with highly entertaining content such as a so-called network game.

ネットワークゲームの1つに、MMORPG(Massively Multiplayer Online Role-Playing Game)等の多人数同時参加型のネットワークゲームがある。このような多人数同時参加型のネットワークゲームでは、ユーザは使用するクライアント端末を、ゲームを提供するサーバに接続させることで、該サーバ機器に接続されているクライアント端末を使用するユーザとの対戦プレイや協力プレイを行うことができる。   One of the network games is a multiplayer simultaneous network game such as MMORPG (Massively Multiplayer Online Role-Playing Game). In such a multiplayer network game, the user connects a client terminal to be used to a server that provides the game, so that the user can play against the user who uses the client terminal connected to the server device. And cooperative play.

一般的な多人数参加型のネットワークゲームでは、クライアント端末はサーバとの間でゲームに係る処理に必要なデータの送受信を行い、受信したデータに基づいてゲーム画面を描画して接続された表示装置に表示する。具体的にはクライアント端末からサーバへはクライアント端末においてなされた操作入力の情報等が送信され、サーバにおいて管理される各参加ユーザの状態更新等の処理に使用される。また、サーバからクライアント端末へは、状態更新等の処理により生成された描画キャラクタの位置等のステータスやチャットのテキストデータ等、ゲーム画面の描画に必要なデータが送信される。描画されたゲーム画面が表示されることで、ユーザはネットワークゲームをプレイすることができる。   In a general multiplayer network game, a client terminal transmits / receives data necessary for processing related to the game to / from a server, and a display device connected by drawing a game screen based on the received data To display. Specifically, information of operation input made at the client terminal is transmitted from the client terminal to the server and used for processing such as status update of each participating user managed in the server. In addition, data necessary for drawing the game screen, such as the status such as the position of the drawing character generated by processing such as state update, and chat text data, is transmitted from the server to the client terminal. By displaying the drawn game screen, the user can play the network game.

しかしながら、このようなクライアント端末で描画処理を行うネットワークゲームの中には、クライアント端末が十分な描画性能を有していることを要求するものがある。例えば写実的な3Dグラフィックス等の美麗なグラフィックスで表現されたゲーム画面を提供するゲームの実行には、十分な描画性能が要求される。具体的には、ゲーム画面の描画を行うためにクライアント端末が有する描画チップ等が必要な描画演算を実行するための演算能力を有していること、またそもそも美麗なグラフィックスに使用されるテクスチャ等のリソースデータを展開するためのGPUメモリを有していることが要求される。しかしながら、このような高い描画演算能力や大容量のGPUメモリを有している描画ハードウェアは高価であり、所有しているユーザは当然限られる。故に、ユーザがこのようなネットワークゲームサービスを利用を開始するためのハードルとなり、結果的にサービスの利用者を増加させることが困難になる可能性がある。   However, some network games that perform drawing processing on such a client terminal require that the client terminal have sufficient drawing performance. For example, sufficient rendering performance is required to execute a game that provides a game screen represented by beautiful graphics such as realistic 3D graphics. Specifically, a texture that is used for beautiful graphics in the first place because it has a computing capability to perform drawing operations required by a drawing chip or the like that the client terminal has to draw the game screen. It is required to have a GPU memory for expanding resource data such as. However, drawing hardware having such a high drawing calculation capability and a large-capacity GPU memory is expensive, and the number of owned users is naturally limited. Therefore, it becomes a hurdle for the user to start using such a network game service, and as a result, it may be difficult to increase the number of users of the service.

一方で、通信技術が発展したことによる新たなサービス提供を行う技術として、ゲーム画面の描画をサーバが行い、サーバからクライアント端末に対してゲーム画面を提供する技術が存在する。特許文献1には、サーバにおいて描画されたゲーム画面をストリーミング形式でクライアント端末に送信する、所謂クラウド型のネットワークゲームサービスの技術が開示されている。このようなゲームサービスによれば、ユーザが使用するクライアント端末の描画性能に依らず、美麗なグラフィックスで表現されたゲーム画面を、ユーザに提供することが可能である。即ち、クライアント端末は、ネットワークを介してストリーミング形式で送信されたゲーム画面を受信して表示装置に表示する能力と、クライアント端末においてなされた操作入力の情報をサーバに送信する能力さえ有していれば、専用装置の導入コストをかけることなくゲームサービスの提供を受けることができる。   On the other hand, as a technology for providing a new service due to the development of communication technology, there is a technology in which a server draws a game screen and provides a game screen from the server to a client terminal. Patent Document 1 discloses a so-called cloud-type network game service technique for transmitting a game screen drawn on a server to a client terminal in a streaming format. According to such a game service, it is possible to provide a user with a game screen represented by beautiful graphics regardless of the drawing performance of the client terminal used by the user. In other words, the client terminal has the ability to receive a game screen transmitted in a streaming format via a network and display it on the display device, and even to transmit the information of operation input made at the client terminal to the server. Thus, it is possible to receive a game service without incurring the cost of introducing a dedicated device.

国際公開第2009/138878号明細書International Publication No. 2009/138878 Specification

ところで、特許文献1のようなネットワークゲームサービスでは、同時にサービス利用する複数のクライアント端末に対して同時にゲーム画面の生成及び送信を行うことが考えられる。このため、クライアント端末に送信するゲーム画面を生成するために、複数の描画サーバが設けられる実装が考えられる。即ち、サーバに画面送信要求を行ったクライアント端末の各々に対して、複数の描画サーバのうち、例えば割り当てられている端末数が最も少ない等の1つの描画サーバが割り当てられ、該クライアント端末に送信するゲーム画面の描画を行う。   By the way, in the network game service as in Patent Document 1, it is conceivable to simultaneously generate and transmit a game screen to a plurality of client terminals that use the service at the same time. For this reason, in order to generate a game screen to be transmitted to the client terminal, an implementation in which a plurality of drawing servers are provided is conceivable. That is, for each client terminal that has made a screen transmission request to the server, one drawing server, such as the smallest number of assigned terminals, among the plurality of drawing servers is assigned and transmitted to the client terminal. Draw a game screen to play.

しかしながら、描画されるゲーム画面は、ゲームの種類、描画するゲーム内のシーン、ユーザの設定等によって描画処理に要する演算量が異なる。従って、単に接続する端末数に応じて割り当てを行うような従来の方式では、描画サーバの演算リソースの効率化を何ら考慮するものでないため、例えば演算量の多いゲーム画面を要求するクライアント端末に係る描画処理を多数割り当てられた描画サーバにおいて処理遅延が発生しうる。つまり、これまで描画処理の効率化の観点に基づいてクライアント端末に対する描画サーバの割り当てを行うまではなかった。   However, the amount of computation required for the drawing process varies depending on the type of game, the scene in the game to be drawn, user settings, and the like. Therefore, in the conventional method in which the allocation is simply performed according to the number of terminals to be connected, the efficiency of calculation resources of the drawing server is not taken into consideration at all. For example, it relates to a client terminal that requests a game screen with a large calculation amount. A processing delay may occur in a drawing server to which many drawing processes are assigned. That is, until now, there has been no need to assign a drawing server to a client terminal based on the viewpoint of improving the efficiency of drawing processing.

本発明は、上述の問題点に鑑みてなされたものであり、クライアント端末に送信する画面に係る描画処理の演算量を好適に低減するプログラム、記録媒体及び描画装置決定方法を提供することを目的とする。 The present invention has been made in view of the above problems, to provide Help program, a record medium and writing apparatus determines how to suitably reduce the amount of computation of the drawing processing according to the screen to be transmitted to the client terminal For the purpose.

前述の目的を達成するために、本発明の一態様に係るプログラムは、コンピュータに、描画する画面の描画命令を示す命令情報であって、画面の描画に必要な描画リソースを示す命令情報を取得する処理と、複数の描画装置の各々から、該描画装置において展開されている描画リソースを示す展開情報を受信する処理と、命令情報と展開情報とに基づき、複数の描画装置のうちから、該命令情報に係る画面を描画させる描画装置を決定する処理と、を実行させるIn order to achieve the above object, a program according to one embodiment of the present invention obtains command information indicating a drawing command for a screen to be drawn, which indicates a drawing resource necessary for drawing the screen, on a computer. Based on the processing to receive, the development information indicating the drawing resources developed in the drawing device from each of the drawing devices, and the command information and the development information. And a process for determining a drawing device for drawing a screen related to the command information .

前述の目的を達成するために、本発明の態様に係る描画装置決定方法は、描画する画面の描画命令を示す命令情報であって、画面の描画に必要な描画リソースを示す命令情報を取得し、複数の描画装置の各々から、該描画装置において展開されている描画リソースを示す展開情報を受信し、命令情報と展開情報とに基づき、複数の描画装置のうちから、該命令情報に係る画面を描画させる描画装置を決定するIn order to achieve the above object, a drawing apparatus determination method according to an aspect of the present invention obtains command information indicating a drawing command for a screen to be drawn and indicating drawing resources necessary for drawing the screen. Then, the expansion information indicating the drawing resources developed in the drawing device is received from each of the drawing devices, and the command information is related to the command information from the drawing devices based on the command information and the development information. A drawing device for drawing the screen is determined .

このような構成により本発明によれば、クライアント端末に送信する画面に係る描画処理の演算量を好適に低減することが可能となる。   With such a configuration, according to the present invention, it is possible to suitably reduce the calculation amount of the drawing process related to the screen transmitted to the client terminal.

本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。   Other features and advantages of the present invention will become apparent from the following description with reference to the accompanying drawings. In the accompanying drawings, the same or similar components are denoted by the same reference numerals.

添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。   The accompanying drawings are included in the specification, constitute a part thereof, show an embodiment of the present invention, and are used to explain the principle of the present invention together with the description.

本発明の実施形態1に係る描画システムのシステム構成を示した図The figure which showed the system configuration | structure of the drawing system which concerns on Embodiment 1 of this invention. 本発明の実施形態1に係る命令サーバ100の機能構成を示した図The figure which showed the function structure of the instruction server 100 which concerns on Embodiment 1 of this invention. 本発明の実施形態に係る描画サーバ300の機能構成を示した図The figure which showed the function structure of the drawing server 300 which concerns on embodiment of this invention. 本発明の実施形態1に係る描画システムにおいて実行される画面提供処理を例示したフローチャートThe flowchart which illustrated the screen provision process performed in the drawing system which concerns on Embodiment 1 of this invention. 本発明の実施形態に係る描画命令に係る情報を説明するための図The figure for demonstrating the information which concerns on the drawing command which concerns on embodiment of this invention 本発明の実施形態2に係る描画システムのシステム構成を示した図The figure which showed the system configuration | structure of the drawing system which concerns on Embodiment 2 of this invention. 本発明の実施形態2に係る命令サーバ100の機能構成を示した図The figure which showed the function structure of the instruction server 100 which concerns on Embodiment 2 of this invention. 本発明の実施形態2に係る描画システムにおいて実行される画面提供処理を例示したフローチャートThe flowchart which illustrated the screen provision process performed in the drawing system which concerns on Embodiment 2 of this invention 本発明の実施形態3に係る描画システムのシステム構成を示した図The figure which showed the system configuration | structure of the drawing system which concerns on Embodiment 3 of this invention. 本発明の実施形態3に係る命令サーバ100の機能構成を示した図The figure which showed the function structure of the instruction server 100 which concerns on Embodiment 3 of this invention. 本発明の実施形態3に係る中継装置200の機能構成を示した図The figure which showed the function structure of the relay apparatus 200 which concerns on Embodiment 3 of this invention. 本発明の実施形態3に係る描画システムにおいて実行される画面提供処理を例示したフローチャートThe flowchart which illustrated the screen provision process performed in the drawing system which concerns on Embodiment 3 of this invention.

[実施形態1]
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。以下に説明する一実施形態は、描画システムの一例としての、ネットワークを介してクライアント端末から受信した画面要求に応じてゲーム画面を描画し、得られたゲーム画面をネットワークを介してストリーミング形式でクライアント端末に送信するゲームシステムに、本発明を適用した例を説明する。しかし、本発明は、ゲームに限らず、クライアント端末からの要求に従って画面の描画を行い、得られた画面をクライアント端末に送信することが可能な任意の機器及びシステムに適用可能である。
[Embodiment 1]
Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the drawings. An embodiment described below is an example of a drawing system, which draws a game screen in response to a screen request received from a client terminal via a network and displays the obtained game screen in a streaming format via the network. An example in which the present invention is applied to a game system transmitted to a terminal will be described. However, the present invention is not limited to a game, and can be applied to any device and system that can draw a screen according to a request from a client terminal and transmit the obtained screen to the client terminal.

《描画システムの構成》
図1は、本発明の実施形態1に係る描画システムのシステム構成を示した図である。本実施形態の描画システムでは、各クライアント端末400から受信した要求に応じてゲーム画面を描画し、該クライアント端末400に送信する。
<Drawing system configuration>
FIG. 1 is a diagram showing a system configuration of a drawing system according to Embodiment 1 of the present invention. In the drawing system of this embodiment, a game screen is drawn in response to a request received from each client terminal 400 and transmitted to the client terminal 400.

まず、ユーザ等の操作により1つのクライアント端末400からネットワーク500を介してゲーム画面の提供要求が命令サーバ100になされると、命令サーバ100は、提供するゲーム画面に係る演算処理を実行し、ゲーム画面の描画命令に係る情報を生成する。   First, when a game screen provision request is made from one client terminal 400 to the instruction server 100 through the network 500 by an operation of a user or the like, the instruction server 100 executes a calculation process related to the game screen to be provided, Information related to a screen drawing command is generated.

また、命令サーバ100には複数の描画サーバ300が接続されており、命令サーバ100はゲーム画面の提供要求を受信した1つのクライアント端末400に対して、このうちの1つの描画サーバ300をゲーム画面の描画処理を行うサーバに割り当てる。命令サーバ100と描画サーバ300とは、命令サーバ100とクライアント端末400間と同様にネットワーク500を介して接続してもよいし、命令サーバ100と描画サーバ300とは所定のローカルネットワーク内で接続するものであってもよい。   A plurality of drawing servers 300 are connected to the instruction server 100, and the instruction server 100 sends one drawing server 300 to the game screen to one client terminal 400 that has received the game screen provision request. Assign to the server that performs the drawing process. The instruction server 100 and the drawing server 300 may be connected via the network 500 as in the case of the instruction server 100 and the client terminal 400, or the instruction server 100 and the drawing server 300 are connected within a predetermined local network. It may be a thing.

描画サーバ300の詳細な処理については後述するが、描画サーバ300の各々には、ゲーム画面の生成に必要な描画リソース(モデルデータ、テクスチャデータ、画面効果等を実現する描画プログラム等)が格納されており、描画サーバ300では該リソースを展開して使用しながらゲーム画面の描画が行われる。   Although detailed processing of the drawing server 300 will be described later, each drawing server 300 stores drawing resources (model data, texture data, drawing programs that realize screen effects, etc.) necessary for generating the game screen. The drawing server 300 draws the game screen while expanding and using the resource.

以下、このようなシステム構成を有する本実施形態のゲームシステムの各装置について、ブロック図を示してその機能構成を説明する。以下の説明では複数の装置で使用される同様のハードウェアについて、装置間でそれらのハードウェアを区別するために命令サーバ100、描画サーバ300のそれぞれに対して「命令」、「描画」の接頭文字を付して説明する。しかしながら、これらの接頭文字は単に装置間でハードウェアの識別のために付すものであり、本実施形態の記載においては該ハードウェアの機能や動作を特定するために使用されるものではない。   Hereinafter, the functional configuration of each device of the game system according to the present embodiment having such a system configuration will be described with reference to a block diagram. In the following description, with respect to similar hardware used in a plurality of apparatuses, prefixes of “instruction” and “drawing” are given to the instruction server 100 and the drawing server 300 in order to distinguish the hardware among the apparatuses. It explains with a letter. However, these prefix characters are merely used for identifying hardware between devices, and are not used to specify the functions and operations of the hardware in the description of this embodiment.

〈命令サーバ100の構成〉
図2は、本実施形態の描画システムに係る命令サーバ100の機能構成を示したブロック図である。
<Configuration of Command Server 100>
FIG. 2 is a block diagram illustrating a functional configuration of the instruction server 100 according to the drawing system of the present embodiment.

命令CPU101は、命令サーバ100が有する各ブロックの動作を制御する。具体的には命令CPU101は、命令ROM102に格納された各ブロックの動作プログラムやアプリケーション等のプログラムを読み出し、命令RAM103に展開して実行することにより各ブロックの動作を制御する。また命令CPU101は、クライアント端末400に対して画面を提供するゲームに係る必要な演算処理を実行し、ゲーム画面の描画を指示する描画命令に係る情報を生成する。   The instruction CPU 101 controls the operation of each block included in the instruction server 100. Specifically, the instruction CPU 101 controls the operation of each block by reading the operation program of each block and the program such as an application stored in the instruction ROM 102, developing the program in the instruction RAM 103, and executing the program. Further, the instruction CPU 101 executes necessary arithmetic processing related to a game that provides a screen to the client terminal 400, and generates information related to a drawing instruction that instructs to draw a game screen.

命令ROM102は、例えば不揮発性メモリ等の恒久的にデータを記録する記録装置である。命令ROM102は、命令サーバ100が有する各ブロックの動作プログラムだけでなく、各ブロックの動作において使用されるパラメータ等の情報を格納する。また命令RAM103は、揮発性メモリである。命令RAM103は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データの格納領域として、あるいは各ブロックの処理を行うための作業領域としても用いられる。   The instruction ROM 102 is a recording device that permanently records data, such as a nonvolatile memory. The instruction ROM 102 stores not only the operation program for each block of the instruction server 100 but also information such as parameters used in the operation of each block. The instruction RAM 103 is a volatile memory. The instruction RAM 103 is used not only as a development area for the operation program of each block, but also as a storage area for intermediate data output in the operation of each block, or as a work area for processing each block.

命令通信部104は、命令サーバ100が有する外部装置との通信インタフェースである。本実施形態では命令通信部104は、クライアント端末400から画面送信要求やクライアント端末400においてなされた操作入力の情報を受信する。また命令通信部104は、命令サーバ100に接続されている描画サーバ300の各々から、該描画サーバ300のGPUメモリ306に展開されている描画リソースの情報を受信する。また命令通信部104は、クライアント端末400に対してゲーム画面の生成及び送信を行わせる描画サーバ300に対して、生成した描画命令に係る情報と、ゲーム画面の送信先であるクライアント端末400を特定するための情報(送信先情報)とを送信する。   The command communication unit 104 is a communication interface with an external device included in the command server 100. In the present embodiment, the command communication unit 104 receives a screen transmission request from the client terminal 400 and information on an operation input made at the client terminal 400. In addition, the command communication unit 104 receives information on the drawing resources developed in the GPU memory 306 of the drawing server 300 from each of the drawing servers 300 connected to the command server 100. In addition, the command communication unit 104 identifies information related to the generated drawing command and the client terminal 400 that is the transmission destination of the game screen to the drawing server 300 that causes the client terminal 400 to generate and transmit the game screen. Information (transmission destination information) for transmission.

命令展開把握部105は、接続されている描画サーバ300の各々から受信したGPUメモリ306に展開されている描画リソースの情報を、該描画サーバ300の識別情報に関連付けて管理する。本実施形態では命令CPU101は、描画命令により描画されるゲーム画面について、使用される描画リソースが既にGPUメモリ306に展開されている描画サーバ300に対してゲーム画面の描画を割り当てる。これは、GPUメモリ306に展開されている描画リソースを再利用することで、描画処理の効率化が図れることに基づく。   The instruction development grasping unit 105 manages the drawing resource information developed in the GPU memory 306 received from each of the connected drawing servers 300 in association with the identification information of the drawing server 300. In the present embodiment, the instruction CPU 101 assigns drawing of the game screen to the drawing server 300 in which the drawing resources to be used are already developed in the GPU memory 306 for the game screen drawn by the drawing command. This is based on the fact that the drawing process can be made more efficient by reusing drawing resources developed in the GPU memory 306.

ゲーム画面の描画に使用する描画リソースはHDDやゲームソフトROM等の一般的な記録装置に記録されているが、このような記録装置は頻繁なアクセスに不向きであり、描画処理において都度記録装置からデータ読み出しを行うことは非効率的である。そこで、描画リソースは通常、該記録装置から読み出されてGPUメモリ306等の展開領域に展開され、高速なデータアクセスが可能なように保持される。GPUメモリ306は後述のGPU305からの高速アクセスが可能なように構成されるため、展開された描画リソースが描画処理に使用されることで、GPU305による描画処理を効率化することができる。一般に、ゲーム進行において同一シーンをプレイしている間は、連続しているフレームにおいてゲーム画面に含まれる描画オブジェクトの分布は変化が少ないといえる。即ち、例えば前のフレームに係る描画処理において既にGPUメモリ306に描画リソースが展開されていたのであれば、次のフレームに係る描画処理において、該描画リソースを再利用できる可能性が高い。また、特に本実施形態の描画システムのように複数のクライアント端末400が同一のゲームコンテンツをプレイできるようなサービス提供が行われる場合、複数のクライアント端末400に対して同一のシーンに係るゲーム画面の送信がなされる可能性がある。このような場合にも、GPUメモリ306に一度展開された描画リソースは再利用できる可能性が高い。つまり、同一の描画リソースを使用するようなゲーム画面の描画は、同一の描画サーバ300に割り当てることで効率化を図ることができる。   The drawing resources used for drawing the game screen are recorded in a general recording device such as an HDD or a game software ROM. However, such a recording device is not suitable for frequent access, and the drawing processing is performed each time in the drawing process. Reading data is inefficient. Therefore, the drawing resource is usually read from the recording device and developed in a development area such as the GPU memory 306 and held so that high-speed data access is possible. Since the GPU memory 306 is configured to allow high-speed access from the GPU 305, which will be described later, by using the developed drawing resources for the drawing process, the drawing process by the GPU 305 can be made efficient. In general, it can be said that the distribution of the drawing objects included in the game screen in the continuous frames is little changed while the same scene is played in the game progress. That is, for example, if a drawing resource has already been developed in the GPU memory 306 in the drawing process related to the previous frame, it is highly possible that the drawing resource can be reused in the drawing process related to the next frame. In particular, when a service is provided such that a plurality of client terminals 400 can play the same game content as in the drawing system of the present embodiment, a game screen related to the same scene is displayed on the plurality of client terminals 400. There is a possibility of transmission. Even in such a case, there is a high possibility that the drawing resources once developed in the GPU memory 306 can be reused. That is, it is possible to improve efficiency by assigning the drawing of the game screen using the same drawing resource to the same drawing server 300.

具体的には命令展開把握部105は、管理している情報に基づいて、要求された描画リソースがGPUメモリ306に展開されている描画サーバ300を特定した情報を出力する。そして命令CPU101は、該出力された情報に基づいて描画サーバ300の決定を行うことで、描画システムにおけるゲーム画面描画の効率化を図ることができる。   Specifically, the instruction development grasping unit 105 outputs information specifying the drawing server 300 in which the requested drawing resource is developed in the GPU memory 306 based on the managed information. The instruction CPU 101 can determine the drawing server 300 based on the output information, thereby improving the efficiency of drawing the game screen in the drawing system.

本実施形態では描画サーバ300から命令サーバ100に対してGPUメモリ306に展開されている描画リソースの情報が送信され、命令展開把握部105が該情報に基づいて描画命令に対応する描画リソースが既に展開されている描画サーバ300を特定するものとして説明するが、本発明の実施はこれに限られるものではない。例えば接続されている複数の描画サーバ300に対して、特にデータ量の多いテクスチャデータ等、ゲーム画面の生成に使用する描画リソースの各々についてGPUメモリ306への展開を行う描画サーバ300が予め定められている場合、展開されている描画リソースの情報が命令サーバ100に送信される必要はない。この場合、命令CPU101が、予め定められた描画サーバ300の情報に基づいて描画命令に係る情報を送信する描画サーバ300を決定してよい。例えば、命令CPU101は描画命令に係る情報から生成するゲーム画面に係るシーンの情報を取得し、該シーンに対応する描画リソースの展開が予め割り当てられている描画サーバ300に、ゲーム画面の描画を割り当てればよい。   In the present embodiment, the drawing server 300 transmits the drawing resource information developed in the GPU memory 306 to the instruction server 100, and the instruction development grasping unit 105 already has a drawing resource corresponding to the drawing command based on the information. Although the description will be made assuming that the drawing server 300 being deployed is specified, the implementation of the present invention is not limited to this. For example, with respect to a plurality of connected drawing servers 300, a drawing server 300 that performs development on the GPU memory 306 for each drawing resource used for generating a game screen, such as texture data having a large amount of data, is determined in advance. In this case, it is not necessary to transmit the information about the drawn drawing resource to the instruction server 100. In this case, the command CPU 101 may determine the drawing server 300 that transmits information related to the drawing command based on information of the drawing server 300 determined in advance. For example, the instruction CPU 101 acquires scene information related to the game screen generated from information related to the drawing command, and assigns drawing of the game screen to the drawing server 300 to which development of drawing resources corresponding to the scene is assigned in advance. Just do it.

〈描画サーバ300の構成〉
図3は、本実施形態の描画システムに係る描画サーバ300の機能構成を示したブロック図である。
<Configuration of Drawing Server 300>
FIG. 3 is a block diagram illustrating a functional configuration of the drawing server 300 according to the drawing system of the present embodiment.

描画CPU301は、描画サーバ300が有する各ブロックの動作を制御する。具体的には描画CPU301は、描画ROM302に格納された各ブロックの動作プログラムを読み出し、描画RAM303に展開して実行することにより各ブロックの動作を制御する。   The drawing CPU 301 controls the operation of each block included in the drawing server 300. Specifically, the drawing CPU 301 controls the operation of each block by reading the operation program for each block stored in the drawing ROM 302, developing it in the drawing RAM 303, and executing it.

描画ROM302は、例えば不揮発性メモリ等の恒久的にデータを記録する記録装置である。描画ROM302は、描画サーバ300が有する各ブロックの動作プログラムだけでなく、各ブロックの動作において必要となるパラメータ等の情報を格納する。また描画RAM303は、揮発性メモリである。描画RAM303は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等の格納領域として、あるいは各ブロックの処理を行うための作業領域としても用いられる。   The drawing ROM 302 is a recording device that permanently records data, such as a nonvolatile memory. The drawing ROM 302 stores not only the operation program for each block of the drawing server 300 but also information such as parameters necessary for the operation of each block. The drawing RAM 303 is a volatile memory. The drawing RAM 303 is used not only as a development area for the operation program of each block, but also as a storage area for intermediate data output in the operation of each block, or as a work area for processing each block.

描画通信部304は、描画サーバ300が有する外部装置との通信インタフェースである。本実施形態では描画通信部304は、命令サーバ100から描画命令に係る情報や送信先情報を受信する。また描画通信部304は、送信先情報により特定されるクライアント端末400に対して、描画命令に係る情報に基づいて描画されたゲーム画面をストリーミング形式で送信する。   The drawing communication unit 304 is a communication interface with an external device included in the drawing server 300. In the present embodiment, the drawing communication unit 304 receives information related to a drawing command and transmission destination information from the command server 100. The drawing communication unit 304 transmits the game screen drawn based on the information related to the drawing command to the client terminal 400 specified by the transmission destination information in a streaming format.

GPU305は、受信した描画命令に係る情報により生成された描画命令に従ってゲーム画面の描画を行う。具体的には描画CPU301は、描画命令に係る情報からゲーム画面の描画に係る描画命令を生成し、GPU305に伝送する。また描画CPU301は、描画命令に係る情報に含まれるゲーム画面の生成に必要な描画リソースの情報を参照し、GPUメモリ306にまだ展開されていない描画リソースが含まれる場合は、該リソースをリソースDB307から読み出し、GPUメモリ306に展開する。そしてGPU305は、伝送された描画命令に従い、GPUメモリ306に展開されたリソースを使用してゲーム画面の描画を行う。本実施形態のGPU305は、得られたゲーム画面をストリーミング形式に対応する所定の符号化形式で符号化し、動画データを生成して出力する。   The GPU 305 draws the game screen according to the drawing command generated based on the received information related to the drawing command. Specifically, the drawing CPU 301 generates a drawing command related to drawing of the game screen from information related to the drawing command, and transmits the drawing command to the GPU 305. Further, the drawing CPU 301 refers to drawing resource information necessary for generating the game screen included in the information related to the drawing command, and when the GPU memory 306 includes drawing resources that are not yet developed, the drawing CPU 301 stores the resources in the resource DB 307. Are read out from the memory and expanded in the GPU memory 306. The GPU 305 draws the game screen using the resources developed in the GPU memory 306 according to the transmitted drawing command. The GPU 305 of the present embodiment encodes the obtained game screen in a predetermined encoding format corresponding to the streaming format, and generates and outputs moving image data.

GPUメモリ306は、例えばDRAM等の描画CPU301及びGPU305にアクセス可能に設けられた、描画処理において使用される作業領域である。またリソースDB307は、例えばHDD等の記録装置であり、描画リソースのデータが格納されている。   The GPU memory 306 is a work area used in the drawing process provided so as to be accessible to the drawing CPU 301 and the GPU 305 such as a DRAM. The resource DB 307 is a recording device such as an HDD, and stores drawing resource data.

《画面提供処理》
このような構成をもつ本実施形態の描画システムの画面提供処理について、図4のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、命令サーバ100の命令CPU101、描画サーバ300の描画CPU301の各々が、例えばそれぞれのROMに記憶されている対応する処理プログラムを読み出し、RAMに展開して実行することにより実現することができる。本画面提供処理は、例えば命令サーバ100において任意のクライアント端末400(対象クライアント端末)からのゲームコンテンツの提供要求等の画面送信要求がなされた際に開始され、ゲーム画面のフレーム更新に応じて繰り返し実行されるものとして説明する。
《Screen provision processing》
A specific process of the screen providing process of the drawing system of the present embodiment having such a configuration will be described with reference to the flowchart of FIG. The processing corresponding to the flowchart is performed by each of the instruction CPU 101 of the instruction server 100 and the drawing CPU 301 of the drawing server 300 reading, for example, a corresponding processing program stored in the respective ROM, developing it in the RAM, and executing it. Can be realized. This screen providing process is started when a screen transmission request such as a request for providing game content from an arbitrary client terminal 400 (target client terminal) is made in the instruction server 100, for example, and is repeated according to a frame update of the game screen. It will be described as being executed.

S401で、命令CPU101は、対象クライアント端末において操作入力がなされたか否かを判断する。具体的には命令CPU101は、命令通信部104が対象クライアント端末から操作入力に係る情報を受信したか否かにより本ステップの判断を行う。命令CPU101は、操作入力がなされたと判断した場合は処理をS402に移し、なされていないと判断した場合は処理をS403に移す。   In step S401, the instruction CPU 101 determines whether an operation input has been made on the target client terminal. Specifically, the command CPU 101 determines this step based on whether or not the command communication unit 104 has received information related to an operation input from the target client terminal. If the instruction CPU 101 determines that an operation input has been made, the process advances to step S402. If the instruction CPU 101 determines that an operation input has not been made, the instruction CPU 101 advances the process to step S403.

S402で、命令CPU101は、対象クライアント端末から受信した操作入力に係る情報に基づいて、提供するゲームについて管理するパラメータの情報を更新する処理を行う。   In step S <b> 402, the instruction CPU 101 performs a process of updating parameter information managed for a game to be provided based on information related to an operation input received from the target client terminal.

S403で、命令CPU101は、現在のフレームのゲーム画面の生成に必要な演算処理等を実行する。本ステップにおいて行われる演算処理は、例えば動的オブジェクトの状態変更や描画命令に必要となるパラメータを算出する処理を含む。そして演算処理の実行後、命令CPU101は、演算結果に基づいて現在のフレームのゲーム画面の描画命令の生成に必要となるパラメータ(描画命令に係る情報)を生成する。   In step S <b> 403, the instruction CPU 101 executes arithmetic processing and the like necessary for generating a game screen for the current frame. The arithmetic processing performed in this step includes, for example, processing for calculating parameters necessary for dynamic object state change and drawing commands. After execution of the arithmetic processing, the instruction CPU 101 generates parameters (information related to the drawing instruction) necessary for generating the drawing instruction for the game screen of the current frame based on the calculation result.

本実施形態の命令CPU101が生成する描画命令に係る情報は、例えば図5に示されるように命令の種類を特定する命令ID、命令の対象となるオブジェクトを指定するオブジェクトID、命令によって変更されるパラメータ等の命令の実行において使用されるパラメータを示すその他の情報等で構成される。これは、描画命令をそのままの形で送出するよりもデータ量を削減することで伝送遅延を低減することを目的とするものであり、本ステップにおいて命令CPU101は、描画命令をより簡略化した形式のデータで構成してデータ量を削減する。描画命令に係る情報は、予め定められたルールに基づいてデータ圧縮がなされた情報であり、本実施形態では描画サーバ300において該情報から描画命令を構築することが可能である。   The information related to the drawing command generated by the command CPU 101 of the present embodiment is changed by the command ID that specifies the type of command, the object ID that specifies the object to be commanded, and the command, for example, as shown in FIG. It consists of other information indicating parameters used in the execution of instructions such as parameters. The purpose of this is to reduce the transmission delay by reducing the amount of data rather than sending the drawing command as it is. In this step, the command CPU 101 is a simplified version of the drawing command. To reduce the amount of data. The information related to the drawing command is information that has been subjected to data compression based on a predetermined rule. In this embodiment, the drawing server 300 can construct a drawing command from the information.

しかしながら、本発明の実施において描画サーバ300に送信される情報は、これに限られるものではない。即ち、本実施形態では描画サーバ300において描画命令を構成可能な情報として描画命令に係る情報を送信するものとして説明するが、描画命令と描画命令に係る情報とは等価な情報であり、送信される情報は描画命令そのものであってもよい。しかし、伝送遅延の低減という側面で考えれば、よりデータ量の少ない情報である描画命令に係る情報を送信することが好ましいことは言うまでもない。   However, the information transmitted to the drawing server 300 in the embodiment of the present invention is not limited to this. That is, in this embodiment, the drawing server 300 is described as transmitting information related to a drawing command as information that can configure a drawing command. However, the drawing command and the information related to the drawing command are equivalent information and are transmitted. The information may be the drawing command itself. However, from the viewpoint of reducing transmission delay, it is needless to say that it is preferable to transmit information related to a drawing command, which is information with a smaller amount of data.

S404で、命令CPU101は、ゲーム画面の描画を行わせる描画サーバ300を決定する。具体的には命令CPU101は、描画命令に係る情報により示される描画命令に従って画面描画に係る処理を行う際に必要となる描画リソースを特定する。そして命令CPU101は、接続されている描画サーバ300のうちから、特定した描画リソースを展開領域に展開している1つの描画サーバ300の情報を命令展開把握部105から取得し、描画を行わせる描画サーバ300として決定する。あるいは命令CPU101は、特定した描画リソースを展開領域に展開している描画サーバ300が存在しない場合は、接続されている描画サーバ300のうちから、例えばデータ量の多い背景用テクスチャ等、所定の種類の描画リソースがまだ展開されていない描画サーバ300に決定する。このようにすることで、接続されている描画サーバ300の各々のGPUメモリ306には、各々異なる描画リソースが展開されるように制御することができる。   In step S <b> 404, the instruction CPU 101 determines a drawing server 300 for drawing a game screen. Specifically, the command CPU 101 specifies a drawing resource that is required when performing processing related to screen drawing according to a drawing command indicated by information related to the drawing command. Then, the instruction CPU 101 obtains, from the instruction development grasping unit 105, information on one drawing server 300 that develops the specified drawing resource in the development area from the connected drawing servers 300, and performs drawing for drawing. The server 300 is determined. Alternatively, when there is no drawing server 300 that develops the specified drawing resource in the development area, the instruction CPU 101 selects a predetermined type such as a background texture with a large amount of data from the connected drawing servers 300. The drawing server 300 that has not yet been developed is determined. In this way, it is possible to control so that different drawing resources are developed in each GPU memory 306 of the connected drawing server 300.

画面描画に必要となる描画リソースが展開領域に展開されているか否かの判断は、描画命令に係るゲーム画面の生成に用いられる全ての描画リソースの一致をもって判断する必要はない。例えばシーンを切り替えながら進行するゲームでは、シーンごとにフィールドに配置する描画オブジェクトや背景テクスチャ等の描画リソースが予め定められているため、そのうちのデータ量が閾値以上のリソースの展開有無により判断を行ってもよい。また、背景テクスチャ等は一般にデータ量が多くなる傾向にあるため、背景テクスチャ等の展開有無により判断を行ってもよい。この場合、ゲームに使用される全ての背景テクスチャについて、それぞれ異なる描画サーバ300のGPUメモリ306に展開されるように制御してもよい。   It is not necessary to determine whether or not drawing resources necessary for screen drawing are expanded in the expansion area by matching all the drawing resources used for generating the game screen related to the drawing command. For example, in a game that progresses while switching scenes, drawing resources such as drawing objects and background textures to be placed in the field for each scene are determined in advance. May be. Further, since the background texture or the like generally tends to increase the amount of data, the determination may be made based on whether or not the background texture or the like is expanded. In this case, control may be performed so that all background textures used in the game are developed in the GPU memories 306 of the different drawing servers 300.

S405で、命令CPU101は、描画命令に係る情報及び送信先情報を命令通信部104に伝送し、S404において決定した描画サーバ300に対して送信する。   In step S405, the instruction CPU 101 transmits information related to the drawing instruction and transmission destination information to the instruction communication unit 104, and transmits the information to the drawing server 300 determined in step S404.

S406で、描画CPU301は、関連付けられた命令サーバ100から描画命令に係る情報及び送信先の情報を受信したか否かを判断する。描画CPU301は、描画命令に係る情報及び送信先の情報を受信したと判断した場合は処理をS407に移し、受信していないと判断した場合は本ステップの処理を繰り返す。   In step S <b> 406, the drawing CPU 301 determines whether information related to a drawing command and destination information are received from the associated command server 100. If the drawing CPU 301 determines that the information related to the drawing command and the destination information have been received, the drawing CPU 301 moves the process to S407, and if it determines that the information has not been received, repeats the processing of this step.

S407で、描画CPU301は、受信した描画命令に係る情報から描画命令を再構築し、GPU305に伝送する。また描画CPU301は、必要に応じてリソースDB307から新たな描画リソースを読み出し、GPUメモリ306に展開する。ここで、必要に応じて読み出される新たな描画リソースは、ゲーム画面の描画に必要な描画リソースのうち、まだGPUメモリ306に展開されていない描画リソースを指す。そしてGPU305は、GPUメモリ306に展開されている描画リソースを使用して、描画命令に従ってゲーム画面を描画する。   In step S <b> 407, the drawing CPU 301 reconstructs the drawing command from the received information related to the drawing command and transmits the drawing command to the GPU 305. Further, the drawing CPU 301 reads a new drawing resource from the resource DB 307 as necessary, and develops it in the GPU memory 306. Here, the new drawing resource read out as necessary refers to a drawing resource that has not yet been developed in the GPU memory 306 among drawing resources necessary for drawing the game screen. Then, the GPU 305 uses the drawing resources developed in the GPU memory 306 to draw the game screen according to the drawing command.

S408で、GPU305はゲーム画面を符号化し、描画CPU301は符号化されたゲーム画面のデータを描画通信部304に伝送し、送信先情報に基づいて対象クライアント端末に送信する。   In S408, the GPU 305 encodes the game screen, and the drawing CPU 301 transmits the encoded game screen data to the drawing communication unit 304, and transmits the data to the target client terminal based on the destination information.

このようにすることで、本実施形態の描画システムでは、ゲーム画面の描画に使用する描画リソースを好適に利用して描画システム全体に係る描画処理の演算量を低減することができる。   By doing in this way, in the drawing system of this embodiment, it is possible to reduce the amount of calculation of drawing processing related to the entire drawing system by suitably using drawing resources used for drawing the game screen.

本実施形態では描画サーバ300を単一のサーバとして構成するものとして説明したが、本発明の実施はこれに限られるものではない。例えば単一のサーバとして構成するのではなく、それぞれ独立した展開領域が割り当てられた1つの描画ユニット(例えばGPU)として構成する場合は、命令サーバ100は、複数の描画ユニットを有する描画用の装置を兼ねる機器となって構成されてもよい。この場合、命令CPU101は、描画命令に対応するゲーム画面の生成において使用される描画リソースが展開されている展開領域を特定し、該展開領域が対応付けられた描画ユニットに対して画面の生成を割り当てればよい。   In the present embodiment, the drawing server 300 is described as being configured as a single server, but the implementation of the present invention is not limited to this. For example, when configuring as one drawing unit (for example, GPU) to which independent development areas are assigned, instead of configuring as a single server, the instruction server 100 includes a drawing device having a plurality of drawing units. It may be configured as a device that doubles as. In this case, the instruction CPU 101 specifies a development area where a drawing resource used in generating the game screen corresponding to the drawing instruction is developed, and generates a screen for the drawing unit associated with the development area. Assign it.

以上説明したように、本実施形態の描画システムは、クライアント端末に送信する画面に係る描画処理の演算量を好適に低減することができる。具体的には描画システムは、クライアント端末から受信した情報に基づいて画面の描画命令に係る情報を送出する命令サーバと、該命令サーバから受信した描画命令に係る情報に従って画面の描画を行い、クライアント端末に送信する描画サーバとを有する。命令サーバは、命令サーバに関連付けられた複数の描画サーバのうち、描画命令に係る情報に従って画面の描画を行う際に必要な描画リソースのうちの少なくとも一部を展開している描画サーバに、描画命令に係る情報及び送信先情報を送出する。そして描画サーバは、必要な描画リソースのうちまだ展開されていない描画リソースを読み出して展開領域に展開して保持し、描画命令に係る情報に基づいて画面の描画を行い、対象クライアント端末に送信する。   As described above, the drawing system of the present embodiment can suitably reduce the amount of calculation of the drawing process related to the screen transmitted to the client terminal. Specifically, the drawing system includes a command server that sends information related to a screen drawing command based on information received from the client terminal, and draws a screen according to the information related to the drawing command received from the command server. And a drawing server for transmission to the terminal. The instruction server draws a drawing server that is developing at least a part of drawing resources necessary for drawing a screen according to the information related to the drawing instruction among a plurality of drawing servers associated with the instruction server. Information related to the command and destination information are transmitted. Then, the drawing server reads out drawing resources that have not yet been developed among necessary drawing resources, develops and holds them in the development area, draws the screen based on the information related to the drawing command, and transmits to the target client terminal .

[実施形態2]
上述した実施形態では、命令サーバ100に接続されている描画サーバ300の各々における描画リソースを有効活用することにより、描画システム全体に係る描画処理の演算量を低減する方法について説明した。具体的には、命令サーバ100に接続されている描画サーバ300のうちから、画面描画に係る処理を行う際に必要となる描画リソースを展開領域に展開している1つの描画サーバ300に描画を行わせるサーバとして決定することで、描画リソースを好適に活用する態様を説明した。本実施形態ではさらに、描画リソースを好適に活用しつつ、サーバとクライアント端末間における伝送遅延を低減する方法について説明する。
[Embodiment 2]
In the above-described embodiment, the method of reducing the amount of calculation of the drawing process related to the entire drawing system by effectively using the drawing resources in each of the drawing servers 300 connected to the instruction server 100 has been described. Specifically, from one drawing server 300 connected to the instruction server 100, drawing is performed on one drawing server 300 that develops drawing resources necessary for performing processing related to screen drawing in the development area. The aspect of suitably utilizing drawing resources by determining the server to perform has been described. In the present embodiment, a method for reducing transmission delay between the server and the client terminal while suitably using drawing resources will be described.

特許文献1のようなネットワークゲームサービスでは、ゲーム画面を送信することになるため、従来のネットワークゲームサービスに比べてサーバとクライアント端末間での通信データ量が多くなり、伝送遅延の影響が生じうる。即ち、描画されたゲーム画面をストリーミング形式で送信する方式は、データ圧縮等の適用がなされるものの、従来のゲーム画面の描画に必要なデータに比べて多量のデータ通信が常時行われることになるため、通信帯域を圧迫しうる。また、サーバとクライアント端末間の伝送路が長い場合、このような通信帯域の圧迫による伝送遅延はより顕著に現れ、ユーザのゲーム体験に支障を生じる可能性がある。   In a network game service such as Patent Document 1, since a game screen is transmitted, the amount of communication data between a server and a client terminal is larger than that in a conventional network game service, which may cause an effect of transmission delay. . In other words, the method of transmitting the drawn game screen in the streaming format, although data compression or the like is applied, a larger amount of data communication is always performed than the data required for drawing the conventional game screen. Therefore, the communication band can be pressed. In addition, when the transmission path between the server and the client terminal is long, the transmission delay due to such compression of the communication band appears more prominently, which may hinder the user's game experience.

特に、ユーザの操作入力に応じてなされた変更がゲーム画面に反映されるまでのレスポンス性能が要求される、所謂リアルタイム性の高いゲームでは、このような伝送遅延はゲーム性を破綻させることにもなりうる。本実施形態では、このような伝送遅延を低減する描画システムについて、以下に図面を参照して詳細に説明する。   In particular, in a so-called real-time game where response performance is required until a change made in response to a user operation input is reflected on the game screen, such a transmission delay may cause the game performance to fail. Can be. In the present embodiment, a drawing system that reduces such transmission delay will be described in detail below with reference to the drawings.

以下に説明する実施形態は、描画システムの一例としての、ネットワークを介してクライアント端末から受信した画面要求に応じてゲーム画面を描画し、得られたゲーム画面をネットワークを介してストリーミング形式でクライアント端末に送信するゲームシステムに、本発明を適用した例を説明する。しかし、本発明は、ゲームに限らず、クライアント端末からの要求に従って画面の描画を行い、得られた画面をクライアント端末に送信することが可能な任意の機器及びシステムに適用可能である。また以下の説明において、上述した実施形態1の描画システムと同様の構成については同一の参照番号を付し、説明を省略する。   In the embodiment described below, as an example of a drawing system, a game screen is drawn in response to a screen request received from a client terminal via a network, and the obtained game screen is streamed via the network in the client terminal An example in which the present invention is applied to a game system to be transmitted to will be described. However, the present invention is not limited to a game, and can be applied to any device and system that can draw a screen according to a request from a client terminal and transmit the obtained screen to the client terminal. In the following description, the same reference numerals are assigned to the same configurations as those of the drawing system of the first embodiment described above, and the description thereof is omitted.

《描画システムの構成》
図6は、本発明の実施形態2に係る描画システムのシステム構成を示した図である。本実施形態の描画システムでは、実施形態1と同様、各クライアント端末400から受信した要求に応じてゲーム画面を描画し、該クライアント端末400に送信する。
<Drawing system configuration>
FIG. 6 is a diagram showing a system configuration of a drawing system according to the second embodiment of the present invention. In the drawing system of this embodiment, as in the first embodiment, a game screen is drawn in response to a request received from each client terminal 400 and transmitted to the client terminal 400.

まず、ユーザ等の操作により1つのクライアント端末400からネットワーク500を介してゲーム画面の提供要求が命令サーバ100になされると、命令サーバ100は、提供するゲーム画面に係る演算処理を実行し、ゲーム画面の描画命令に係る情報を生成する。また命令サーバ100は、ゲーム画面の提供を行うクライアント端末400の存在する地域、即ちアクセス地点の特定を行い、該クライアント端末400に対してゲーム画面の提供を行う描画サーバ300群を決定する。本実施形態では、クライアント端末400の存在する地域に最も近い地域に設置された描画サーバ300群に対して、該クライアント端末400に提供するゲーム画面の描画を割り当てるものとして説明するが、本発明の実施はこれに限られるものではない。即ち、クライアント端末400の位置を具体的に特定し、厳密にこれに最も近い地域に設置された描画サーバ300群に描画処理を割り当てるのではなく、特定した地域に対応付けられた地域に設置された描画サーバ300群に対して描画処理を割り当てるものであってよい。   First, when a game screen provision request is made from one client terminal 400 to the instruction server 100 through the network 500 by an operation of a user or the like, the instruction server 100 executes a calculation process related to the game screen to be provided, Information related to a screen drawing command is generated. Further, the instruction server 100 specifies an area where the client terminal 400 that provides the game screen exists, that is, an access point, and determines a drawing server 300 group that provides the game screen to the client terminal 400. In this embodiment, description will be made assuming that drawing of a game screen provided to the client terminal 400 is assigned to the drawing server 300 group installed in the area closest to the area where the client terminal 400 exists. Implementation is not limited to this. That is, the location of the client terminal 400 is specifically specified, and the drawing processing is not assigned to the drawing server 300 group that is strictly located in the nearest region, but is set in the region associated with the specified region. A drawing process may be assigned to the drawing server 300 group.

描画サーバ300は、所定の地域ごとに複数台設置され、各々の地域で描画サーバ300群を構成する。しかしながら、本発明の実施において各地域に設置される描画サーバ300の数はこれに限られるものでなく、該地域の利用者数等に合わせて適宜決定されるものであってよい。描画サーバ300の各々は、実施形態1同様、ゲーム画面の生成に必要な描画リソース(モデルデータ、テクスチャデータ、画面効果等を実現する描画プログラム等)を有しており、該リソースを展開して使用しながらゲーム画面の描画を行う。   A plurality of drawing servers 300 are installed for each predetermined area, and each area forms a drawing server 300 group. However, in the implementation of the present invention, the number of drawing servers 300 installed in each area is not limited to this, and may be appropriately determined according to the number of users in the area. As in the first embodiment, each of the drawing servers 300 has drawing resources (such as a drawing program that realizes model data, texture data, screen effects, etc.) necessary for generating a game screen. Draw the game screen while using it.

〈命令サーバ100の構成〉
図7は、本実施形態の描画システムに係る命令サーバ100の機能構成を示したブロック図である。
<Configuration of Command Server 100>
FIG. 7 is a block diagram illustrating a functional configuration of the instruction server 100 according to the drawing system of the present embodiment.

本実施形態の命令サーバ100は、実施形態1の構成に加え、さらに地域特定部111を有する。地域特定部111は、例えばクライアント端末400との通信接続の確立に用いた情報、あるいはクライアント端末400から受信した画面送信要求に含まれる送信先アドレスの情報からクライアント端末400の存在する地域を特定する。   The instruction server 100 according to the present embodiment further includes an area specifying unit 111 in addition to the configuration of the first embodiment. The area specifying unit 111 specifies the area where the client terminal 400 exists from, for example, information used for establishing a communication connection with the client terminal 400 or information on a transmission destination address included in a screen transmission request received from the client terminal 400. .

《画面提供処理》
次に、本実施形態の描画システムの画面提供処理について、図8のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、命令サーバ100の命令CPU101、描画サーバ300の描画CPU301の各々が、例えばそれぞれのROMに記憶されている対応する処理プログラムを読み出し、RAMに展開して実行することにより実現することができる。本画面提供処理は、例えば命令サーバ100において任意のクライアント端末400(対象クライアント端末)からのゲームコンテンツの提供要求等の画面送信要求がなされた際に開始され、ゲーム画面のフレーム更新に応じて繰り返し実行されるものとして説明する。また、以下の画面提供処理の説明では、実施形態1と同様の処理を行うステップについては同一の参照番号を付して説明を省略し、本実施形態の画面提供処理に特徴的な処理を行うステップのみの説明に留める。
《Screen provision processing》
Next, specific processing of the screen providing process of the drawing system according to the present embodiment will be described with reference to the flowchart of FIG. The processing corresponding to the flowchart is performed by each of the instruction CPU 101 of the instruction server 100 and the drawing CPU 301 of the drawing server 300 reading, for example, a corresponding processing program stored in the respective ROM, developing it in the RAM, and executing it. Can be realized. This screen providing process is started when a screen transmission request such as a request for providing game content from an arbitrary client terminal 400 (target client terminal) is made in the instruction server 100, for example, and is repeated according to a frame update of the game screen. It will be described as being executed. Further, in the following description of the screen providing process, the steps for performing the same process as in the first embodiment are denoted by the same reference numerals and the description thereof is omitted, and the characteristic process of the screen providing process of the present embodiment is performed. Keep only the steps.

S403において描画命令に係る情報を生成した後、命令CPU101はS801で、ゲーム画面の描画を行わせる描画サーバ300を決定し、処理をS405に移す。具体的には命令CPU101は、描画命令に係る情報により示される描画命令に従って画面描画に係る処理を行う際に必要となる描画リソースを特定する。そして命令CPU101は、地域特定部111により特定された対象クライアント端末の存在する地域の情報に基づいて、対象クライアント端末が存在する地域に対応する描画サーバ300群を特定する。命令CPU101は、該描画サーバ300群のうちから、特定した描画リソースを展開領域に展開している1つの描画サーバ300の情報を命令展開把握部105から取得し、描画を行わせる描画サーバ300として決定する。あるいは命令CPU101は、描画サーバ300群に特定した描画リソースを展開領域に展開している描画サーバ300が存在しない場合は、該描画サーバ300群のうちから、所定の種類の描画リソースがまだ展開されていない描画サーバ300に決定する。   After generating the information related to the drawing command in S403, the command CPU 101 determines the drawing server 300 for drawing the game screen in S801, and moves the process to S405. Specifically, the command CPU 101 specifies a drawing resource that is required when performing processing related to screen drawing according to a drawing command indicated by information related to the drawing command. Then, the instruction CPU 101 specifies the drawing server 300 group corresponding to the area where the target client terminal exists based on the information about the area where the target client terminal exists, which is specified by the area specifying unit 111. The instruction CPU 101 obtains information of one drawing server 300 that develops the specified drawing resource in the development area from the drawing server 300 group as the drawing server 300 that performs drawing by obtaining information from the instruction development grasping unit 105. decide. Alternatively, when there is no drawing server 300 that develops the drawing resources specified in the drawing server 300 group in the development area, the instruction CPU 101 has not yet developed a predetermined type of drawing resource from the drawing server 300 group. The drawing server 300 is not determined.

このようにすることで、本実施形態の描画システムでは、ゲーム画面の描画に使用する描画リソースを好適に利用して描画システム全体に係る描画処理の演算量を低減することができる。また描画システムでは、ゲーム画面の送信に係る伝送路を低減し、画面要求に応じて描画した画面をクライアント端末に提供する際の伝送遅延を効率的に低減することができる。   By doing in this way, in the drawing system of this embodiment, it is possible to reduce the amount of calculation of drawing processing related to the entire drawing system by suitably using drawing resources used for drawing the game screen. Further, the drawing system can reduce the transmission path related to the transmission of the game screen, and can efficiently reduce the transmission delay when the screen drawn according to the screen request is provided to the client terminal.

また上述した伝送遅延の問題は、データ量が多くなりうるゲーム画面を対象クライアント端末に送信する際の伝送路を短くすれば低減することができる。即ち、本発明は一態様において、命令サーバ100から描画サーバ300に対して送信する情報を、描画命令に係る情報とせずに、描画命令そのものとした場合にも同様の効果を奏する。つまり、該効果の実現は、描画命令のデータと描画命令を簡略化したデータのいずれを送信したとしても実現できるものであるため、一態様において描画命令に係る情報とは該2つのデータのいずれを表現するものであってもよい。   Further, the above-described problem of transmission delay can be reduced by shortening the transmission path when transmitting a game screen that can increase the amount of data to the target client terminal. That is, in one aspect, the present invention has the same effect when the information transmitted from the instruction server 100 to the drawing server 300 is not the information related to the drawing command but is the drawing command itself. That is, since the effect can be realized regardless of whether the drawing command data or the simplified drawing command data is transmitted, in one aspect, the information related to the drawing command is any of the two data. May be expressed.

本実施形態では描画サーバ300を単一のサーバとして構成するものとして説明したが、実施形態1同様、本発明の実施はこれに限られるものではない。即ち、本実施形態のように描画サーバ300群の各描画サーバ300を単一のサーバとして構成するのではなく、それぞれ独立した展開領域が割り当てられた1つの描画ユニット(例えばGPU)として構成する場合は、描画サーバ300群ではなく複数の描画ユニットを有する描画サーバが各地域に設けられる構成されてもよい。この場合、各地域の描画サーバは命令サーバ100から描画命令に係る情報を受信すると、該描画命令に対応するゲーム画面の生成において使用される描画リソースが展開されている展開領域を特定し、該展開領域が対応付けられた描画ユニットに対して画面の生成を割り当てればよい。   In the present embodiment, the drawing server 300 is described as being configured as a single server. However, like the first embodiment, the embodiment of the present invention is not limited thereto. That is, when each drawing server 300 of the drawing server 300 group is not configured as a single server as in the present embodiment, but is configured as one drawing unit (for example, GPU) to which independent development areas are assigned. May be configured such that a drawing server having a plurality of drawing units is provided in each region instead of the drawing server 300 group. In this case, when the drawing server in each region receives the information related to the drawing command from the command server 100, the drawing server identifies the development region where the drawing resource used in generating the game screen corresponding to the drawing command is developed, and The generation of the screen may be assigned to the drawing unit associated with the development area.

[変形例]
上述した実施形態2では、クライアント端末で行われた操作に対する画面更新レスポンス性を向上させるために、伝送路の短い描画サーバにゲーム画面の描画を割り当てることで伝送遅延を低減する方法について説明した。しかしながら、伝送遅延を低減する方法はこれに限られるものではない。
[Modification]
In the second embodiment described above, the method of reducing the transmission delay by assigning the drawing of the game screen to the drawing server having a short transmission path in order to improve the screen update response to the operation performed at the client terminal has been described. However, the method for reducing the transmission delay is not limited to this.

例えば、実施形態2の画面提供処理のS801におけるゲーム画面の描画を行わせる描画サーバ300の決定は、対象クライアント端末が存在する地域に対応するとして定められた複数の地域に設置された描画サーバ300群を抽出し、接続している端末総数、平均伝送レート、GPU稼働率、輻輳状況等の動作状況に基づいていずれかの描画サーバ300群を選択し、その中で描画リソースの展開状況に応じて1つの描画サーバ300を決定してもよい。あるいは、描画サーバ300群を動作状況に応じて選択するのではなく、対象クライアント端末が存在する地域に対応する地域に設置された、描画命令に従って画面描画に係る処理を行う際に必要となる描画リソースを展開している描画サーバ300のうちから、動作状況に応じて1つの描画サーバ300を決定するものであってもよい。また、ゲーム画面の描画を行わせる描画サーバ300を、対象クライアント端末が存在する地域に対応するとして設定された地域に設置されているものに限定する必要はなく、単純に動作状況と描画リソースの展開状況のみに基づいて、いずれかの位置に設置された描画サーバ300を決定するものであってもよい。   For example, the determination of the drawing server 300 that performs drawing of the game screen in S801 of the screen providing process according to the second embodiment is performed in the drawing server 300 installed in a plurality of areas determined to correspond to the area where the target client terminal exists. A group is extracted and one of the drawing servers 300 is selected based on the total number of connected terminals, the average transmission rate, the GPU operating rate, the congestion status, etc. One drawing server 300 may be determined. Alternatively, instead of selecting the drawing server 300 group according to the operation status, drawing required when performing processing related to screen drawing according to a drawing command installed in an area corresponding to the area where the target client terminal exists. One drawing server 300 may be determined from the drawing servers 300 that are developing resources according to the operation status. Further, it is not necessary to limit the drawing server 300 for drawing the game screen to those installed in the area set as corresponding to the area where the target client terminal exists, and simply the operation status and the drawing resource The drawing server 300 installed at any position may be determined based only on the development status.

また動作状況の把握は、例えば接続端末数、平均伝送レート、GPU稼働率、輻輳状況、及び伝送路の長さの少なくともいずれかに基づいて、あるいはこれらの組み合わせに基づいて行われるものであってよい。また動作状況を評価するために、これらの項目の少なくともいずれかを評価係数とする評価式が設けられてもよい。また、命令サーバ100に接続されている描画サーバ数が比較的多い状況では、命令CPU101が全ての描画サーバ300について評価値を算出する方式は命令サーバ100における演算リソースを圧迫しうるため、各描画サーバ300から評価値が命令サーバ100に送信される構成であってもよい。   In addition, the operation status is grasped based on, for example, at least one of the number of connected terminals, the average transmission rate, the GPU operation rate, the congestion status, and the length of the transmission path, or a combination thereof. Good. Further, in order to evaluate the operation status, an evaluation formula having at least one of these items as an evaluation coefficient may be provided. Further, in a situation where the number of drawing servers connected to the instruction server 100 is relatively large, the method in which the instruction CPU 101 calculates the evaluation values for all the drawing servers 300 can impose computation resources on the instruction server 100, so The configuration may be such that the evaluation value is transmitted from the server 300 to the instruction server 100.

[実施形態3]
上述した実施形態2では、命令サーバ100が全ての地域の描画サーバ300群、及び各描画サーバ300の展開領域に展開されている描画リソースの情報を把握可能であるものとして説明した。しかしながら、描画システムの規模によっては、各地域の描画サーバ300の全てについて展開されている描画リソースの情報を命令サーバ100において集中管理することは現実的でない可能性がある。即ち、命令サーバ100では、各クライアント端末に提供するフレームのゲーム画面の生成に必要な演算処理に加えて、これらの描画リソースの展開状況を把握することになるため、命令サーバ100に負荷が集中する可能性がある。本実施形態では、このような描画システムにおける負荷分散を行うために、地域ごとに描画サーバ300群の描画サーバ300の各々の描画リソースの展開状況を管理する中継装置を設ける例について説明する。
[Embodiment 3]
In the second embodiment described above, the instruction server 100 has been described as being able to grasp the drawing server 300 groups in all regions and the drawing resource information developed in the development area of each drawing server 300. However, depending on the scale of the drawing system, it may not be practical to centrally manage the drawing resource information developed for all the drawing servers 300 in each region in the instruction server 100. That is, since the instruction server 100 grasps the development status of these drawing resources in addition to the arithmetic processing necessary for generating the game screen of the frame provided to each client terminal, the load is concentrated on the instruction server 100. there's a possibility that. In the present embodiment, an example will be described in which a relay apparatus that manages the development status of each drawing resource of the drawing server 300 in the drawing server 300 group is provided for each region in order to perform load distribution in such a drawing system.

以下、本実施形態の描画システムについて、図面を参照して詳細に説明する。以下に説明する一実施形態は、描画システムの一例としての、ネットワークを介してクライアント端末から受信した画面要求に応じてゲーム画面を描画し、得られたゲーム画面をネットワークを介してストリーミング形式でクライアント端末に送信するゲームシステムに、本発明を適用した例を説明する。しかし、本発明は、ゲームに限らず、クライアント端末からの要求に従って画面の描画を行い、得られた画面をクライアント端末に送信することが可能な任意の機器及びシステムに適用可能である。また以下の説明において、上述した実施形態1及び2の描画システムと同様の構成については同一の参照番号を付し、説明を省略する。   Hereinafter, the drawing system of this embodiment will be described in detail with reference to the drawings. An embodiment described below is an example of a drawing system, which draws a game screen in response to a screen request received from a client terminal via a network and displays the obtained game screen in a streaming format via the network. An example in which the present invention is applied to a game system transmitted to a terminal will be described. However, the present invention is not limited to a game, and can be applied to any device and system that can draw a screen according to a request from a client terminal and transmit the obtained screen to the client terminal. In the following description, the same reference numerals are assigned to the same configurations as those in the drawing systems of the first and second embodiments described above, and description thereof is omitted.

《描画システムの構成》
図9は、本発明の実施形態に係る描画システムのシステム構成を示した図である。本実施形態の描画システムでは、実施形態1及び2と同様、各クライアント端末400から受信した要求に応じてゲーム画面を描画し、該クライアント端末400に送信する。
<Drawing system configuration>
FIG. 9 is a diagram showing a system configuration of the drawing system according to the embodiment of the present invention. In the drawing system of this embodiment, as in the first and second embodiments, a game screen is drawn in response to a request received from each client terminal 400 and transmitted to the client terminal 400.

まず、ユーザ等の操作により1つのクライアント端末400からネットワーク500を介してゲーム画面の提供要求が命令サーバ100になされると、命令サーバ100は、提供するゲーム画面に係る演算処理を実行し、ゲーム画面の描画命令に係る情報を生成する。また命令サーバ100は、ゲーム画面の提供を行うクライアント端末400の存在する地域、即ちアクセス地点の特定を行い、該クライアント端末400に対してゲーム画面の提供を行う描画サーバ300群を決定する。本実施形態では実施形態2と同様に、クライアント端末400の存在する地域に最も近い地域に設置された描画サーバ300群に対して、該クライアント端末400に提供するゲーム画面の描画を割り当てるものと説明するが、本発明の実施はこれに限られるものではない。   First, when a game screen provision request is made from one client terminal 400 to the instruction server 100 through the network 500 by an operation of a user or the like, the instruction server 100 executes a calculation process related to the game screen to be provided, Information related to a screen drawing command is generated. Further, the instruction server 100 specifies an area where the client terminal 400 that provides the game screen exists, that is, an access point, and determines a drawing server 300 group that provides the game screen to the client terminal 400. In the present embodiment, as in the second embodiment, the drawing of the game screen provided to the client terminal 400 is assigned to the drawing server 300 group installed in the area closest to the area where the client terminal 400 exists. However, the implementation of the present invention is not limited to this.

描画サーバ300は、所定の地域ごとに複数台設置され、各々の地域で描画サーバ300群を構成する。描画サーバ300の各々は、実施形態1及び2と同様、ゲーム画面の生成に必要な描画リソース(モデルデータ、テクスチャデータ、画面効果等を実現する描画プログラム等)を有しており、該リソースを展開して使用しながらゲーム画面の描画を行う。また実際にゲーム画面の描画を行う描画サーバ300は、命令サーバ100からの描画命令に係る情報を受信した中継装置200により決定される。   A plurality of drawing servers 300 are installed for each predetermined area, and each area forms a drawing server 300 group. As with the first and second embodiments, each of the drawing servers 300 has drawing resources (model data, texture data, drawing programs that realize screen effects, etc.) necessary for generating the game screen. Draw the game screen while expanding and using it. The drawing server 300 that actually draws the game screen is determined by the relay device 200 that has received information related to the drawing command from the command server 100.

中継装置200は、描画サーバ300群と同様に地域ごとに設けられ、対応する地域の描画サーバ300群に関連付けられる。また中継装置200は、描画サーバ300群のうちの1つのサーバをゲーム画面の生成を行う描画サーバ300として決定し、該サーバに対して描画命令に係る情報を中継してゲーム画面の描画を行わせる。   The relay device 200 is provided for each area, similarly to the drawing server 300 group, and is associated with the corresponding drawing server 300 group in the area. Also, the relay device 200 determines one server of the drawing server 300 group as the drawing server 300 that generates the game screen, and relays information related to the drawing command to the server to draw the game screen. Make it.

図9では、命令サーバ100とクライアント端末400のみがネットワーク500を介して接続され、命令サーバ100と中継装置200、中継装置200と各描画サーバ300、及び描画サーバ300とクライアント端末400はネットワーク500を介して接続するものとして示されていない。これは単に、命令サーバ100から中継装置200、中継装置200から各描画サーバ300、及び描画サーバ300からクライアント端末400の情報の流れを明確にするためにネットワーク500を介さずに表記したことによるものであり、これらの装置間での通信がネットワーク500あるいは何らかのネットワークを介して行われることは容易に理解されよう。   In FIG. 9, only the command server 100 and the client terminal 400 are connected via the network 500, and the command server 100 and the relay device 200, the relay device 200 and each drawing server 300, and the drawing server 300 and the client terminal 400 are connected to the network 500. Not shown as connecting through. This is simply due to the fact that information flow from the instruction server 100 to the relay device 200, from the relay device 200 to each drawing server 300, and from the drawing server 300 to the client terminal 400 is shown without going through the network 500. It will be readily understood that communication between these devices takes place via the network 500 or some network.

以下、このようなシステム構成を有する本実施形態のゲームシステムの各装置について、ブロック図を示してその機能構成を説明する。以下の説明では複数の装置で使用される同様のハードウェアについて、装置間でそれらのハードウェアを区別するために命令サーバ100、中継装置200、描画サーバ300のそれぞれに対して「命令」、「中継」、「描画」の接頭文字を付して説明する。しかしながら、これらの接頭文字は単に装置間でハードウェアの識別のために付すものであり、本実施形態の記載においては該ハードウェアの機能や動作を特定するために使用されるものではない。   Hereinafter, the functional configuration of each device of the game system according to the present embodiment having such a system configuration will be described with reference to a block diagram. In the following description, for the same hardware used in a plurality of apparatuses, in order to distinguish the hardware among the apparatuses, the “command”, “ Explanation is given with prefixes of “relay” and “drawing”. However, these prefix characters are merely used for identifying hardware between devices, and are not used to specify the functions and operations of the hardware in the description of this embodiment.

〈命令サーバ100の構成〉
図10は、本実施形態の描画システムに係る命令サーバ100の機能構成を示したブロック図である。本実施形態の命令サーバ100は、命令展開把握部105が除外された以外は、実施形態2と同様の構成であるため、詳細な説明は省略する。
<Configuration of Command Server 100>
FIG. 10 is a block diagram illustrating a functional configuration of the instruction server 100 according to the drawing system of the present embodiment. The instruction server 100 of the present embodiment has the same configuration as that of the second embodiment except that the instruction expansion grasping unit 105 is excluded, and thus detailed description thereof is omitted.

〈中継装置200の構成〉
図11は、本実施形態の描画システムに係る中継装置200の機能構成を示したブロック図である。
<Configuration of Relay Device 200>
FIG. 11 is a block diagram illustrating a functional configuration of the relay apparatus 200 according to the drawing system of the present embodiment.

中継CPU201は、中継装置200が有する各ブロックの動作を制御する。具体的には中継CPU201は、中継ROM202に格納された各ブロックの動作プログラムを読み出し、中継RAM203に展開して実行することにより各ブロックの動作を制御する。   The relay CPU 201 controls the operation of each block included in the relay device 200. Specifically, the relay CPU 201 controls the operation of each block by reading the operation program for each block stored in the relay ROM 202 and developing it in the relay RAM 203 for execution.

中継ROM202は、例えば不揮発性メモリ等の恒久的にデータを記録する記録装置である。中継ROM202は、中継装置200が有する各ブロックの動作プログラムだけでなく、各ブロックの動作において必要となるパラメータ等の情報を格納する。また中継RAM203は、揮発性メモリである。中継RAM203は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等の格納領域として、あるいは各ブロックの処理を行うための作業領域としても用いられる。   The relay ROM 202 is a recording device that permanently records data, such as a nonvolatile memory. The relay ROM 202 stores not only the operation program for each block of the relay apparatus 200 but also information such as parameters necessary for the operation of each block. The relay RAM 203 is a volatile memory. The relay RAM 203 is used not only as a development area for the operation program of each block, but also as a storage area for intermediate data output in the operation of each block, or as a work area for processing each block.

中継通信部204は、中継装置200が有する外部装置との通信インタフェースである。本実施形態では中継通信部204は、命令サーバ100から描画命令に係る情報や送信先情報を受信し、中継通信部204に関連付けられた描画サーバ300群の各々から、該描画サーバ300のGPUメモリ306に展開されている描画リソースの情報を受信する。また中継通信部204は、ゲーム画面の描画を行わせる描画サーバ300に対して、描画命令に係る情報及び送信先情報を送信する。   The relay communication unit 204 is a communication interface with an external device included in the relay device 200. In the present embodiment, the relay communication unit 204 receives information related to a drawing command and transmission destination information from the command server 100, and the GPU memory of the drawing server 300 from each of the drawing servers 300 associated with the relay communication unit 204. Information on the drawing resources developed in 306 is received. Further, the relay communication unit 204 transmits information related to the drawing command and transmission destination information to the drawing server 300 that draws the game screen.

中継展開把握部205は、関連付けられた描画サーバ300群の各々から受信したGPUメモリ306に展開されている描画リソースの情報を、該描画サーバ300の識別情報に関連付けて管理する。本実施形態では中継CPU201は、描画命令により描画されるゲーム画面に使用される描画リソースが既にGPUメモリ306に展開されている描画サーバ300に対してゲーム画面の描画を割り当てる。これは上述したように、GPUメモリ306に展開されている描画リソースを再利用することで、描画処理の効率化が図れることに基づく。   The relay development grasping unit 205 manages the drawing resource information developed in the GPU memory 306 received from each of the associated drawing servers 300 in association with the drawing server 300 identification information. In this embodiment, the relay CPU 201 assigns drawing of the game screen to the drawing server 300 in which the drawing resources used for the game screen drawn by the drawing command are already developed in the GPU memory 306. As described above, this is based on the fact that the drawing process can be made more efficient by reusing the drawing resources developed in the GPU memory 306.

本実施形態では描画サーバ300から中継装置200に対してGPUメモリ306に展開されている描画リソースの情報が送信され、中継展開把握部205が該情報に基づいて描画命令に対応する描画リソースが既に展開されている描画サーバ300を特定するものとして説明するが、本発明の実施はこれに限られるものではない。例えば描画サーバ300群において、特にデータ量の多いテクスチャデータ等、ゲーム画面の生成に使用する描画リソースの各々についてGPUメモリ306への展開を行う描画サーバ300が予め定められている場合、展開されている描画リソースの情報が中継装置200に送信される必要はない。この場合、中継CPU201が、予め定められた描画サーバ300の情報に基づいて描画命令に係る情報を送信する描画サーバ300を決定してよい。例えば、中継CPU201は描画命令に係る情報から生成するゲーム画面に係るシーンの情報を取得し、該シーンに対応する描画リソースの展開が予め割り当てられている描画サーバ300に、ゲーム画面の描画を割り当てればよい。   In this embodiment, the drawing server 300 transmits drawing resource information developed in the GPU memory 306 to the relay device 200, and the relay development grasping unit 205 has already drawn drawing resources corresponding to the drawing command based on the information. Although the description will be made assuming that the drawing server 300 being deployed is specified, the implementation of the present invention is not limited to this. For example, in the drawing server 300 group, when a drawing server 300 that performs development on the GPU memory 306 for each of the drawing resources used for generating the game screen, such as texture data having a large amount of data, is developed in advance. It is not necessary for the information of the drawing resource that is present to be transmitted to the relay apparatus 200. In this case, the relay CPU 201 may determine the drawing server 300 that transmits information related to the drawing command based on information of the drawing server 300 determined in advance. For example, the relay CPU 201 acquires scene information related to the game screen generated from information related to the drawing command, and assigns drawing of the game screen to the drawing server 300 to which development of drawing resources corresponding to the scene is assigned in advance. Just do it.

《画面提供処理》
このような構成をもつ本実施形態の描画システムの画面提供処理について、図12のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、命令サーバ100の命令CPU101、中継装置200の中継CPU201、描画サーバ300の描画CPU301の各々が、例えばそれぞれのROMに記憶されている対応する処理プログラムを読み出し、RAMに展開して実行することにより実現することができる。本画面提供処理は、例えば命令サーバ100において任意のクライアント端末400(対象クライアント端末)からのゲームコンテンツの提供要求等の画面送信要求がなされた際に開始され、ゲーム画面のフレーム更新に応じて繰り返し実行されるものとして説明する。また、以下の画面提供処理の説明では、実施形態1及び2と同様の処理を行うステップについては同一の参照番号を付して説明を省略し、本実施形態の画面提供処理に特徴的な処理を行うステップのみの説明に留める。
《Screen provision processing》
A specific process of the screen providing process of the drawing system of the present embodiment having such a configuration will be described with reference to the flowchart of FIG. The processing corresponding to the flowchart is as follows. Each of the instruction CPU 101 of the instruction server 100, the relay CPU 201 of the relay device 200, and the drawing CPU 301 of the drawing server 300 reads out the corresponding processing program stored in the respective ROM, for example. It can be realized by expanding and executing. This screen providing process is started when a screen transmission request such as a request for providing game content from an arbitrary client terminal 400 (target client terminal) is made in the instruction server 100, for example, and is repeated according to a frame update of the game screen. It will be described as being executed. Further, in the following description of the screen providing process, the same reference numerals are assigned to the steps for performing the same processes as in the first and second embodiments, and the description thereof is omitted, and the processes characteristic of the screen providing process of the present embodiment are omitted. Only the steps to perform are described.

S403において描画命令に係る情報を生成した後、命令CPU101はS1201で、生成した描画命令に係る情報と、対象クライアント端末にデータを送信するために必要となる送信先情報とを命令通信部104に伝送し、中継装置200に送出させる。本ステップで命令通信部104による情報送出の対象である中継装置200は、地域特定部111により特定された対象クライアント端末の存在する地域の情報に基づいて命令CPU101が決定するものとする。   After generating the information related to the drawing command in S403, the command CPU 101 sends the information related to the generated drawing command and the destination information necessary for transmitting data to the target client terminal to the command communication unit 104 in S1201. The data is transmitted and sent to the relay apparatus 200. In this step, it is assumed that the command CPU 101 determines the relay device 200 that is the target of information transmission by the command communication unit 104 based on the information on the region where the target client terminal specified by the region specifying unit 111 exists.

S1202で、中継CPU201は、命令サーバ100から描画命令に係る情報及び送信先情報を受信したか否かを判断する。中継CPU201は、描画命令に係る情報及び送信先情報を受信したと判断した場合は処理をS1203に移し、受信していないと判断した場合は本ステップの処理を繰り返す。   In step S <b> 1202, the relay CPU 201 determines whether the information related to the drawing command and the destination information are received from the command server 100. The relay CPU 201 moves the process to S1203 when determining that the information related to the drawing command and the destination information are received, and repeats the process of this step when determining that the information is not received.

S1203で、中継CPU201は、ゲーム画面の描画を行わせる描画サーバ300を決定する。具体的には中継CPU201は、描画命令に係る情報から、該情報により示される描画命令に従って画面描画に係る処理を行う際に必要となる描画リソースを特定する。そして中継CPU201は、特定した描画リソースを展開領域に展開している、該中継装置200に関連付けられた描画サーバ300群のうちの1つの描画サーバ300の情報を中継展開把握部205から取得し、描画を行わせる描画サーバ300として決定する。あるいは中継CPU201は、特定した描画リソースを展開領域に展開している描画サーバ300が存在しない場合は、例えばデータ量の多い背景用テクスチャ等、所定の種類の描画リソースがまだ展開されていない描画サーバ300に決定する。このようにすることで、描画サーバ300群のサーバの各々のGPUメモリ306には、各々異なる描画リソースが展開されるように制御することができる。   In step S1203, the relay CPU 201 determines the drawing server 300 that performs drawing of the game screen. Specifically, the relay CPU 201 specifies a drawing resource necessary for performing processing related to screen drawing according to the drawing command indicated by the information from the information related to the drawing command. Then, the relay CPU 201 acquires, from the relay deployment grasping unit 205, information on one drawing server 300 in the drawing server 300 group associated with the relay device 200 that is developing the specified drawing resource in the development area. The drawing server 300 is determined to perform drawing. Alternatively, when there is no drawing server 300 that develops the specified drawing resource in the development area, the relay CPU 201 does not yet develop a predetermined type of drawing resource such as a background texture with a large amount of data. 300 is determined. By doing so, it is possible to control so that different drawing resources are developed in the GPU memory 306 of each of the servers of the drawing server 300 group.

S1204で、中継CPU201は、描画命令に係る情報及び送信先情報を中継通信部204に伝送し、S1203において決定した描画サーバ300に対して送信する。   In step S1204, the relay CPU 201 transmits information related to the drawing command and transmission destination information to the relay communication unit 204, and transmits the information to the drawing server 300 determined in step S1203.

S1205で、描画CPU301は、関連付けられた中継装置200から描画命令に係る情報及び送信先の情報を受信したか否かを判断する。描画CPU301は、描画命令に係る情報及び送信先の情報を受信したと判断した場合は処理をS407に移し、受信していないと判断した場合は本ステップの処理を繰り返す。   In step S <b> 1205, the drawing CPU 301 determines whether information related to a drawing command and destination information are received from the associated relay device 200. If the drawing CPU 301 determines that the information related to the drawing command and the destination information have been received, the drawing CPU 301 moves the process to S407, and if it determines that the information has not been received, repeats the processing of this step.

このようにすることで、本実施形態の描画システムでは、ゲーム画面の描画に使用する描画リソースを好適に利用して描画システム全体に係る描画処理の演算量を低減することができる。また描画システムでは、ゲーム画面の送信に係る伝送路を低減し、画面要求に応じて描画した画面をクライアント端末に提供する際の伝送遅延を効率的に低減することができる。また描画システムにおける描画リソースの展開状況の監視による処理負荷を分散することができる。   By doing in this way, in the drawing system of this embodiment, it is possible to reduce the amount of calculation of drawing processing related to the entire drawing system by suitably using drawing resources used for drawing the game screen. Further, the drawing system can reduce the transmission path related to the transmission of the game screen, and can efficiently reduce the transmission delay when the screen drawn according to the screen request is provided to the client terminal. In addition, it is possible to distribute the processing load by monitoring the development status of the drawing resources in the drawing system.

本実施形態では中継装置200は、命令サーバ100及び描画サーバ300と分離したエンティティとして設けられるものとして説明したが、本発明の実施はこれに限られるものではない。中継装置200は命令サーバ100と一体となって構成され、各地域の描画サーバ300群のうちの特定の描画サーバ300を指定して描画命令に係る情報を送信するものであってもよい。また本実施形態のように描画サーバ300を単一のサーバとして構成するのではなく、それぞれ独立した展開領域が割り当てられた1つの描画ユニット(例えばGPU)として構成する場合は、中継装置200は、複数の描画ユニットを有する描画用の装置と一体となって構成されてもよい。この場合、中継装置200は命令サーバ100から描画命令に係る情報を受信すると、該描画命令に対応するゲーム画面の生成において使用される描画リソースが展開されている展開領域を特定し、該展開領域が対応付けられた描画ユニットに対して画面の生成を割り当てればよい。   In the present embodiment, the relay apparatus 200 has been described as being provided as an entity separated from the instruction server 100 and the drawing server 300, but the implementation of the present invention is not limited to this. The relay apparatus 200 may be configured integrally with the instruction server 100, and may designate a specific drawing server 300 among the drawing servers 300 in each region and transmit information related to the drawing instruction. In addition, when the drawing server 300 is not configured as a single server as in the present embodiment, but is configured as one drawing unit (for example, GPU) to which independent development areas are assigned, the relay device 200 You may comprise integrally with the apparatus for drawing which has a some drawing unit. In this case, when the relay apparatus 200 receives the information related to the drawing command from the command server 100, the relay device 200 identifies the development area where the drawing resources used in generating the game screen corresponding to the drawing command are developed, and the development area The generation of the screen may be assigned to the drawing unit associated with.

また、本実施形態では描画サーバ300において描画命令に係る情報から描画命令の再構築が行われるものとして説明したが、本発明の実施において描画命令の再構築は中継装置200及び描画サーバ300のいずれで行われてもよい。中継装置200において再構築が行われる場合には、命令サーバ100と中継装置200との間における伝送遅延を低減することができる。また描画サーバ300において再構築が行われる場合には、命令サーバ100と中継装置200との間、及び中継装置200と描画サーバ300との間の双方における伝送遅延を低減することができる。つまり、描画命令をデータ圧縮して送信することによる効果は、中継装置200及び描画サーバ300のいずれで描画命令の再構築が行われたとしても実現することができる。   In the present embodiment, the drawing server 300 is described as reconstructing the drawing command from the information related to the drawing command. However, in the embodiment of the present invention, the reconstruction of the drawing command is performed by either the relay device 200 or the drawing server 300. It may be done at. When reconstruction is performed in the relay device 200, a transmission delay between the instruction server 100 and the relay device 200 can be reduced. When reconstruction is performed in the drawing server 300, transmission delays both between the instruction server 100 and the relay device 200 and between the relay device 200 and the drawing server 300 can be reduced. That is, the effect obtained by compressing and transmitting the drawing command can be realized regardless of whether the drawing command is reconstructed by either the relay apparatus 200 or the drawing server 300.

以上説明したように、クライアント端末に送信する画面に係る描画処理の演算量を好適に低減することができる。具体的には描画システムは、クライアント端末から受信した情報に基づいて画面の描画命令に係る情報を送出する命令サーバと、描画命令に係る情報に従って画面の描画を行い、クライアント端末に送信する描画サーバと、命令サーバから受信した描画命令に係る情報を描画サーバに送信する中継装置と、を有する。命令サーバは、対象クライアント端末が存在する地域を特定し、対応する地域に存在する中継装置に、描画命令に係る情報及び送信先情報を送出する。また中継装置は、該中継装置に関連付けられた複数の描画サーバのうち、該描画命令に従って画面の描画を行う際に必要な描画リソースのうちの少なくとも一部を展開している描画サーバに、描画命令に係る情報及び送信先情報を送信する。そして描画サーバは、必要な描画リソースのうちまだ展開されていない描画リソースを読み出して展開領域に展開して保持し、描画命令に係る情報に基づいて画面の描画を行い、対象クライアント端末に送信する。   As described above, it is possible to suitably reduce the calculation amount of the drawing process related to the screen transmitted to the client terminal. Specifically, the drawing system includes a command server that transmits information related to a screen drawing command based on information received from the client terminal, and a drawing server that performs screen drawing according to the information related to the drawing command and transmits the information to the client terminal. And a relay device that transmits information related to the drawing command received from the command server to the drawing server. The command server specifies an area where the target client terminal exists, and sends information related to the drawing command and transmission destination information to a relay apparatus existing in the corresponding area. In addition, the relay device draws the drawing server that has developed at least a part of the drawing resources necessary for drawing the screen according to the drawing command among the plurality of drawing servers associated with the relay device. Information related to the command and destination information are transmitted. Then, the drawing server reads out drawing resources that have not yet been developed among necessary drawing resources, develops and holds them in the development area, draws the screen based on the information related to the drawing command, and transmits to the target client terminal .

[その他の実施形態]
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。また本発明に係る描画システムは、1以上のコンピュータを描画システムの各装置として機能させるプログラムによっても実現可能である。該プログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供/配布することができる。本発明の範囲を公にするために、以下の請求項を添付する。
[Other Embodiments]
The present invention is not limited to the above-described embodiment, and various changes and modifications can be made without departing from the spirit and scope of the present invention. The drawing system according to the present invention can also be realized by a program that causes one or more computers to function as respective devices of the drawing system. The program can be provided / distributed by being recorded on a computer-readable recording medium or through a telecommunication line. In order to make the scope of the present invention public, the following claims are attached.

Claims (8)

コンピュータに、On the computer,
描画する画面の描画命令を示す命令情報であって、画面の描画に必要な描画リソースを示す命令情報を取得する処理と、    Processing for obtaining command information indicating a drawing resource necessary for drawing a screen, which is command information indicating a drawing command of a screen to be drawn;
複数の描画装置の各々から、該描画装置において展開されている描画リソースを示す展開情報を受信する処理と、    A process of receiving development information indicating drawing resources developed in the drawing device from each of the plurality of drawing devices;
前記命令情報と前記展開情報とに基づき、前記複数の描画装置のうちから、該命令情報に係る画面を描画させる描画装置を決定する処理と、    Based on the command information and the development information, a process of determining a drawing device for drawing a screen related to the command information from the plurality of drawing devices;
を実行させるプログラム。A program that executes
前記決定する処理は、前記複数の描画装置のうち、前記命令情報により示される必要な描画リソースの少なくとも一部を展開している描画装置を、前記描画させる描画装置として決定する請求項1に記載のプログラム。2. The determination process according to claim 1, wherein among the plurality of drawing devices, a drawing device that develops at least a part of a necessary drawing resource indicated by the command information is determined as the drawing device to be drawn. Program. 前記描画する画面は、クライアント装置に提供する画面であり、The screen to be drawn is a screen provided to the client device,
前記決定された描画装置は、前記命令情報に係る画面を描画して、前記クライアント装置に送信する請求項1または2に記載のプログラム。  The program according to claim 1, wherein the determined drawing device draws a screen related to the command information and transmits the screen to the client device.
前記決定する処理は、前記クライアント装置の存在する位置に対応付けられた地域に存在する描画装置のうちから、前記描画させる描画装置を決定する請求項3に記載のプログラム。The program according to claim 3, wherein the determining process determines a drawing device to be drawn from drawing devices existing in an area associated with a position where the client device exists. 前記複数の描画装置の各々につき、接続端末数、平均伝送レート、GPU稼働率、輻輳状況、及び前記クライアント装置との間の伝送路の長さの少なくともいずれかを評価する処理をさらに前記コンピュータに実行させ、The computer further includes a process for evaluating at least one of the number of connected terminals, an average transmission rate, a GPU operation rate, a congestion status, and a length of a transmission path between the drawing devices for each of the plurality of drawing devices. Let it run
前記決定する処理は、前記評価する処理の評価結果、前記命令情報、及び前記展開情報に基づき、前記描画させる描画装置を決定する請求項3または4に記載のプログラム。  5. The program according to claim 3, wherein the determining process determines a drawing device to be drawn based on an evaluation result of the evaluating process, the command information, and the development information.
前記決定された描画装置に前記命令情報を送信する処理をさらに前記コンピュータに実行させる請求項1乃至5のいずれか1項に記載のプログラム。The program according to any one of claims 1 to 5, further causing the computer to execute a process of transmitting the command information to the determined drawing apparatus. 請求項1乃至6のいずれか1項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。The computer-readable recording medium which recorded the program of any one of Claims 1 thru | or 6. 描画する画面の描画命令を示す命令情報であって、画面の描画に必要な描画リソースを示す命令情報を取得し、Command information indicating a drawing command of a screen to be drawn, and acquiring command information indicating a drawing resource necessary for drawing the screen;
複数の描画装置の各々から、該描画装置において展開されている描画リソースを示す展開情報を受信し、  From each of the plurality of drawing devices, receiving development information indicating drawing resources developed in the drawing device;
前記命令情報と前記展開情報とに基づき、前記複数の描画装置のうちから、該命令情報に係る画面を描画させる描画装置を決定する描画装置決定方法。  A drawing device determination method for determining a drawing device for drawing a screen related to the command information from the plurality of drawing devices based on the command information and the development information.
JP2014115311A 2014-06-03 2014-06-03 Program, recording medium, and drawing apparatus determination method Active JP6265337B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014115311A JP6265337B2 (en) 2014-06-03 2014-06-03 Program, recording medium, and drawing apparatus determination method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014115311A JP6265337B2 (en) 2014-06-03 2014-06-03 Program, recording medium, and drawing apparatus determination method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014510571A Division JP5559445B1 (en) 2013-12-26 2013-12-26 Drawing system, control method, program, and recording medium

Publications (3)

Publication Number Publication Date
JP2015125771A JP2015125771A (en) 2015-07-06
JP2015125771A5 JP2015125771A5 (en) 2017-02-09
JP6265337B2 true JP6265337B2 (en) 2018-01-24

Family

ID=53536387

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014115311A Active JP6265337B2 (en) 2014-06-03 2014-06-03 Program, recording medium, and drawing apparatus determination method

Country Status (1)

Country Link
JP (1) JP6265337B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110609677A (en) * 2018-06-15 2019-12-24 搜游网络科技(北京)有限公司 WebGL-based graph drawing method, device and system
CN111836092A (en) * 2019-04-15 2020-10-27 深信服科技股份有限公司 Data processing method and device of virtual desktop and related components

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5076132B1 (en) * 2011-05-25 2012-11-21 株式会社スクウェア・エニックス・ホールディングス Drawing control apparatus, control method therefor, program, recording medium, drawing server, and drawing system

Also Published As

Publication number Publication date
JP2015125771A (en) 2015-07-06

Similar Documents

Publication Publication Date Title
JP5559445B1 (en) Drawing system, control method, program, and recording medium
JP6310073B2 (en) Drawing system, control method, and storage medium
JP5937711B2 (en) Program, recording medium, information processing apparatus, and control method
US9814979B2 (en) Data provision system, provision apparatus, execution apparatus, control method, and recording medium
JP6126221B2 (en) Screen providing apparatus, screen providing system, control method, program, and recording medium
KR101523861B1 (en) Load balancing between general purpose processors and graphics processors
JP5973409B2 (en) Program, recording medium, information processing apparatus, and control method
JP6265337B2 (en) Program, recording medium, and drawing apparatus determination method
JP5817052B2 (en) Information processing apparatus, control method, program, and recording medium
JP6054677B2 (en) Processing system, information processing apparatus, control method, program, and recording medium
KR20130062463A (en) Game streaming system and method of supporting the multiuser and multiplatform
JP5622984B1 (en) Information processing apparatus, drawing system, control method, and program
JP5932892B2 (en) CONTENT PROVIDING SYSTEM, CONTENT PROVIDING DEVICE, CONTENT REPRODUCING DEVICE, CONTROL METHOD, PROGRAM, AND RECORDING MEDIUM
Cai et al. Cloud Gaming

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161220

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171212

R150 Certificate of patent or registration of utility model

Ref document number: 6265337

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250