WO2015097726A1 - 描画システム、制御方法、プログラム、及び記録媒体 - Google Patents
描画システム、制御方法、プログラム、及び記録媒体 Download PDFInfo
- Publication number
- WO2015097726A1 WO2015097726A1 PCT/JP2013/007657 JP2013007657W WO2015097726A1 WO 2015097726 A1 WO2015097726 A1 WO 2015097726A1 JP 2013007657 W JP2013007657 W JP 2013007657W WO 2015097726 A1 WO2015097726 A1 WO 2015097726A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- server
- command
- screen
- information related
- client terminal
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 63
- 238000009877 rendering Methods 0.000 title abstract description 15
- 230000005540 biological transmission Effects 0.000 claims abstract description 81
- 238000011161 development Methods 0.000 claims description 52
- 238000012545 processing Methods 0.000 claims description 41
- 230000008569 process Effects 0.000 description 50
- 230000015654 memory Effects 0.000 description 36
- 238000004891 communication Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/355—Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/33—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
- A63F13/335—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/352—Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/358—Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C41/00—Shaping by coating a mould, core or other substrate, i.e. by depositing material and stripping-off the shaped article; Apparatus therefor
- B29C41/02—Shaping by coating a mould, core or other substrate, i.e. by depositing material and stripping-off the shaped article; Apparatus therefor for making articles of definite length, i.e. discrete articles
- B29C41/20—Shaping by coating a mould, core or other substrate, i.e. by depositing material and stripping-off the shaped article; Apparatus therefor for making articles of definite length, i.e. discrete articles incorporating preformed parts or layers, e.g. moulding inserts or for coating articles
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B23/00—Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes
- G09B23/28—Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for medicine
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B23/00—Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes
- G09B23/28—Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for medicine
- G09B23/281—Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for medicine for pregnancy, birth or obstetrics
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B23/00—Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes
- G09B23/28—Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for medicine
- G09B23/30—Anatomical models
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B23/00—Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes
- G09B23/28—Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for medicine
- G09B23/30—Anatomical models
- G09B23/34—Anatomical models with removable parts
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29L—INDEXING SCHEME ASSOCIATED WITH SUBCLASS B29C, RELATING TO PARTICULAR ARTICLES
- B29L2031/00—Other particular articles
- B29L2031/753—Medical equipment; Accessories therefor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29L—INDEXING SCHEME ASSOCIATED WITH SUBCLASS B29C, RELATING TO PARTICULAR ARTICLES
- B29L2031/00—Other particular articles
- B29L2031/753—Medical equipment; Accessories therefor
- B29L2031/7532—Artificial members, protheses
Definitions
- the present invention relates to a drawing system, a control method, a program, and a recording medium, and more particularly to a technique for providing a client terminal with a screen drawn on a server side.
- One of the network games is a multiplayer network game such as MMORPG (Massively Multiplayer Online Role-Playing Game).
- MMORPG Massively Multiplayer Online Role-Playing 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.
- 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.
- 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.
- data necessary for drawing the game screen is transmitted from the server to the client terminal. By displaying the drawn game screen, the user can play the network game.
- some network games that perform drawing processing on such a client terminal require that the client terminal have sufficient drawing performance.
- sufficient rendering performance is required to execute a game that provides a game screen represented by beautiful graphics such as realistic 3D graphics.
- 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.
- 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.
- 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.
- the present invention has been made in view of the above-described problems, and provides a drawing system, a control method, a program, and a recording medium that suitably reduce the amount of calculation of drawing processing related to a screen transmitted to a client terminal. With the goal.
- a drawing system is characterized by having the following configuration.
- 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.
- a drawing system having a drawing server for transmitting to a terminal, wherein the instruction server executes a request receiving means for receiving a screen transmission request from the target client terminal, and an arithmetic process related to the screen provided to the target client terminal, Expands at least a part of the drawing resources necessary for drawing the screen according to the information related to the drawing command among a plurality of drawing servers associated with the command server and the generation means for generating information related to the drawing command Destination information indicating the drawing client and the target client terminal that is the screen destination.
- a drawing server is provided with a storage means for storing drawing resources used for drawing on the screen, and a storage means necessary based on the information related to the drawing command sent by the sending means.
- a drawing system has the following configuration. 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.
- a relay device that transmits information related to the drawing command received from the command server to the drawing server
- the command server includes a request receiving unit that receives a screen transmission request from the target client terminal, and a target Corresponds to the area specified by the generating means, the generating means for generating the information related to the drawing command, the specifying means for specifying the area where the target client terminal exists, the calculation processing related to the screen provided to the client terminal Information on the drawing command generated by the generating means and the transmission destination of the screen to the relay device existing in the area
- a relay unit for transmitting the destination information indicating the client terminal, and the relay apparatus receiving the information related to the drawing command sent by the sending unit and the command receiving unit for receiving the destination information, and the information related to the drawing command.
- a drawing server that develops at least a part of drawing resources necessary for drawing a screen according to information related to the drawing command among a plurality of drawing servers associated with the relay device.
- a transmission unit that transmits information related to the drawing command and transmission destination information, and the drawing server stores a drawing resource used for drawing the screen, and relates to the drawing command transmitted by the transmission unit Based on the information, a drawing resource that has not yet been developed is read from the storage means from the storage means, and is developed in the development area and stored in the development area.
- a drawing unit that draws a screen based on information related to a drawing command using a rendered drawing resource, and a screen transmission unit that transmits a screen drawn by the drawing unit to a target client terminal based on transmission destination information It is characterized by having.
- the flowchart which illustrated the screen provision process performed in the drawing system which concerns on Embodiment 2 of this invention The figure which showed the system configuration
- FIG. 1 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.
- 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.
- FIG. 1 is a diagram showing a system configuration of a drawing system according to Embodiment 1 of the present invention.
- a game screen is drawn in response to a request received from each client terminal 400 and transmitted to the client terminal 400.
- 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.
- 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.
- 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.
- FIG. 2 is a block diagram illustrating a functional configuration of the instruction server 100 according to the drawing system of the present embodiment.
- 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.
- 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.
- the command communication unit 104 is a communication interface with an external device included in the command server 100.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- a general recording device such as an HDD or a game software ROM.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- FIG. 3 is a block diagram illustrating a functional configuration of the drawing server 300 according to the drawing system of the present embodiment.
- 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.
- 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.
- the drawing communication unit 304 is a communication interface with an external device included in the drawing server 300.
- 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.
- the GPU 305 draws the game screen according to the drawing command generated by the information related to the received drawing command.
- 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.
- 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.
- the GPU memory 306 is a work area used in a 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.
- the instruction CPU 101 determines whether or not 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.
- step S402 the instruction CPU 101 performs a process of updating information on parameters managed for the game to be provided based on the information related to the operation input received from the target client terminal.
- step S403 the instruction CPU 101 executes arithmetic processing and the like necessary for generating the game screen of 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.
- the instruction CPU 101 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.
- 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.
- 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.
- the drawing server 300 can construct a drawing command from the information.
- the information transmitted to the drawing server 300 in the implementation 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.
- step S404 the instruction CPU 101 determines a drawing server 300 for drawing the 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.
- drawing resources required 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.
- 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.
- 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.
- step S ⁇ b> 407 the drawing CPU 301 reconstructs the drawing command from the information related to the received 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.
- 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.
- 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 it to the target client terminal based on the destination information.
- the drawing server 300 is described as being configured as a single server, but the embodiment of the present invention is not limited to this.
- the instruction server 100 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.
- 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.
- the drawing system of the present embodiment can suitably reduce the amount of calculation of drawing processing related to the screen transmitted to the client terminal.
- 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.
- 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.
- 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 .
- a network game service such as Patent Document 1
- 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.
- 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.
- the transmission delay due to such compression of the communication band appears more prominently, which may hinder the user's game experience.
- 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
- a game system to be transmitted to An example in which the present invention is applied to a game system to be transmitted to will be described.
- 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.
- 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.
- FIG. 6 is a diagram showing a system configuration of a drawing system according to the second embodiment of the present invention.
- a game screen is drawn in response to a request received from each client terminal 400 and transmitted to the client terminal 400.
- 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.
- a plurality of drawing servers 300 are installed for each predetermined region, and each drawing region constitutes a drawing server 300 group.
- 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.
- 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.
- FIG. 7 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 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. .
- 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.
- the drawing system of the present embodiment it is possible to reduce the calculation amount of the drawing process related to the entire drawing system by suitably using the 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.
- the above-mentioned 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.
- the drawing server 300 is described as being configured as a single server.
- 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.
- 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.
- 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.
- One drawing server 300 may be determined from the drawing servers 300 that are developing resources according to the operation status.
- drawing server 300 for drawing the game screen 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.
- 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.
- 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.
- 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.
- FIG. 1 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.
- 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.
- 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.
- FIG. 9 is a diagram showing a system configuration of the drawing system according to the embodiment of the present invention.
- a game screen is drawn in response to a request received from each client terminal 400 and transmitted to the client terminal 400.
- 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.
- a plurality of drawing servers 300 are installed for each predetermined region, and each drawing region constitutes a drawing server 300 group.
- 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.
- the relay apparatus 200 is provided for each region in the same manner as the drawing server 300 group, and is associated with the corresponding drawing server 300 group in the region. 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.
- 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.
- FIG. 11 is a block diagram illustrating a functional configuration of the relay apparatus 200 according to the drawing system of the present embodiment.
- 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.
- 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.
- the relay communication unit 204 is a communication interface with an external device included in the relay device 200.
- 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.
- 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 identification information of the drawing server 300.
- 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.
- 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.
- the drawing server 300 being deployed is specified, the implementation of the present invention is not limited to this.
- 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.
- 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.
- the command CPU 101 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.
- 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.
- 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 expands the specified drawing resource in the expansion area, the relay CPU 201 does not yet have a predetermined type of drawing resource such as a background texture having 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.
- 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.
- step S ⁇ b> 1205 the drawing CPU 301 determines whether information related to the 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.
- the drawing system of the present embodiment it is possible to reduce the calculation amount of the drawing process related to the entire drawing system by suitably using the 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.
- 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 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.
- 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.
- the relay apparatus 200 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.
- the drawing server 300 is described as reconstructing the drawing command from the information related to the drawing command.
- the reconstruction of the drawing command is performed by either the relay device 200 or the drawing server 300. It may be done at.
- reconstruction is performed in the relay device 200, a transmission delay between the instruction server 100 and the relay device 200 can be reduced.
- 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.
- 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.
- 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 .
- 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.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Chemical & Material Sciences (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Medicinal Chemistry (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Educational Technology (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Educational Administration (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Mechanical Engineering (AREA)
- Gynecology & Obstetrics (AREA)
- Pregnancy & Childbirth (AREA)
- Reproductive Health (AREA)
- Information Transfer Between Computers (AREA)
- Image Generation (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。以下に説明する一実施形態は、描画システムの一例としての、ネットワークを介してクライアント端末から受信した画面要求に応じてゲーム画面を描画し、得られたゲーム画面をネットワークを介してストリーミング形式でクライアント端末に送信するゲームシステムに、本発明を適用した例を説明する。しかし、本発明は、ゲームに限らず、クライアント端末からの要求に従って画面の描画を行い、得られた画面をクライアント端末に送信することが可能な任意の機器及びシステムに適用可能である。
図1は、本発明の実施形態1に係る描画システムのシステム構成を示した図である。本実施形態の描画システムでは、各クライアント端末400から受信した要求に応じてゲーム画面を描画し、該クライアント端末400に送信する。
図2は、本実施形態の描画システムに係る命令サーバ100の機能構成を示したブロック図である。
図3は、本実施形態の描画システムに係る描画サーバ300の機能構成を示したブロック図である。
このような構成をもつ本実施形態の描画システムの画面提供処理について、図4のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、命令サーバ100の命令CPU101、描画サーバ300の描画CPU301の各々が、例えばそれぞれのROMに記憶されている対応する処理プログラムを読み出し、RAMに展開して実行することにより実現することができる。本画面提供処理は、例えば命令サーバ100において任意のクライアント端末400(対象クライアント端末)からのゲームコンテンツの提供要求等の画面送信要求がなされた際に開始され、ゲーム画面のフレーム更新に応じて繰り返し実行されるものとして説明する。
上述した実施形態では、命令サーバ100に接続されている描画サーバ300の各々における描画リソースを有効活用することにより、描画システム全体に係る描画処理の演算量を低減する方法について説明した。具体的には、命令サーバ100に接続されている描画サーバ300のうちから、画面描画に係る処理を行う際に必要となる描画リソースを展開領域に展開している1つの描画サーバ300に描画を行わせるサーバとして決定することで、描画リソースを好適に活用する態様を説明した。本実施形態ではさらに、描画リソースを好適に活用しつつ、サーバとクライアント端末間における伝送遅延を低減する方法について説明する。
図6は、本発明の実施形態2に係る描画システムのシステム構成を示した図である。本実施形態の描画システムでは、実施形態1と同様、各クライアント端末400から受信した要求に応じてゲーム画面を描画し、該クライアント端末400に送信する。
図7は、本実施形態の描画システムに係る命令サーバ100の機能構成を示したブロック図である。
次に、本実施形態の描画システムの画面提供処理について、図8のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、命令サーバ100の命令CPU101、描画サーバ300の描画CPU301の各々が、例えばそれぞれのROMに記憶されている対応する処理プログラムを読み出し、RAMに展開して実行することにより実現することができる。本画面提供処理は、例えば命令サーバ100において任意のクライアント端末400(対象クライアント端末)からのゲームコンテンツの提供要求等の画面送信要求がなされた際に開始され、ゲーム画面のフレーム更新に応じて繰り返し実行されるものとして説明する。また、以下の画面提供処理の説明では、実施形態1と同様の処理を行うステップについては同一の参照番号を付して説明を省略し、本実施形態の画面提供処理に特徴的な処理を行うステップのみの説明に留める。
上述した実施形態2では、クライアント端末で行われた操作に対する画面更新レスポンス性を向上させるために、伝送路の短い描画サーバにゲーム画面の描画を割り当てることで伝送遅延を低減する方法について説明した。しかしながら、伝送遅延を低減する方法はこれに限られるものではない。
上述した実施形態2では、命令サーバ100が全ての地域の描画サーバ300群、及び各描画サーバ300の展開領域に展開されている描画リソースの情報を把握可能であるものとして説明した。しかしながら、描画システムの規模によっては、各地域の描画サーバ300の全てについて展開されている描画リソースの情報を命令サーバ100において集中管理することは現実的でない可能性がある。即ち、命令サーバ100では、各クライアント端末に提供するフレームのゲーム画面の生成に必要な演算処理に加えて、これらの描画リソースの展開状況を把握することになるため、命令サーバ100に負荷が集中する可能性がある。本実施形態では、このような描画システムにおける負荷分散を行うために、地域ごとに描画サーバ300群の描画サーバ300の各々の描画リソースの展開状況を管理する中継装置を設ける例について説明する。
図9は、本発明の実施形態に係る描画システムのシステム構成を示した図である。本実施形態の描画システムでは、実施形態1及び2と同様、各クライアント端末400から受信した要求に応じてゲーム画面を描画し、該クライアント端末400に送信する。
図10は、本実施形態の描画システムに係る命令サーバ100の機能構成を示したブロック図である。本実施形態の命令サーバ100は、命令展開把握部105が除外された以外は、実施形態2と同様の構成であるため、詳細な説明は省略する。
図11は、本実施形態の描画システムに係る中継装置200の機能構成を示したブロック図である。
このような構成をもつ本実施形態の描画システムの画面提供処理について、図12のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、命令サーバ100の命令CPU101、中継装置200の中継CPU201、描画サーバ300の描画CPU301の各々が、例えばそれぞれのROMに記憶されている対応する処理プログラムを読み出し、RAMに展開して実行することにより実現することができる。本画面提供処理は、例えば命令サーバ100において任意のクライアント端末400(対象クライアント端末)からのゲームコンテンツの提供要求等の画面送信要求がなされた際に開始され、ゲーム画面のフレーム更新に応じて繰り返し実行されるものとして説明する。また、以下の画面提供処理の説明では、実施形態1及び2と同様の処理を行うステップについては同一の参照番号を付して説明を省略し、本実施形態の画面提供処理に特徴的な処理を行うステップのみの説明に留める。
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。また本発明に係る描画システムは、1以上のコンピュータを描画システムの各装置として機能させるプログラムによっても実現可能である。該プログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供/配布することができる。本発明の範囲を公にするために、以下の請求項を添付する。
Claims (17)
- クライアント端末から受信した情報に基づいて画面の描画命令に係る情報を送出する命令サーバと、該命令サーバから受信した前記描画命令に係る情報に従って画面の描画を行い、クライアント端末に送信する描画サーバとを有する描画システムであって、
前記命令サーバは、
対象クライアント端末から画面送信要求を受信する要求受信手段と、
前記対象クライアント端末に提供される画面に係る演算処理を実行し、前記描画命令に係る情報を生成する生成手段と、
前記命令サーバに関連付けられた複数の前記描画サーバのうち、前記描画命令に係る情報に従って画面の描画を行う際に必要な描画リソースのうちの少なくとも一部を展開している描画サーバに、前記描画命令に係る情報及び画面の送信先である前記対象クライアント端末を示す送信先情報を送出する送出手段と、を有し、
前記描画サーバは、
画面の描画に使用する描画リソースを格納する格納手段と、
前記送出手段により送出された前記描画命令に係る情報に基づいて、前記格納手段から必要な描画リソースのうちまだ展開されていない描画リソースを読み出し、展開領域に展開して保持する展開手段と、
前記展開領域に保持されている描画リソースを使用し、前記描画命令に係る情報に基づいて画面の描画を行う描画手段と、
前記送信先情報に基づいて、前記描画手段により描画された画面を前記対象クライアント端末に送信する画面送信手段と、を有する
ことを特徴とする描画システム。 - 前記命令サーバは、前記対象クライアント端末が存在する地域を特定する特定手段をさらに有し、
前記送出手段は、前記特定手段により特定された地域に対応する地域に存在する複数の前記描画サーバのうち、前記必要な描画リソースのうちの少なくとも一部を展開している描画サーバに、前記描画命令に係る情報及び前記送信先情報を送出する
ことを特徴とする請求項1に記載の描画システム。 - 前記送出手段は、前記特定手段により特定された地域に最も近い地域に存在する前記必要な描画リソースのうちの少なくとも一部を展開している描画サーバに前記描画命令に係る情報及び前記送信先情報を送出することを特徴とする請求項2に記載の描画システム。
- 前記命令サーバは、前記対象クライアント端末が存在する地域を特定する特定手段をさらに有し、
前記送出手段は、前記特定手段により特定された地域に対応する複数の地域のうち、各々の地域に存在する複数の前記描画サーバの動作状況に基づいて決定された1つの地域に存在する複数の前記描画サーバから、前記必要な描画リソースのうちの少なくとも一部を展開している描画サーバを選択して、前記描画命令に係る情報及び前記送信先情報を送出する
ことを特徴とする請求項1に記載の描画システム。 - 前記対応する地域に存在する複数の前記描画サーバは、各々異なる描画リソースを前記展開領域に保持することを特徴とする請求項2乃至4のいずれか1項に記載の描画システム。
- 前記画面は、シーンごとに異なる描画リソースを使用して描画される所定のゲームに係るゲーム画面であり、
前記描画命令に係る情報は、前記ゲーム画面に対応するシーンの情報を含み、
前記対応する地域に存在する複数の前記描画サーバは、それぞれ前記ゲームの異なるシーンの描画を行うように予め割り当てられ、
前記送出手段は、前記描画命令に係る情報に含まれる前記シーンの情報を参照して、対応する描画サーバに該描画命令に係る情報及び前記送信先情報を送信する
ことを特徴とする請求項2乃至5のいずれか1項に記載の描画システム。 - 前記送出手段は、前記必要な描画リソースのうちの少なくとも一部を展開している複数の前記描画サーバのうち、動作状況に基づいて決定された1つの描画サーバに、前記描画命令に係る情報及び前記送信先情報を送出することを特徴とする請求項1乃至6のいずれか1項に記載の描画システム。
- 前記描画サーバの動作状況は、接続端末数、平均伝送レート、GPU稼働率、輻輳状況、及び伝送路の長さの少なくともいずれかにより評価されることを特徴とする請求項4または7に記載の描画システム。
- クライアント端末から受信した情報に基づいて画面の描画命令に係る情報を送出する命令サーバと、前記描画命令に係る情報に従って画面の描画を行い、クライアント端末に送信する描画サーバと、前記命令サーバから受信した前記描画命令に係る情報を前記描画サーバに送信する中継装置と、を有する描画システムであって、
前記命令サーバは、
対象クライアント端末から画面送信要求を受信する要求受信手段と、
前記対象クライアント端末に提供される画面に係る演算処理を実行し、前記描画命令に係る情報を生成する生成手段と、
前記対象クライアント端末が存在する地域を特定する特定手段と、
前記特定手段により特定された地域に対応する地域に存在する前記中継装置に、前記生成手段により生成された前記描画命令に係る情報及び画面の送信先である前記対象クライアント端末を示す送信先情報を送出する送出手段と、を有し、
前記中継装置は、
前記送出手段により送出された前記描画命令に係る情報及び前記送信先情報を受信する命令受信手段と、
前記描画命令に係る情報を参照し、該中継装置に関連付けられた複数の前記描画サーバのうち、該描画命令に係る情報に従って画面の描画を行う際に必要な描画リソースのうちの少なくとも一部を展開している描画サーバに、前記描画命令に係る情報及び前記送信先情報を送信する送信手段と、を有し、
前記描画サーバは、
画面の描画に使用する描画リソースを格納する格納手段と、
前記送信手段により送信された前記描画命令に係る情報に基づいて、前記格納手段から必要な描画リソースのうちまだ展開されていない描画リソースを読み出し、展開領域に展開して保持する展開手段と、
前記展開領域に保持されている描画リソースを使用し、前記描画命令に係る情報に基づいて画面の描画を行う描画手段と、
前記送信先情報に基づいて、前記描画手段により描画された画面を前記対象クライアント端末に送信する画面送信手段と、を有する
ことを特徴とする描画システム。 - 前記送出手段は、前記特定手段により特定された地域に最も近い地域に存在する前記中継装置に前記描画命令に係る情報及び前記送信先情報を送出することを特徴とする請求項9に記載の描画システム。
- 前記中継装置に関連付けられた複数の前記描画サーバは、各々異なる描画リソースを前記展開領域に保持することを特徴とする請求項9または10に記載の描画システム。
- 前記画面は、シーンごとに異なる描画リソースを使用して描画される所定のゲームに係るゲーム画面であり、
前記描画命令に係る情報は、前記ゲーム画面に対応するシーンの情報を含み、
前記中継装置に関連付けられた複数の前記描画サーバは、それぞれ前記ゲームの異なるシーンの描画を行うように予め割り当てられ、
前記送信手段は、前記描画命令に係る情報に含まれる前記シーンの情報を参照して、対応する描画サーバに該描画命令に係る情報及び前記送信先情報を送信する
ことを特徴とする請求項9乃至11のいずれか1項に記載の描画システム。 - 前記命令サーバは、前記対象クライアント端末において入力された操作入力に係る情報を受信する操作受信手段をさらに備え、
前記生成手段は、前記操作受信手段により受信された前記操作入力に係る情報に基づいて、前記画面に係る演算処理を実行する
ことを特徴とする請求項1乃至12のいずれか1項に記載の描画システム。 - クライアント端末から受信した情報に基づいて画面の描画命令に係る情報を送出する命令サーバと、画面の描画に使用する描画リソースを格納する格納手段を有し、該命令サーバから受信した前記描画命令に係る情報に従って画面の描画を行い、クライアント端末に送信する描画サーバとを有する描画システムの制御方法であって、
前記命令サーバは、
対象クライアント端末から画面送信要求を受信する要求受信工程と、
前記対象クライアント端末に提供される画面に係る演算処理を実行し、前記描画命令に係る情報を生成する生成工程と、
前記命令サーバに関連付けられた複数の前記描画サーバのうち、前記描画命令にかかる情報に従って画面の描画を行う際に必要な描画リソースのうちの少なくとも一部を展開している描画サーバに、前記描画命令に係る情報及び画面の送信先である前記対象クライアント端末を示す送信先情報を送出する送出工程と、を有し、
前記描画サーバは、
前記送出工程において送出された前記描画命令に係る情報に基づいて、前記格納手段から必要な描画リソースのうちまだ展開されていない描画リソースを読み出し、展開領域に展開して保持する展開工程と、
前記展開領域に保持されている描画リソースを使用し、前記描画命令に係る情報に基づいて画面の描画を行う描画工程と、
前記送信先情報に基づいて、前記描画工程において描画された画面を前記対象クライアント端末に送信する画面送信工程と、を有する
ことを特徴とする描画システムの制御方法。 - クライアント端末から受信した情報に基づいて画面の描画命令に係る情報を送出する命令サーバと、画面の描画に使用する描画リソースを格納する格納手段を有し、前記描画命令に係る情報に従って画面の描画を行い、クライアント端末に送信する描画サーバと、前記命令サーバから受信した前記描画命令に係る情報を前記描画サーバに送信する中継装置と、を有する描画システムの制御方法であって、
前記命令サーバは、
対象クライアント端末から画面送信要求を受信する要求受信工程と、
前記対象クライアント端末に提供される画面に係る演算処理を実行し、前記描画命令に係る情報を生成する生成工程と、
前記対象クライアント端末が存在する地域を特定する特定工程と、
前記特定工程において特定された地域に対応する地域に存在する前記中継装置に、前記生成工程において生成された前記描画命令に係る情報及び画面の送信先である前記対象クライアント端末を示す送信先情報を送出する送出工程と、を有し、
前記中継装置は、
前記送出工程において送出された前記描画命令に係る情報及び前記送信先情報を受信する命令受信工程と、
前記描画命令に係る情報を参照し、該中継装置に関連付けられた複数の前記描画サーバのうち、該描画命令に従って画面の描画を行う際に必要な描画リソースのうちの少なくとも一部を展開している描画サーバに、前記描画命令に係る情報及び前記送信先情報を送信する送信工程と、を有し、
前記描画サーバは、
前記送信工程において送信された前記描画命令に係る情報に基づいて、前記格納手段から必要な描画リソースのうちまだ展開されていない描画リソースを読み出し、展開領域に展開して保持する展開工程と、
前記展開領域に保持されている描画リソースを使用し、前記描画命令に係る情報に基づいて画面の描画を行う描画工程と、
前記送信先情報に基づいて、前記描画工程において描画された画面を前記対象クライアント端末に送信する画面送信工程と、を有する
ことを特徴とする描画システムの制御方法。 - 1以上のコンピュータを、請求項1乃至13のいずれか1項に記載の描画システムの各手段として機能させるためのプログラム。
- 請求項16に記載のプログラムを記録したコンピュータが読み取り可能な記録媒体。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/007657 WO2015097726A1 (ja) | 2013-12-26 | 2013-12-26 | 描画システム、制御方法、プログラム、及び記録媒体 |
EP13900541.7A EP3089113A4 (en) | 2013-12-26 | 2013-12-26 | Rendering system, control method, program, and recording medium |
JP2014510571A JP5559445B1 (ja) | 2013-12-26 | 2013-12-26 | 描画システム、制御方法、プログラム、及び記録媒体 |
TW103121290A TWI602146B (zh) | 2013-12-26 | 2014-06-20 | Drawing system, control method, program, and recording medium |
US15/185,350 US10722790B2 (en) | 2013-12-26 | 2016-06-17 | Rendering system, control method, and storage medium |
US16/902,723 US11020662B2 (en) | 2013-12-26 | 2020-06-16 | Rendering system, control method, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/007657 WO2015097726A1 (ja) | 2013-12-26 | 2013-12-26 | 描画システム、制御方法、プログラム、及び記録媒体 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/185,350 Continuation US10722790B2 (en) | 2013-12-26 | 2016-06-17 | Rendering system, control method, and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015097726A1 true WO2015097726A1 (ja) | 2015-07-02 |
Family
ID=51416975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2013/007657 WO2015097726A1 (ja) | 2013-12-26 | 2013-12-26 | 描画システム、制御方法、プログラム、及び記録媒体 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10722790B2 (ja) |
EP (1) | EP3089113A4 (ja) |
JP (1) | JP5559445B1 (ja) |
TW (1) | TWI602146B (ja) |
WO (1) | WO2015097726A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3089113A4 (en) * | 2013-12-26 | 2017-11-15 | Kabushiki Kaisha Square Enix (also trading as "Square Enix Co., Ltd." | Rendering system, control method, program, and recording medium |
US10860347B1 (en) | 2016-06-27 | 2020-12-08 | Amazon Technologies, Inc. | Virtual machine with multiple content processes |
CN111790145A (zh) * | 2019-09-10 | 2020-10-20 | 厦门雅基软件有限公司 | 数据处理的方法、装置、云游戏引擎及计算机存储介质 |
CN110955504B (zh) * | 2019-10-21 | 2022-12-20 | 量子云未来(北京)信息科技有限公司 | 智能分配渲染任务的方法、服务器、系统及存储介质 |
CN111131390B (zh) * | 2019-11-25 | 2022-06-21 | 深圳市瑞云科技有限公司 | 一种提高云渲染并发数的存储缓存方法 |
CN111494936A (zh) * | 2020-02-12 | 2020-08-07 | 阿里巴巴集团控股有限公司 | 画面渲染方法、设备、系统及存储介质 |
CN113617022B (zh) * | 2021-08-09 | 2024-04-05 | 在线途游(北京)科技有限公司 | 一种加快游戏应用启动速度的方法及装置 |
US11571619B1 (en) * | 2021-08-16 | 2023-02-07 | Amazon Technologies, Inc. | Cross-region management of game server fleets |
US11571618B1 (en) * | 2021-08-16 | 2023-02-07 | Amazon Technologies, Inc. | Multi-region game server fleets |
CN114513512B (zh) * | 2022-02-08 | 2023-01-24 | 腾讯科技(深圳)有限公司 | 界面渲染的方法及装置 |
US20230293986A1 (en) * | 2022-03-17 | 2023-09-21 | Bidstack Group PLC | Server-side gaming method and system for the delivery of remotely-rendered content comprising impression content |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009138878A2 (en) | 2008-05-12 | 2009-11-19 | Playcast Media Systems, Ltd. | Centralized streaming game server |
JP2012245347A (ja) * | 2011-05-25 | 2012-12-13 | Square Enix Holdings Co Ltd | 描画制御装置、その制御方法、プログラム、記録媒体、描画サーバ、及び描画システム |
WO2013153787A1 (ja) * | 2012-04-12 | 2013-10-17 | 株式会社スクウェア・エニックス・ホールディングス | 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7783695B1 (en) * | 2000-04-19 | 2010-08-24 | Graphics Properties Holdings, Inc. | Method and system for distributed rendering |
US20090118019A1 (en) * | 2002-12-10 | 2009-05-07 | Onlive, Inc. | System for streaming databases serving real-time applications used through streaming interactive video |
US9138644B2 (en) * | 2002-12-10 | 2015-09-22 | Sony Computer Entertainment America Llc | System and method for accelerated machine switching |
US20110122063A1 (en) * | 2002-12-10 | 2011-05-26 | Onlive, Inc. | System and method for remote-hosted video effects |
JP2008145985A (ja) * | 2006-12-13 | 2008-06-26 | Cyber Map Japan:Kk | 3次元地図配信システム及びサーバ装置 |
WO2011041516A1 (en) * | 2009-09-30 | 2011-04-07 | Zynga Game Network Inc. | Apparatuses, methods and systems for an online game manager |
US8632409B2 (en) * | 2010-05-11 | 2014-01-21 | Bungie, Llc | Method and apparatus for online rendering of game files |
US8348752B2 (en) * | 2011-05-02 | 2013-01-08 | At&T Intellectual Property I, Lp | Method and apparatus for managing a gaming application |
JP5945010B2 (ja) * | 2012-02-14 | 2016-07-05 | エンパイア テクノロジー ディベロップメント エルエルシー | 負荷分散システム、方法、プログラム、記録媒体 |
US20130254417A1 (en) * | 2012-03-21 | 2013-09-26 | Jason Nicholls | System method device for streaming video |
EP2648418A1 (en) * | 2012-04-05 | 2013-10-09 | Thomson Licensing | Synchronization of multimedia streams |
US9389920B2 (en) * | 2012-05-02 | 2016-07-12 | Futurewei Technologies, Inc. | Intelligent data center cluster selection |
US9381432B2 (en) * | 2012-08-24 | 2016-07-05 | Microsoft Technology Licensing, Llc | Game migration |
US9717982B2 (en) * | 2012-12-21 | 2017-08-01 | Microsoft Technology Licensing, Llc | Client rendering of latency sensitive game features |
CN105830031B (zh) * | 2013-12-18 | 2020-12-11 | 瑞典爱立信有限公司 | 用于选择媒体处理单元的方法和网络节点 |
EP3089113A4 (en) * | 2013-12-26 | 2017-11-15 | Kabushiki Kaisha Square Enix (also trading as "Square Enix Co., Ltd." | Rendering system, control method, program, and recording medium |
US10491666B2 (en) * | 2017-04-03 | 2019-11-26 | Sony Interactive Entertainment America Llc | Systems and methods for using a distributed game engine |
-
2013
- 2013-12-26 EP EP13900541.7A patent/EP3089113A4/en not_active Withdrawn
- 2013-12-26 WO PCT/JP2013/007657 patent/WO2015097726A1/ja active Application Filing
- 2013-12-26 JP JP2014510571A patent/JP5559445B1/ja active Active
-
2014
- 2014-06-20 TW TW103121290A patent/TWI602146B/zh active
-
2016
- 2016-06-17 US US15/185,350 patent/US10722790B2/en active Active
-
2020
- 2020-06-16 US US16/902,723 patent/US11020662B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009138878A2 (en) | 2008-05-12 | 2009-11-19 | Playcast Media Systems, Ltd. | Centralized streaming game server |
JP2012245347A (ja) * | 2011-05-25 | 2012-12-13 | Square Enix Holdings Co Ltd | 描画制御装置、その制御方法、プログラム、記録媒体、描画サーバ、及び描画システム |
WO2013153787A1 (ja) * | 2012-04-12 | 2013-10-17 | 株式会社スクウェア・エニックス・ホールディングス | 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3089113A4 |
Also Published As
Publication number | Publication date |
---|---|
US11020662B2 (en) | 2021-06-01 |
TWI602146B (zh) | 2017-10-11 |
US20200349862A1 (en) | 2020-11-05 |
EP3089113A4 (en) | 2017-11-15 |
JP5559445B1 (ja) | 2014-07-23 |
JPWO2015097726A1 (ja) | 2017-03-23 |
US10722790B2 (en) | 2020-07-28 |
US20160296842A1 (en) | 2016-10-13 |
EP3089113A1 (en) | 2016-11-02 |
TW201525935A (zh) | 2015-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5559445B1 (ja) | 描画システム、制御方法、プログラム、及び記録媒体 | |
JP6310073B2 (ja) | 描画システム、制御方法、及び記憶媒体 | |
JP5937711B2 (ja) | プログラム、記録媒体、情報処理装置及び制御方法 | |
US9814979B2 (en) | Data provision system, provision apparatus, execution apparatus, control method, and recording medium | |
JP6196668B2 (ja) | クラウド型ゲームシステムにおける描画リソースの動的割り当て | |
JP6126221B2 (ja) | 画面提供装置、画面提供システム、制御方法、プログラム、及び記録媒体 | |
JP5987060B2 (ja) | ゲームシステム、ゲーム装置、制御方法、プログラム及び記録媒体 | |
JP5973409B2 (ja) | プログラム、記録媒体、情報処理装置及び制御方法 | |
WO2002092177A2 (en) | Method and arrangement for providing an interactive game including three-dimensional graphics | |
JP6265337B2 (ja) | プログラム、記録媒体及び描画装置決定方法 | |
JP5817052B2 (ja) | 情報処理装置、制御方法、プログラム、及び記録媒体 | |
JP6054677B2 (ja) | 処理システム、情報処理装置、制御方法、プログラム、及び記録媒体 | |
KR20130062463A (ko) | 다중 사용자 및 멀티 플랫폼 지원을 위한 게임 스트리밍 시스템 및 방법 | |
JP5622984B1 (ja) | 情報処理装置、描画システム、制御方法及びプログラム | |
JP5932892B2 (ja) | コンテンツ提供システム、コンテンツ提供機器、コンテンツ再生機器、制御方法、プログラム、及び記録媒体 | |
Cai et al. | Cloud Gaming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2014510571 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13900541 Country of ref document: EP Kind code of ref document: A1 |
|
REEP | Request for entry into the european phase |
Ref document number: 2013900541 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2013900541 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |