JP6265337B2 - Program, recording medium, and drawing apparatus determination method - Google Patents
Program, recording medium, and drawing apparatus determination method Download PDFInfo
- 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
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.
ところで、特許文献1のようなネットワークゲームサービスでは、同時にサービス利用する複数のクライアント端末に対して同時にゲーム画面の生成及び送信を行うことが考えられる。このため、クライアント端末に送信するゲーム画面を生成するために、複数の描画サーバが設けられる実装が考えられる。即ち、サーバに画面送信要求を行ったクライアント端末の各々に対して、複数の描画サーバのうち、例えば割り当てられている端末数が最も少ない等の1つの描画サーバが割り当てられ、該クライアント端末に送信するゲーム画面の描画を行う。
By the way, in the network game service as in
しかしながら、描画されるゲーム画面は、ゲームの種類、描画するゲーム内のシーン、ユーザの設定等によって描画処理に要する演算量が異なる。従って、単に接続する端末数に応じて割り当てを行うような従来の方式では、描画サーバの演算リソースの効率化を何ら考慮するものでないため、例えば演算量の多いゲーム画面を要求するクライアント端末に係る描画処理を多数割り当てられた描画サーバにおいて処理遅延が発生しうる。つまり、これまで描画処理の効率化の観点に基づいてクライアント端末に対する描画サーバの割り当てを行うまではなかった。 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]
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。以下に説明する一実施形態は、描画システムの一例としての、ネットワークを介してクライアント端末から受信した画面要求に応じてゲーム画面を描画し、得られたゲーム画面をネットワークを介してストリーミング形式でクライアント端末に送信するゲームシステムに、本発明を適用した例を説明する。しかし、本発明は、ゲームに限らず、クライアント端末からの要求に従って画面の描画を行い、得られた画面をクライアント端末に送信することが可能な任意の機器及びシステムに適用可能である。
[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
まず、ユーザ等の操作により1つのクライアント端末400からネットワーク500を介してゲーム画面の提供要求が命令サーバ100になされると、命令サーバ100は、提供するゲーム画面に係る演算処理を実行し、ゲーム画面の描画命令に係る情報を生成する。
First, when a game screen provision request is made from one
また、命令サーバ100には複数の描画サーバ300が接続されており、命令サーバ100はゲーム画面の提供要求を受信した1つのクライアント端末400に対して、このうちの1つの描画サーバ300をゲーム画面の描画処理を行うサーバに割り当てる。命令サーバ100と描画サーバ300とは、命令サーバ100とクライアント端末400間と同様にネットワーク500を介して接続してもよいし、命令サーバ100と描画サーバ300とは所定のローカルネットワーク内で接続するものであってもよい。
A plurality of
描画サーバ300の詳細な処理については後述するが、描画サーバ300の各々には、ゲーム画面の生成に必要な描画リソース(モデルデータ、テクスチャデータ、画面効果等を実現する描画プログラム等)が格納されており、描画サーバ300では該リソースを展開して使用しながらゲーム画面の描画が行われる。
Although detailed processing of the
以下、このようなシステム構成を有する本実施形態のゲームシステムの各装置について、ブロック図を示してその機能構成を説明する。以下の説明では複数の装置で使用される同様のハードウェアについて、装置間でそれらのハードウェアを区別するために命令サーバ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
〈命令サーバ100の構成〉
図2は、本実施形態の描画システムに係る命令サーバ100の機能構成を示したブロック図である。
<Configuration of
FIG. 2 is a block diagram illustrating a functional configuration of the
命令CPU101は、命令サーバ100が有する各ブロックの動作を制御する。具体的には命令CPU101は、命令ROM102に格納された各ブロックの動作プログラムやアプリケーション等のプログラムを読み出し、命令RAM103に展開して実行することにより各ブロックの動作を制御する。また命令CPU101は、クライアント端末400に対して画面を提供するゲームに係る必要な演算処理を実行し、ゲーム画面の描画を指示する描画命令に係る情報を生成する。
The
命令ROM102は、例えば不揮発性メモリ等の恒久的にデータを記録する記録装置である。命令ROM102は、命令サーバ100が有する各ブロックの動作プログラムだけでなく、各ブロックの動作において使用されるパラメータ等の情報を格納する。また命令RAM103は、揮発性メモリである。命令RAM103は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データの格納領域として、あるいは各ブロックの処理を行うための作業領域としても用いられる。
The
命令通信部104は、命令サーバ100が有する外部装置との通信インタフェースである。本実施形態では命令通信部104は、クライアント端末400から画面送信要求やクライアント端末400においてなされた操作入力の情報を受信する。また命令通信部104は、命令サーバ100に接続されている描画サーバ300の各々から、該描画サーバ300のGPUメモリ306に展開されている描画リソースの情報を受信する。また命令通信部104は、クライアント端末400に対してゲーム画面の生成及び送信を行わせる描画サーバ300に対して、生成した描画命令に係る情報と、ゲーム画面の送信先であるクライアント端末400を特定するための情報(送信先情報)とを送信する。
The
命令展開把握部105は、接続されている描画サーバ300の各々から受信したGPUメモリ306に展開されている描画リソースの情報を、該描画サーバ300の識別情報に関連付けて管理する。本実施形態では命令CPU101は、描画命令により描画されるゲーム画面について、使用される描画リソースが既にGPUメモリ306に展開されている描画サーバ300に対してゲーム画面の描画を割り当てる。これは、GPUメモリ306に展開されている描画リソースを再利用することで、描画処理の効率化が図れることに基づく。
The instruction
ゲーム画面の描画に使用する描画リソースは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
具体的には命令展開把握部105は、管理している情報に基づいて、要求された描画リソースがGPUメモリ306に展開されている描画サーバ300を特定した情報を出力する。そして命令CPU101は、該出力された情報に基づいて描画サーバ300の決定を行うことで、描画システムにおけるゲーム画面描画の効率化を図ることができる。
Specifically, the instruction
本実施形態では描画サーバ300から命令サーバ100に対してGPUメモリ306に展開されている描画リソースの情報が送信され、命令展開把握部105が該情報に基づいて描画命令に対応する描画リソースが既に展開されている描画サーバ300を特定するものとして説明するが、本発明の実施はこれに限られるものではない。例えば接続されている複数の描画サーバ300に対して、特にデータ量の多いテクスチャデータ等、ゲーム画面の生成に使用する描画リソースの各々についてGPUメモリ306への展開を行う描画サーバ300が予め定められている場合、展開されている描画リソースの情報が命令サーバ100に送信される必要はない。この場合、命令CPU101が、予め定められた描画サーバ300の情報に基づいて描画命令に係る情報を送信する描画サーバ300を決定してよい。例えば、命令CPU101は描画命令に係る情報から生成するゲーム画面に係るシーンの情報を取得し、該シーンに対応する描画リソースの展開が予め割り当てられている描画サーバ300に、ゲーム画面の描画を割り当てればよい。
In the present embodiment, the drawing
〈描画サーバ300の構成〉
図3は、本実施形態の描画システムに係る描画サーバ300の機能構成を示したブロック図である。
<Configuration of
FIG. 3 is a block diagram illustrating a functional configuration of the
描画CPU301は、描画サーバ300が有する各ブロックの動作を制御する。具体的には描画CPU301は、描画ROM302に格納された各ブロックの動作プログラムを読み出し、描画RAM303に展開して実行することにより各ブロックの動作を制御する。
The drawing
描画ROM302は、例えば不揮発性メモリ等の恒久的にデータを記録する記録装置である。描画ROM302は、描画サーバ300が有する各ブロックの動作プログラムだけでなく、各ブロックの動作において必要となるパラメータ等の情報を格納する。また描画RAM303は、揮発性メモリである。描画RAM303は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等の格納領域として、あるいは各ブロックの処理を行うための作業領域としても用いられる。
The
描画通信部304は、描画サーバ300が有する外部装置との通信インタフェースである。本実施形態では描画通信部304は、命令サーバ100から描画命令に係る情報や送信先情報を受信する。また描画通信部304は、送信先情報により特定されるクライアント端末400に対して、描画命令に係る情報に基づいて描画されたゲーム画面をストリーミング形式で送信する。
The drawing
GPU305は、受信した描画命令に係る情報により生成された描画命令に従ってゲーム画面の描画を行う。具体的には描画CPU301は、描画命令に係る情報からゲーム画面の描画に係る描画命令を生成し、GPU305に伝送する。また描画CPU301は、描画命令に係る情報に含まれるゲーム画面の生成に必要な描画リソースの情報を参照し、GPUメモリ306にまだ展開されていない描画リソースが含まれる場合は、該リソースをリソースDB307から読み出し、GPUメモリ306に展開する。そしてGPU305は、伝送された描画命令に従い、GPUメモリ306に展開されたリソースを使用してゲーム画面の描画を行う。本実施形態のGPU305は、得られたゲーム画面をストリーミング形式に対応する所定の符号化形式で符号化し、動画データを生成して出力する。
The
GPUメモリ306は、例えばDRAM等の描画CPU301及びGPU305にアクセス可能に設けられた、描画処理において使用される作業領域である。またリソースDB307は、例えばHDD等の記録装置であり、描画リソースのデータが格納されている。
The
《画面提供処理》
このような構成をもつ本実施形態の描画システムの画面提供処理について、図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
S401で、命令CPU101は、対象クライアント端末において操作入力がなされたか否かを判断する。具体的には命令CPU101は、命令通信部104が対象クライアント端末から操作入力に係る情報を受信したか否かにより本ステップの判断を行う。命令CPU101は、操作入力がなされたと判断した場合は処理をS402に移し、なされていないと判断した場合は処理をS403に移す。
In step S401, the
S402で、命令CPU101は、対象クライアント端末から受信した操作入力に係る情報に基づいて、提供するゲームについて管理するパラメータの情報を更新する処理を行う。
In step S <b> 402, the
S403で、命令CPU101は、現在のフレームのゲーム画面の生成に必要な演算処理等を実行する。本ステップにおいて行われる演算処理は、例えば動的オブジェクトの状態変更や描画命令に必要となるパラメータを算出する処理を含む。そして演算処理の実行後、命令CPU101は、演算結果に基づいて現在のフレームのゲーム画面の描画命令の生成に必要となるパラメータ(描画命令に係る情報)を生成する。
In step S <b> 403, the
本実施形態の命令CPU101が生成する描画命令に係る情報は、例えば図5に示されるように命令の種類を特定する命令ID、命令の対象となるオブジェクトを指定するオブジェクトID、命令によって変更されるパラメータ等の命令の実行において使用されるパラメータを示すその他の情報等で構成される。これは、描画命令をそのままの形で送出するよりもデータ量を削減することで伝送遅延を低減することを目的とするものであり、本ステップにおいて命令CPU101は、描画命令をより簡略化した形式のデータで構成してデータ量を削減する。描画命令に係る情報は、予め定められたルールに基づいてデータ圧縮がなされた情報であり、本実施形態では描画サーバ300において該情報から描画命令を構築することが可能である。
The information related to the drawing command generated by the
しかしながら、本発明の実施において描画サーバ300に送信される情報は、これに限られるものではない。即ち、本実施形態では描画サーバ300において描画命令を構成可能な情報として描画命令に係る情報を送信するものとして説明するが、描画命令と描画命令に係る情報とは等価な情報であり、送信される情報は描画命令そのものであってもよい。しかし、伝送遅延の低減という側面で考えれば、よりデータ量の少ない情報である描画命令に係る情報を送信することが好ましいことは言うまでもない。
However, the information transmitted to the
S404で、命令CPU101は、ゲーム画面の描画を行わせる描画サーバ300を決定する。具体的には命令CPU101は、描画命令に係る情報により示される描画命令に従って画面描画に係る処理を行う際に必要となる描画リソースを特定する。そして命令CPU101は、接続されている描画サーバ300のうちから、特定した描画リソースを展開領域に展開している1つの描画サーバ300の情報を命令展開把握部105から取得し、描画を行わせる描画サーバ300として決定する。あるいは命令CPU101は、特定した描画リソースを展開領域に展開している描画サーバ300が存在しない場合は、接続されている描画サーバ300のうちから、例えばデータ量の多い背景用テクスチャ等、所定の種類の描画リソースがまだ展開されていない描画サーバ300に決定する。このようにすることで、接続されている描画サーバ300の各々のGPUメモリ306には、各々異なる描画リソースが展開されるように制御することができる。
In step S <b> 404, the
画面描画に必要となる描画リソースが展開領域に展開されているか否かの判断は、描画命令に係るゲーム画面の生成に用いられる全ての描画リソースの一致をもって判断する必要はない。例えばシーンを切り替えながら進行するゲームでは、シーンごとにフィールドに配置する描画オブジェクトや背景テクスチャ等の描画リソースが予め定められているため、そのうちのデータ量が閾値以上のリソースの展開有無により判断を行ってもよい。また、背景テクスチャ等は一般にデータ量が多くなる傾向にあるため、背景テクスチャ等の展開有無により判断を行ってもよい。この場合、ゲームに使用される全ての背景テクスチャについて、それぞれ異なる描画サーバ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
S405で、命令CPU101は、描画命令に係る情報及び送信先情報を命令通信部104に伝送し、S404において決定した描画サーバ300に対して送信する。
In step S405, the
S406で、描画CPU301は、関連付けられた命令サーバ100から描画命令に係る情報及び送信先の情報を受信したか否かを判断する。描画CPU301は、描画命令に係る情報及び送信先の情報を受信したと判断した場合は処理をS407に移し、受信していないと判断した場合は本ステップの処理を繰り返す。
In step S <b> 406, the drawing
S407で、描画CPU301は、受信した描画命令に係る情報から描画命令を再構築し、GPU305に伝送する。また描画CPU301は、必要に応じてリソースDB307から新たな描画リソースを読み出し、GPUメモリ306に展開する。ここで、必要に応じて読み出される新たな描画リソースは、ゲーム画面の描画に必要な描画リソースのうち、まだGPUメモリ306に展開されていない描画リソースを指す。そしてGPU305は、GPUメモリ306に展開されている描画リソースを使用して、描画命令に従ってゲーム画面を描画する。
In step S <b> 407, the drawing
S408で、GPU305はゲーム画面を符号化し、描画CPU301は符号化されたゲーム画面のデータを描画通信部304に伝送し、送信先情報に基づいて対象クライアント端末に送信する。
In S408, the
このようにすることで、本実施形態の描画システムでは、ゲーム画面の描画に使用する描画リソースを好適に利用して描画システム全体に係る描画処理の演算量を低減することができる。 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
以上説明したように、本実施形態の描画システムは、クライアント端末に送信する画面に係る描画処理の演算量を好適に低減することができる。具体的には描画システムは、クライアント端末から受信した情報に基づいて画面の描画命令に係る情報を送出する命令サーバと、該命令サーバから受信した描画命令に係る情報に従って画面の描画を行い、クライアント端末に送信する描画サーバとを有する。命令サーバは、命令サーバに関連付けられた複数の描画サーバのうち、描画命令に係る情報に従って画面の描画を行う際に必要な描画リソースのうちの少なくとも一部を展開している描画サーバに、描画命令に係る情報及び送信先情報を送出する。そして描画サーバは、必要な描画リソースのうちまだ展開されていない描画リソースを読み出して展開領域に展開して保持し、描画命令に係る情報に基づいて画面の描画を行い、対象クライアント端末に送信する。 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
特許文献1のようなネットワークゲームサービスでは、ゲーム画面を送信することになるため、従来のネットワークゲームサービスに比べてサーバとクライアント端末間での通信データ量が多くなり、伝送遅延の影響が生じうる。即ち、描画されたゲーム画面をストリーミング形式で送信する方式は、データ圧縮等の適用がなされるものの、従来のゲーム画面の描画に必要なデータに比べて多量のデータ通信が常時行われることになるため、通信帯域を圧迫しうる。また、サーバとクライアント端末間の伝送路が長い場合、このような通信帯域の圧迫による伝送遅延はより顕著に現れ、ユーザのゲーム体験に支障を生じる可能性がある。
In a network game service such as
特に、ユーザの操作入力に応じてなされた変更がゲーム画面に反映されるまでのレスポンス性能が要求される、所謂リアルタイム性の高いゲームでは、このような伝送遅延はゲーム性を破綻させることにもなりうる。本実施形態では、このような伝送遅延を低減する描画システムについて、以下に図面を参照して詳細に説明する。 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
まず、ユーザ等の操作により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
描画サーバ300は、所定の地域ごとに複数台設置され、各々の地域で描画サーバ300群を構成する。しかしながら、本発明の実施において各地域に設置される描画サーバ300の数はこれに限られるものでなく、該地域の利用者数等に合わせて適宜決定されるものであってよい。描画サーバ300の各々は、実施形態1同様、ゲーム画面の生成に必要な描画リソース(モデルデータ、テクスチャデータ、画面効果等を実現する描画プログラム等)を有しており、該リソースを展開して使用しながらゲーム画面の描画を行う。
A plurality of drawing
〈命令サーバ100の構成〉
図7は、本実施形態の描画システムに係る命令サーバ100の機能構成を示したブロック図である。
<Configuration of
FIG. 7 is a block diagram illustrating a functional configuration of the
本実施形態の命令サーバ100は、実施形態1の構成に加え、さらに地域特定部111を有する。地域特定部111は、例えばクライアント端末400との通信接続の確立に用いた情報、あるいはクライアント端末400から受信した画面送信要求に含まれる送信先アドレスの情報からクライアント端末400の存在する地域を特定する。
The
《画面提供処理》
次に、本実施形態の描画システムの画面提供処理について、図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
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
このようにすることで、本実施形態の描画システムでは、ゲーム画面の描画に使用する描画リソースを好適に利用して描画システム全体に係る描画処理の演算量を低減することができる。また描画システムでは、ゲーム画面の送信に係る伝送路を低減し、画面要求に応じて描画した画面をクライアント端末に提供する際の伝送遅延を効率的に低減することができる。 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
本実施形態では描画サーバ300を単一のサーバとして構成するものとして説明したが、実施形態1同様、本発明の実施はこれに限られるものではない。即ち、本実施形態のように描画サーバ300群の各描画サーバ300を単一のサーバとして構成するのではなく、それぞれ独立した展開領域が割り当てられた1つの描画ユニット(例えばGPU)として構成する場合は、描画サーバ300群ではなく複数の描画ユニットを有する描画サーバが各地域に設けられる構成されてもよい。この場合、各地域の描画サーバは命令サーバ100から描画命令に係る情報を受信すると、該描画命令に対応するゲーム画面の生成において使用される描画リソースが展開されている展開領域を特定し、該展開領域が対応付けられた描画ユニットに対して画面の生成を割り当てればよい。
In the present embodiment, the drawing
[変形例]
上述した実施形態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
また動作状況の把握は、例えば接続端末数、平均伝送レート、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
[実施形態3]
上述した実施形態2では、命令サーバ100が全ての地域の描画サーバ300群、及び各描画サーバ300の展開領域に展開されている描画リソースの情報を把握可能であるものとして説明した。しかしながら、描画システムの規模によっては、各地域の描画サーバ300の全てについて展開されている描画リソースの情報を命令サーバ100において集中管理することは現実的でない可能性がある。即ち、命令サーバ100では、各クライアント端末に提供するフレームのゲーム画面の生成に必要な演算処理に加えて、これらの描画リソースの展開状況を把握することになるため、命令サーバ100に負荷が集中する可能性がある。本実施形態では、このような描画システムにおける負荷分散を行うために、地域ごとに描画サーバ300群の描画サーバ300の各々の描画リソースの展開状況を管理する中継装置を設ける例について説明する。
[Embodiment 3]
In the second embodiment described above, the
以下、本実施形態の描画システムについて、図面を参照して詳細に説明する。以下に説明する一実施形態は、描画システムの一例としての、ネットワークを介してクライアント端末から受信した画面要求に応じてゲーム画面を描画し、得られたゲーム画面をネットワークを介してストリーミング形式でクライアント端末に送信するゲームシステムに、本発明を適用した例を説明する。しかし、本発明は、ゲームに限らず、クライアント端末からの要求に従って画面の描画を行い、得られた画面をクライアント端末に送信することが可能な任意の機器及びシステムに適用可能である。また以下の説明において、上述した実施形態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
まず、ユーザ等の操作により1つのクライアント端末400からネットワーク500を介してゲーム画面の提供要求が命令サーバ100になされると、命令サーバ100は、提供するゲーム画面に係る演算処理を実行し、ゲーム画面の描画命令に係る情報を生成する。また命令サーバ100は、ゲーム画面の提供を行うクライアント端末400の存在する地域、即ちアクセス地点の特定を行い、該クライアント端末400に対してゲーム画面の提供を行う描画サーバ300群を決定する。本実施形態では実施形態2と同様に、クライアント端末400の存在する地域に最も近い地域に設置された描画サーバ300群に対して、該クライアント端末400に提供するゲーム画面の描画を割り当てるものと説明するが、本発明の実施はこれに限られるものではない。
First, when a game screen provision request is made from one
描画サーバ300は、所定の地域ごとに複数台設置され、各々の地域で描画サーバ300群を構成する。描画サーバ300の各々は、実施形態1及び2と同様、ゲーム画面の生成に必要な描画リソース(モデルデータ、テクスチャデータ、画面効果等を実現する描画プログラム等)を有しており、該リソースを展開して使用しながらゲーム画面の描画を行う。また実際にゲーム画面の描画を行う描画サーバ300は、命令サーバ100からの描画命令に係る情報を受信した中継装置200により決定される。
A plurality of drawing
中継装置200は、描画サーバ300群と同様に地域ごとに設けられ、対応する地域の描画サーバ300群に関連付けられる。また中継装置200は、描画サーバ300群のうちの1つのサーバをゲーム画面の生成を行う描画サーバ300として決定し、該サーバに対して描画命令に係る情報を中継してゲーム画面の描画を行わせる。
The
図9では、命令サーバ100とクライアント端末400のみがネットワーク500を介して接続され、命令サーバ100と中継装置200、中継装置200と各描画サーバ300、及び描画サーバ300とクライアント端末400はネットワーク500を介して接続するものとして示されていない。これは単に、命令サーバ100から中継装置200、中継装置200から各描画サーバ300、及び描画サーバ300からクライアント端末400の情報の流れを明確にするためにネットワーク500を介さずに表記したことによるものであり、これらの装置間での通信がネットワーク500あるいは何らかのネットワークを介して行われることは容易に理解されよう。
In FIG. 9, only the
以下、このようなシステム構成を有する本実施形態のゲームシステムの各装置について、ブロック図を示してその機能構成を説明する。以下の説明では複数の装置で使用される同様のハードウェアについて、装置間でそれらのハードウェアを区別するために命令サーバ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
FIG. 10 is a block diagram illustrating a functional configuration of the
〈中継装置200の構成〉
図11は、本実施形態の描画システムに係る中継装置200の機能構成を示したブロック図である。
<Configuration of
FIG. 11 is a block diagram illustrating a functional configuration of the
中継CPU201は、中継装置200が有する各ブロックの動作を制御する。具体的には中継CPU201は、中継ROM202に格納された各ブロックの動作プログラムを読み出し、中継RAM203に展開して実行することにより各ブロックの動作を制御する。
The
中継ROM202は、例えば不揮発性メモリ等の恒久的にデータを記録する記録装置である。中継ROM202は、中継装置200が有する各ブロックの動作プログラムだけでなく、各ブロックの動作において必要となるパラメータ等の情報を格納する。また中継RAM203は、揮発性メモリである。中継RAM203は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等の格納領域として、あるいは各ブロックの処理を行うための作業領域としても用いられる。
The
中継通信部204は、中継装置200が有する外部装置との通信インタフェースである。本実施形態では中継通信部204は、命令サーバ100から描画命令に係る情報や送信先情報を受信し、中継通信部204に関連付けられた描画サーバ300群の各々から、該描画サーバ300のGPUメモリ306に展開されている描画リソースの情報を受信する。また中継通信部204は、ゲーム画面の描画を行わせる描画サーバ300に対して、描画命令に係る情報及び送信先情報を送信する。
The
中継展開把握部205は、関連付けられた描画サーバ300群の各々から受信したGPUメモリ306に展開されている描画リソースの情報を、該描画サーバ300の識別情報に関連付けて管理する。本実施形態では中継CPU201は、描画命令により描画されるゲーム画面に使用される描画リソースが既にGPUメモリ306に展開されている描画サーバ300に対してゲーム画面の描画を割り当てる。これは上述したように、GPUメモリ306に展開されている描画リソースを再利用することで、描画処理の効率化が図れることに基づく。
The relay
本実施形態では描画サーバ300から中継装置200に対してGPUメモリ306に展開されている描画リソースの情報が送信され、中継展開把握部205が該情報に基づいて描画命令に対応する描画リソースが既に展開されている描画サーバ300を特定するものとして説明するが、本発明の実施はこれに限られるものではない。例えば描画サーバ300群において、特にデータ量の多いテクスチャデータ等、ゲーム画面の生成に使用する描画リソースの各々についてGPUメモリ306への展開を行う描画サーバ300が予め定められている場合、展開されている描画リソースの情報が中継装置200に送信される必要はない。この場合、中継CPU201が、予め定められた描画サーバ300の情報に基づいて描画命令に係る情報を送信する描画サーバ300を決定してよい。例えば、中継CPU201は描画命令に係る情報から生成するゲーム画面に係るシーンの情報を取得し、該シーンに対応する描画リソースの展開が予め割り当てられている描画サーバ300に、ゲーム画面の描画を割り当てればよい。
In this embodiment, the drawing
《画面提供処理》
このような構成をもつ本実施形態の描画システムの画面提供処理について、図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
S403において描画命令に係る情報を生成した後、命令CPU101はS1201で、生成した描画命令に係る情報と、対象クライアント端末にデータを送信するために必要となる送信先情報とを命令通信部104に伝送し、中継装置200に送出させる。本ステップで命令通信部104による情報送出の対象である中継装置200は、地域特定部111により特定された対象クライアント端末の存在する地域の情報に基づいて命令CPU101が決定するものとする。
After generating the information related to the drawing command in S403, the
S1202で、中継CPU201は、命令サーバ100から描画命令に係る情報及び送信先情報を受信したか否かを判断する。中継CPU201は、描画命令に係る情報及び送信先情報を受信したと判断した場合は処理をS1203に移し、受信していないと判断した場合は本ステップの処理を繰り返す。
In step S <b> 1202, the
S1203で、中継CPU201は、ゲーム画面の描画を行わせる描画サーバ300を決定する。具体的には中継CPU201は、描画命令に係る情報から、該情報により示される描画命令に従って画面描画に係る処理を行う際に必要となる描画リソースを特定する。そして中継CPU201は、特定した描画リソースを展開領域に展開している、該中継装置200に関連付けられた描画サーバ300群のうちの1つの描画サーバ300の情報を中継展開把握部205から取得し、描画を行わせる描画サーバ300として決定する。あるいは中継CPU201は、特定した描画リソースを展開領域に展開している描画サーバ300が存在しない場合は、例えばデータ量の多い背景用テクスチャ等、所定の種類の描画リソースがまだ展開されていない描画サーバ300に決定する。このようにすることで、描画サーバ300群のサーバの各々のGPUメモリ306には、各々異なる描画リソースが展開されるように制御することができる。
In step S1203, the
S1204で、中継CPU201は、描画命令に係る情報及び送信先情報を中継通信部204に伝送し、S1203において決定した描画サーバ300に対して送信する。
In step S1204, the
S1205で、描画CPU301は、関連付けられた中継装置200から描画命令に係る情報及び送信先の情報を受信したか否かを判断する。描画CPU301は、描画命令に係る情報及び送信先の情報を受信したと判断した場合は処理をS407に移し、受信していないと判断した場合は本ステップの処理を繰り返す。
In step S <b> 1205, the drawing
このようにすることで、本実施形態の描画システムでは、ゲーム画面の描画に使用する描画リソースを好適に利用して描画システム全体に係る描画処理の演算量を低減することができる。また描画システムでは、ゲーム画面の送信に係る伝送路を低減し、画面要求に応じて描画した画面をクライアント端末に提供する際の伝送遅延を効率的に低減することができる。また描画システムにおける描画リソースの展開状況の監視による処理負荷を分散することができる。 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
また、本実施形態では描画サーバ300において描画命令に係る情報から描画命令の再構築が行われるものとして説明したが、本発明の実施において描画命令の再構築は中継装置200及び描画サーバ300のいずれで行われてもよい。中継装置200において再構築が行われる場合には、命令サーバ100と中継装置200との間における伝送遅延を低減することができる。また描画サーバ300において再構築が行われる場合には、命令サーバ100と中継装置200との間、及び中継装置200と描画サーバ300との間の双方における伝送遅延を低減することができる。つまり、描画命令をデータ圧縮して送信することによる効果は、中継装置200及び描画サーバ300のいずれで描画命令の再構築が行われたとしても実現することができる。
In the present embodiment, the drawing
以上説明したように、クライアント端末に送信する画面に係る描画処理の演算量を好適に低減することができる。具体的には描画システムは、クライアント端末から受信した情報に基づいて画面の描画命令に係る情報を送出する命令サーバと、描画命令に係る情報に従って画面の描画を行い、クライアント端末に送信する描画サーバと、命令サーバから受信した描画命令に係る情報を描画サーバに送信する中継装置と、を有する。命令サーバは、対象クライアント端末が存在する地域を特定し、対応する地域に存在する中継装置に、描画命令に係る情報及び送信先情報を送出する。また中継装置は、該中継装置に関連付けられた複数の描画サーバのうち、該描画命令に従って画面の描画を行う際に必要な描画リソースのうちの少なくとも一部を展開している描画サーバに、描画命令に係る情報及び送信先情報を送信する。そして描画サーバは、必要な描画リソースのうちまだ展開されていない描画リソースを読み出して展開領域に展開して保持し、描画命令に係る情報に基づいて画面の描画を行い、対象クライアント端末に送信する。 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)
描画する画面の描画命令を示す命令情報であって、画面の描画に必要な描画リソースを示す命令情報を取得する処理と、 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 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または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.
複数の描画装置の各々から、該描画装置において展開されている描画リソースを示す展開情報を受信し、 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.
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)
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)
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 |
-
2014
- 2014-06-03 JP JP2014115311A patent/JP6265337B2/en active Active
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 |