WO2015097726A1 - 描画システム、制御方法、プログラム、及び記録媒体 - Google Patents

描画システム、制御方法、プログラム、及び記録媒体 Download PDF

Info

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
Application number
PCT/JP2013/007657
Other languages
English (en)
French (fr)
Inventor
満 紙山
Original Assignee
株式会社スクウェア・エニックス
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社スクウェア・エニックス filed Critical 株式会社スクウェア・エニックス
Priority to PCT/JP2013/007657 priority Critical patent/WO2015097726A1/ja
Priority to EP13900541.7A priority patent/EP3089113A4/en
Priority to JP2014510571A priority patent/JP5559445B1/ja
Priority to TW103121290A priority patent/TWI602146B/zh
Publication of WO2015097726A1 publication Critical patent/WO2015097726A1/ja
Priority to US15/185,350 priority patent/US10722790B2/en
Priority to US16/902,723 priority patent/US11020662B2/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING 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/00Shaping by coating a mould, core or other substrate, i.e. by depositing material and stripping-off the shaped article; Apparatus therefor
    • B29C41/02Shaping 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/20Shaping 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B23/00Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes
    • G09B23/28Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for medicine
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B23/00Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes
    • G09B23/28Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for medicine
    • G09B23/281Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for medicine for pregnancy, birth or obstetrics
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B23/00Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes
    • G09B23/28Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for medicine
    • G09B23/30Anatomical models
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B23/00Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes
    • G09B23/28Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for medicine
    • G09B23/30Anatomical models
    • G09B23/34Anatomical models with removable parts
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29LINDEXING SCHEME ASSOCIATED WITH SUBCLASS B29C, RELATING TO PARTICULAR ARTICLES
    • B29L2031/00Other particular articles
    • B29L2031/753Medical equipment; Accessories therefor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29LINDEXING SCHEME ASSOCIATED WITH SUBCLASS B29C, RELATING TO PARTICULAR ARTICLES
    • B29L2031/00Other particular articles
    • B29L2031/753Medical equipment; Accessories therefor
    • B29L2031/7532Artificial 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

描画システム、制御方法、プログラム、及び記録媒体
 本発明は、描画システム、制御方法、プログラム、及び記録媒体に関し、特にサーバ側で描画した画面をクライアント端末に提供する技術に関する。
 近年の通信技術の発展により、インターネット等のネットワーク通信を利用した様々なサービス提供がなされている。ユーザはPCや携帯電話等のクライアント端末をサーバに接続させることで、サーバからこのようなサービスに係るデータをネットワークを介して受信することができる。例えばユーザは、所謂ネットワークゲームのようなエンタテインメント性の高いコンテンツの提供を受けることができる。
 ネットワークゲームの1つに、MMORPG(Massively Multiplayer Online Role-Playing Game)等の多人数同時参加型のネットワークゲームがある。このような多人数同時参加型のネットワークゲームでは、ユーザは使用するクライアント端末を、ゲームを提供するサーバに接続させることで、該サーバ機器に接続されているクライアント端末を使用するユーザとの対戦プレイや協力プレイを行うことができる。
 一般的な多人数参加型のネットワークゲームでは、クライアント端末はサーバとの間でゲームに係る処理に必要なデータの送受信を行い、受信したデータに基づいてゲーム画面を描画して接続された表示装置に表示する。具体的にはクライアント端末からサーバへはクライアント端末においてなされた操作入力の情報等が送信され、サーバにおいて管理される各参加ユーザの状態更新等の処理に使用される。また、サーバからクライアント端末へは、状態更新等の処理により生成された描画キャラクタの位置等のステータスやチャットのテキストデータ等、ゲーム画面の描画に必要なデータが送信される。描画されたゲーム画面が表示されることで、ユーザはネットワークゲームをプレイすることができる。
 しかしながら、このようなクライアント端末で描画処理を行うネットワークゲームの中には、クライアント端末が十分な描画性能を有していることを要求するものがある。例えば写実的な3Dグラフィックス等の美麗なグラフィックスで表現されたゲーム画面を提供するゲームの実行には、十分な描画性能が要求される。具体的には、ゲーム画面の描画を行うためにクライアント端末が有する描画チップ等が必要な描画演算を実行するための演算能力を有していること、またそもそも美麗なグラフィックスに使用されるテクスチャ等のリソースデータを展開するためのGPUメモリを有していることが要求される。しかしながら、このような高い描画演算能力や大容量のGPUメモリを有している描画ハードウェアは高価であり、所有しているユーザは当然限られる。故に、ユーザがこのようなネットワークゲームサービスを利用を開始するためのハードルとなり、結果的にサービスの利用者を増加させることが困難になる可能性がある。
 一方で、通信技術が発展したことによる新たなサービス提供を行う技術として、ゲーム画面の描画をサーバが行い、サーバからクライアント端末に対してゲーム画面を提供する技術が存在する。特許文献1には、サーバにおいて描画されたゲーム画面をストリーミング形式でクライアント端末に送信する、所謂クラウド型のネットワークゲームサービスの技術が開示されている。このようなゲームサービスによれば、ユーザが使用するクライアント端末の描画性能に依らず、美麗なグラフィックスで表現されたゲーム画面を、ユーザに提供することが可能である。即ち、クライアント端末は、ネットワークを介してストリーミング形式で送信されたゲーム画面を受信して表示装置に表示する能力と、クライアント端末においてなされた操作入力の情報をサーバに送信する能力さえ有していれば、専用装置の導入コストをかけることなくゲームサービスの提供を受けることができる。
国際公開第2009/138878号明細書
 ところで、特許文献1のようなネットワークゲームサービスでは、同時にサービス利用する複数のクライアント端末に対して同時にゲーム画面の生成及び送信を行うことが考えられる。このため、クライアント端末に送信するゲーム画面を生成するために、複数の描画サーバが設けられる実装が考えられる。即ち、サーバに画面送信要求を行ったクライアント端末の各々に対して、複数の描画サーバのうち、例えば割り当てられている端末数が最も少ない等の1つの描画サーバが割り当てられ、該クライアント端末に送信するゲーム画面の描画を行う。
 しかしながら、描画されるゲーム画面は、ゲームの種類、描画するゲーム内のシーン、ユーザの設定等によって描画処理に要する演算量が異なる。従って、単に接続する端末数に応じて割り当てを行うような従来の方式では、描画サーバの演算リソースの効率化を何ら考慮するものでないため、例えば演算量の多いゲーム画面を要求するクライアント端末に係る描画処理を多数割り当てられた描画サーバにおいて処理遅延が発生しうる。つまり、これまで描画処理の効率化の観点に基づいてクライアント端末に対する描画サーバの割り当てを行うまではなかった。
 本発明は、上述の問題点に鑑みてなされたものであり、クライアント端末に送信する画面に係る描画処理の演算量を好適に低減する描画システム、制御方法、プログラム、及び記録媒体を提供することを目的とする。
 前述の目的を達成するために、本発明の一態様に係る描画システムは、以下の構成を備えることを特徴とする。具体的には描画システムは、クライアント端末から受信した情報に基づいて画面の描画命令に係る情報を送出する命令サーバと、該命令サーバから受信した描画命令に係る情報に従って画面の描画を行い、クライアント端末に送信する描画サーバとを有する描画システムであって、命令サーバは、対象クライアント端末から画面送信要求を受信する要求受信手段と、対象クライアント端末に提供される画面に係る演算処理を実行し、描画命令に係る情報を生成する生成手段と、命令サーバに関連付けられた複数の描画サーバのうち、描画命令に係る情報に従って画面の描画を行う際に必要な描画リソースのうちの少なくとも一部を展開している描画サーバに、描画命令に係る情報及び画面の送信先である対象クライアント端末を示す送信先情報を送出する送出手段と、を有し、描画サーバは、画面の描画に使用する描画リソースを格納する格納手段と、送出手段により送出された描画命令に係る情報に基づいて、格納手段から必要な描画リソースのうちまだ展開されていない描画リソースを読み出し、展開領域に展開して保持する展開手段と、展開領域に保持されている描画リソースを使用し、描画命令に係る情報に基づいて画面の描画を行う描画手段と、送信先情報に基づいて、描画手段により描画された画面を対象クライアント端末に送信する画面送信手段と、を有することを特徴とする。
 前述の目的を達成するために、本発明の別の態様に係る描画システムは、以下の構成を備えることを特徴とする。具体的には描画システムは、クライアント端末から受信した情報に基づいて画面の描画命令に係る情報を送出する命令サーバと、描画命令に係る情報に従って画面の描画を行い、クライアント端末に送信する描画サーバと、命令サーバから受信した描画命令に係る情報を描画サーバに送信する中継装置と、を有する描画システムであって、命令サーバは、対象クライアント端末から画面送信要求を受信する要求受信手段と、対象クライアント端末に提供される画面に係る演算処理を実行し、描画命令に係る情報を生成する生成手段と、対象クライアント端末が存在する地域を特定する特定手段と、特定手段により特定された地域に対応する地域に存在する中継装置に、生成手段により生成された描画命令に係る情報及び画面の送信先である対象クライアント端末を示す送信先情報を送出する送出手段と、を有し、中継装置は、送出手段により送出された描画命令に係る情報及び送信先情報を受信する命令受信手段と、描画命令に係る情報を参照し、該中継装置に関連付けられた複数の描画サーバのうち、該描画命令に係る情報に従って画面の描画を行う際に必要な描画リソースのうちの少なくとも一部を展開している描画サーバに、描画命令に係る情報及び送信先情報を送信する送信手段と、を有し、描画サーバは、画面の描画に使用する描画リソースを格納する格納手段と、送信手段により送信された描画命令に係る情報に基づいて、格納手段から必要な描画リソースのうちまだ展開されていない描画リソースを読み出し、展開領域に展開して保持する展開手段と、展開領域に保持されている描画リソースを使用し、描画命令に係る情報に基づいて画面の描画を行う描画手段と、送信先情報に基づいて、描画手段により描画された画面を対象クライアント端末に送信する画面送信手段と、を有することを特徴とする。
 このような構成により本発明によれば、クライアント端末に送信する画面に係る描画処理の演算量を好適に低減することが可能となる。
 本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
 添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
本発明の実施形態1に係る描画システムのシステム構成を示した図 本発明の実施形態1に係る命令サーバ100の機能構成を示した図 本発明の実施形態に係る描画サーバ300の機能構成を示した図 本発明の実施形態1に係る描画システムにおいて実行される画面提供処理を例示したフローチャート 本発明の実施形態に係る描画命令に係る情報を説明するための図 本発明の実施形態2に係る描画システムのシステム構成を示した図 本発明の実施形態2に係る命令サーバ100の機能構成を示した図 本発明の実施形態2に係る描画システムにおいて実行される画面提供処理を例示したフローチャート 本発明の実施形態3に係る描画システムのシステム構成を示した図 本発明の実施形態3に係る命令サーバ100の機能構成を示した図 本発明の実施形態3に係る中継装置200の機能構成を示した図 本発明の実施形態3に係る描画システムにおいて実行される画面提供処理を例示したフローチャート
 [実施形態1]
 以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。以下に説明する一実施形態は、描画システムの一例としての、ネットワークを介してクライアント端末から受信した画面要求に応じてゲーム画面を描画し、得られたゲーム画面をネットワークを介してストリーミング形式でクライアント端末に送信するゲームシステムに、本発明を適用した例を説明する。しかし、本発明は、ゲームに限らず、クライアント端末からの要求に従って画面の描画を行い、得られた画面をクライアント端末に送信することが可能な任意の機器及びシステムに適用可能である。
 《描画システムの構成》
 図1は、本発明の実施形態1に係る描画システムのシステム構成を示した図である。本実施形態の描画システムでは、各クライアント端末400から受信した要求に応じてゲーム画面を描画し、該クライアント端末400に送信する。
 まず、ユーザ等の操作により1つのクライアント端末400からネットワーク500を介してゲーム画面の提供要求が命令サーバ100になされると、命令サーバ100は、提供するゲーム画面に係る演算処理を実行し、ゲーム画面の描画命令に係る情報を生成する。
 また、命令サーバ100には複数の描画サーバ300が接続されており、命令サーバ100はゲーム画面の提供要求を受信した1つのクライアント端末400に対して、このうちの1つの描画サーバ300をゲーム画面の描画処理を行うサーバに割り当てる。命令サーバ100と描画サーバ300とは、命令サーバ100とクライアント端末400間と同様にネットワーク500を介して接続してもよいし、命令サーバ100と描画サーバ300とは所定のローカルネットワーク内で接続するものであってもよい。
 描画サーバ300の詳細な処理については後述するが、描画サーバ300の各々には、ゲーム画面の生成に必要な描画リソース(モデルデータ、テクスチャデータ、画面効果等を実現する描画プログラム等)が格納されており、描画サーバ300では該リソースを展開して使用しながらゲーム画面の描画が行われる。
 以下、このようなシステム構成を有する本実施形態のゲームシステムの各装置について、ブロック図を示してその機能構成を説明する。以下の説明では複数の装置で使用される同様のハードウェアについて、装置間でそれらのハードウェアを区別するために命令サーバ100、描画サーバ300のそれぞれに対して「命令」、「描画」の接頭文字を付して説明する。しかしながら、これらの接頭文字は単に装置間でハードウェアの識別のために付すものであり、本実施形態の記載においては該ハードウェアの機能や動作を特定するために使用されるものではない。
  〈命令サーバ100の構成〉
 図2は、本実施形態の描画システムに係る命令サーバ100の機能構成を示したブロック図である。
 命令CPU101は、命令サーバ100が有する各ブロックの動作を制御する。具体的には命令CPU101は、命令ROM102に格納された各ブロックの動作プログラムやアプリケーション等のプログラムを読み出し、命令RAM103に展開して実行することにより各ブロックの動作を制御する。また命令CPU101は、クライアント端末400に対して画面を提供するゲームに係る必要な演算処理を実行し、ゲーム画面の描画を指示する描画命令に係る情報を生成する。
 命令ROM102は、例えば不揮発性メモリ等の恒久的にデータを記録する記録装置である。命令ROM102は、命令サーバ100が有する各ブロックの動作プログラムだけでなく、各ブロックの動作において使用されるパラメータ等の情報を格納する。また命令RAM103は、揮発性メモリである。命令RAM103は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データの格納領域として、あるいは各ブロックの処理を行うための作業領域としても用いられる。
 命令通信部104は、命令サーバ100が有する外部装置との通信インタフェースである。本実施形態では命令通信部104は、クライアント端末400から画面送信要求やクライアント端末400においてなされた操作入力の情報を受信する。また命令通信部104は、命令サーバ100に接続されている描画サーバ300の各々から、該描画サーバ300のGPUメモリ306に展開されている描画リソースの情報を受信する。また命令通信部104は、クライアント端末400に対してゲーム画面の生成及び送信を行わせる描画サーバ300に対して、生成した描画命令に係る情報と、ゲーム画面の送信先であるクライアント端末400を特定するための情報(送信先情報)とを送信する。
 命令展開把握部105は、接続されている描画サーバ300の各々から受信したGPUメモリ306に展開されている描画リソースの情報を、該描画サーバ300の識別情報に関連付けて管理する。本実施形態では命令CPU101は、描画命令により描画されるゲーム画面について、使用される描画リソースが既にGPUメモリ306に展開されている描画サーバ300に対してゲーム画面の描画を割り当てる。これは、GPUメモリ306に展開されている描画リソースを再利用することで、描画処理の効率化が図れることに基づく。
 ゲーム画面の描画に使用する描画リソースはHDDやゲームソフトROM等の一般的な記録装置に記録されているが、このような記録装置は頻繁なアクセスに不向きであり、描画処理において都度記録装置からデータ読み出しを行うことは非効率的である。そこで、描画リソースは通常、該記録装置から読み出されてGPUメモリ306等の展開領域に展開され、高速なデータアクセスが可能なように保持される。GPUメモリ306は後述のGPU305からの高速アクセスが可能なように構成されるため、展開された描画リソースが描画処理に使用されることで、GPU305による描画処理を効率化することができる。一般に、ゲーム進行において同一シーンをプレイしている間は、連続しているフレームにおいてゲーム画面に含まれる描画オブジェクトの分布は変化が少ないといえる。即ち、例えば前のフレームに係る描画処理において既にGPUメモリ306に描画リソースが展開されていたのであれば、次のフレームに係る描画処理において、該描画リソースを再利用できる可能性が高い。また、特に本実施形態の描画システムのように複数のクライアント端末400が同一のゲームコンテンツをプレイできるようなサービス提供が行われる場合、複数のクライアント端末400に対して同一のシーンに係るゲーム画面の送信がなされる可能性がある。このような場合にも、GPUメモリ306に一度展開された描画リソースは再利用できる可能性が高い。つまり、同一の描画リソースを使用するようなゲーム画面の描画は、同一の描画サーバ300に割り当てることで効率化を図ることができる。
 具体的には命令展開把握部105は、管理している情報に基づいて、要求された描画リソースがGPUメモリ306に展開されている描画サーバ300を特定した情報を出力する。そして命令CPU101は、該出力された情報に基づいて描画サーバ300の決定を行うことで、描画システムにおけるゲーム画面描画の効率化を図ることができる。
 本実施形態では描画サーバ300から命令サーバ100に対してGPUメモリ306に展開されている描画リソースの情報が送信され、命令展開把握部105が該情報に基づいて描画命令に対応する描画リソースが既に展開されている描画サーバ300を特定するものとして説明するが、本発明の実施はこれに限られるものではない。例えば接続されている複数の描画サーバ300に対して、特にデータ量の多いテクスチャデータ等、ゲーム画面の生成に使用する描画リソースの各々についてGPUメモリ306への展開を行う描画サーバ300が予め定められている場合、展開されている描画リソースの情報が命令サーバ100に送信される必要はない。この場合、命令CPU101が、予め定められた描画サーバ300の情報に基づいて描画命令に係る情報を送信する描画サーバ300を決定してよい。例えば、命令CPU101は描画命令に係る情報から生成するゲーム画面に係るシーンの情報を取得し、該シーンに対応する描画リソースの展開が予め割り当てられている描画サーバ300に、ゲーム画面の描画を割り当てればよい。
  〈描画サーバ300の構成〉
 図3は、本実施形態の描画システムに係る描画サーバ300の機能構成を示したブロック図である。
 描画CPU301は、描画サーバ300が有する各ブロックの動作を制御する。具体的には描画CPU301は、描画ROM302に格納された各ブロックの動作プログラムを読み出し、描画RAM303に展開して実行することにより各ブロックの動作を制御する。
 描画ROM302は、例えば不揮発性メモリ等の恒久的にデータを記録する記録装置である。描画ROM302は、描画サーバ300が有する各ブロックの動作プログラムだけでなく、各ブロックの動作において必要となるパラメータ等の情報を格納する。また描画RAM303は、揮発性メモリである。描画RAM303は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等の格納領域として、あるいは各ブロックの処理を行うための作業領域としても用いられる。
 描画通信部304は、描画サーバ300が有する外部装置との通信インタフェースである。本実施形態では描画通信部304は、命令サーバ100から描画命令に係る情報や送信先情報を受信する。また描画通信部304は、送信先情報により特定されるクライアント端末400に対して、描画命令に係る情報に基づいて描画されたゲーム画面をストリーミング形式で送信する。
 GPU305は、受信した描画命令に係る情報により生成された描画命令に従ってゲーム画面の描画を行う。具体的には描画CPU301は、描画命令に係る情報からゲーム画面の描画に係る描画命令を生成し、GPU305に伝送する。また描画CPU301は、描画命令に係る情報に含まれるゲーム画面の生成に必要な描画リソースの情報を参照し、GPUメモリ306にまだ展開されていない描画リソースが含まれる場合は、該リソースをリソースDB307から読み出し、GPUメモリ306に展開する。そしてGPU305は、伝送された描画命令に従い、GPUメモリ306に展開されたリソースを使用してゲーム画面の描画を行う。本実施形態のGPU305は、得られたゲーム画面をストリーミング形式に対応する所定の符号化形式で符号化し、動画データを生成して出力する。
 GPUメモリ306は、例えばDRAM等の描画CPU301及びGPU305にアクセス可能に設けられた、描画処理において使用される作業領域である。またリソースDB307は、例えばHDD等の記録装置であり、描画リソースのデータが格納されている。
 《画面提供処理》
 このような構成をもつ本実施形態の描画システムの画面提供処理について、図4のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、命令サーバ100の命令CPU101、描画サーバ300の描画CPU301の各々が、例えばそれぞれのROMに記憶されている対応する処理プログラムを読み出し、RAMに展開して実行することにより実現することができる。本画面提供処理は、例えば命令サーバ100において任意のクライアント端末400(対象クライアント端末)からのゲームコンテンツの提供要求等の画面送信要求がなされた際に開始され、ゲーム画面のフレーム更新に応じて繰り返し実行されるものとして説明する。
 S401で、命令CPU101は、対象クライアント端末において操作入力がなされたか否かを判断する。具体的には命令CPU101は、命令通信部104が対象クライアント端末から操作入力に係る情報を受信したか否かにより本ステップの判断を行う。命令CPU101は、操作入力がなされたと判断した場合は処理をS402に移し、なされていないと判断した場合は処理をS403に移す。
 S402で、命令CPU101は、対象クライアント端末から受信した操作入力に係る情報に基づいて、提供するゲームについて管理するパラメータの情報を更新する処理を行う。
 S403で、命令CPU101は、現在のフレームのゲーム画面の生成に必要な演算処理等を実行する。本ステップにおいて行われる演算処理は、例えば動的オブジェクトの状態変更や描画命令に必要となるパラメータを算出する処理を含む。そして演算処理の実行後、命令CPU101は、演算結果に基づいて現在のフレームのゲーム画面の描画命令の生成に必要となるパラメータ(描画命令に係る情報)を生成する。
 本実施形態の命令CPU101が生成する描画命令に係る情報は、例えば図5に示されるように命令の種類を特定する命令ID、命令の対象となるオブジェクトを指定するオブジェクトID、命令によって変更されるパラメータ等の命令の実行において使用されるパラメータを示すその他の情報等で構成される。これは、描画命令をそのままの形で送出するよりもデータ量を削減することで伝送遅延を低減することを目的とするものであり、本ステップにおいて命令CPU101は、描画命令をより簡略化した形式のデータで構成してデータ量を削減する。描画命令に係る情報は、予め定められたルールに基づいてデータ圧縮がなされた情報であり、本実施形態では描画サーバ300において該情報から描画命令を構築することが可能である。
 しかしながら、本発明の実施において描画サーバ300に送信される情報は、これに限られるものではない。即ち、本実施形態では描画サーバ300において描画命令を構成可能な情報として描画命令に係る情報を送信するものとして説明するが、描画命令と描画命令に係る情報とは等価な情報であり、送信される情報は描画命令そのものであってもよい。しかし、伝送遅延の低減という側面で考えれば、よりデータ量の少ない情報である描画命令に係る情報を送信することが好ましいことは言うまでもない。
 S404で、命令CPU101は、ゲーム画面の描画を行わせる描画サーバ300を決定する。具体的には命令CPU101は、描画命令に係る情報により示される描画命令に従って画面描画に係る処理を行う際に必要となる描画リソースを特定する。そして命令CPU101は、接続されている描画サーバ300のうちから、特定した描画リソースを展開領域に展開している1つの描画サーバ300の情報を命令展開把握部105から取得し、描画を行わせる描画サーバ300として決定する。あるいは命令CPU101は、特定した描画リソースを展開領域に展開している描画サーバ300が存在しない場合は、接続されている描画サーバ300のうちから、例えばデータ量の多い背景用テクスチャ等、所定の種類の描画リソースがまだ展開されていない描画サーバ300に決定する。このようにすることで、接続されている描画サーバ300の各々のGPUメモリ306には、各々異なる描画リソースが展開されるように制御することができる。
 画面描画に必要となる描画リソースが展開領域に展開されているか否かの判断は、描画命令に係るゲーム画面の生成に用いられる全ての描画リソースの一致をもって判断する必要はない。例えばシーンを切り替えながら進行するゲームでは、シーンごとにフィールドに配置する描画オブジェクトや背景テクスチャ等の描画リソースが予め定められているため、そのうちのデータ量が閾値以上のリソースの展開有無により判断を行ってもよい。また、背景テクスチャ等は一般にデータ量が多くなる傾向にあるため、背景テクスチャ等の展開有無により判断を行ってもよい。この場合、ゲームに使用される全ての背景テクスチャについて、それぞれ異なる描画サーバ300のGPUメモリ306に展開されるように制御してもよい。
 S405で、命令CPU101は、描画命令に係る情報及び送信先情報を命令通信部104に伝送し、S404において決定した描画サーバ300に対して送信する。
 S406で、描画CPU301は、関連付けられた命令サーバ100から描画命令に係る情報及び送信先の情報を受信したか否かを判断する。描画CPU301は、描画命令に係る情報及び送信先の情報を受信したと判断した場合は処理をS407に移し、受信していないと判断した場合は本ステップの処理を繰り返す。
 S407で、描画CPU301は、受信した描画命令に係る情報から描画命令を再構築し、GPU305に伝送する。また描画CPU301は、必要に応じてリソースDB307から新たな描画リソースを読み出し、GPUメモリ306に展開する。ここで、必要に応じて読み出される新たな描画リソースは、ゲーム画面の描画に必要な描画リソースのうち、まだGPUメモリ306に展開されていない描画リソースを指す。そしてGPU305は、GPUメモリ306に展開されている描画リソースを使用して、描画命令に従ってゲーム画面を描画する。
 S408で、GPU305はゲーム画面を符号化し、描画CPU301は符号化されたゲーム画面のデータを描画通信部304に伝送し、送信先情報に基づいて対象クライアント端末に送信する。
 このようにすることで、本実施形態の描画システムでは、ゲーム画面の描画に使用する描画リソースを好適に利用して描画システム全体に係る描画処理の演算量を低減することができる。
 本実施形態では描画サーバ300を単一のサーバとして構成するものとして説明したが、本発明の実施はこれに限られるものではない。例えば単一のサーバとして構成するのではなく、それぞれ独立した展開領域が割り当てられた1つの描画ユニット(例えばGPU)として構成する場合は、命令サーバ100は、複数の描画ユニットを有する描画用の装置を兼ねる機器となって構成されてもよい。この場合、命令CPU101は、描画命令に対応するゲーム画面の生成において使用される描画リソースが展開されている展開領域を特定し、該展開領域が対応付けられた描画ユニットに対して画面の生成を割り当てればよい。
 以上説明したように、本実施形態の描画システムは、クライアント端末に送信する画面に係る描画処理の演算量を好適に低減することができる。具体的には描画システムは、クライアント端末から受信した情報に基づいて画面の描画命令に係る情報を送出する命令サーバと、該命令サーバから受信した描画命令に係る情報に従って画面の描画を行い、クライアント端末に送信する描画サーバとを有する。命令サーバは、命令サーバに関連付けられた複数の描画サーバのうち、描画命令に係る情報に従って画面の描画を行う際に必要な描画リソースのうちの少なくとも一部を展開している描画サーバに、描画命令に係る情報及び送信先情報を送出する。そして描画サーバは、必要な描画リソースのうちまだ展開されていない描画リソースを読み出して展開領域に展開して保持し、描画命令に係る情報に基づいて画面の描画を行い、対象クライアント端末に送信する。
 [実施形態2]
 上述した実施形態では、命令サーバ100に接続されている描画サーバ300の各々における描画リソースを有効活用することにより、描画システム全体に係る描画処理の演算量を低減する方法について説明した。具体的には、命令サーバ100に接続されている描画サーバ300のうちから、画面描画に係る処理を行う際に必要となる描画リソースを展開領域に展開している1つの描画サーバ300に描画を行わせるサーバとして決定することで、描画リソースを好適に活用する態様を説明した。本実施形態ではさらに、描画リソースを好適に活用しつつ、サーバとクライアント端末間における伝送遅延を低減する方法について説明する。
 特許文献1のようなネットワークゲームサービスでは、ゲーム画面を送信することになるため、従来のネットワークゲームサービスに比べてサーバとクライアント端末間での通信データ量が多くなり、伝送遅延の影響が生じうる。即ち、描画されたゲーム画面をストリーミング形式で送信する方式は、データ圧縮等の適用がなされるものの、従来のゲーム画面の描画に必要なデータに比べて多量のデータ通信が常時行われることになるため、通信帯域を圧迫しうる。また、サーバとクライアント端末間の伝送路が長い場合、このような通信帯域の圧迫による伝送遅延はより顕著に現れ、ユーザのゲーム体験に支障を生じる可能性がある。
 特に、ユーザの操作入力に応じてなされた変更がゲーム画面に反映されるまでのレスポンス性能が要求される、所謂リアルタイム性の高いゲームでは、このような伝送遅延はゲーム性を破綻させることにもなりうる。本実施形態では、このような伝送遅延を低減する描画システムについて、以下に図面を参照して詳細に説明する。
 以下に説明する実施形態は、描画システムの一例としての、ネットワークを介してクライアント端末から受信した画面要求に応じてゲーム画面を描画し、得られたゲーム画面をネットワークを介してストリーミング形式でクライアント端末に送信するゲームシステムに、本発明を適用した例を説明する。しかし、本発明は、ゲームに限らず、クライアント端末からの要求に従って画面の描画を行い、得られた画面をクライアント端末に送信することが可能な任意の機器及びシステムに適用可能である。また以下の説明において、上述した実施形態1の描画システムと同様の構成については同一の参照番号を付し、説明を省略する。
 《描画システムの構成》
 図6は、本発明の実施形態2に係る描画システムのシステム構成を示した図である。本実施形態の描画システムでは、実施形態1と同様、各クライアント端末400から受信した要求に応じてゲーム画面を描画し、該クライアント端末400に送信する。
 まず、ユーザ等の操作により1つのクライアント端末400からネットワーク500を介してゲーム画面の提供要求が命令サーバ100になされると、命令サーバ100は、提供するゲーム画面に係る演算処理を実行し、ゲーム画面の描画命令に係る情報を生成する。また命令サーバ100は、ゲーム画面の提供を行うクライアント端末400の存在する地域、即ちアクセス地点の特定を行い、該クライアント端末400に対してゲーム画面の提供を行う描画サーバ300群を決定する。本実施形態では、クライアント端末400の存在する地域に最も近い地域に設置された描画サーバ300群に対して、該クライアント端末400に提供するゲーム画面の描画を割り当てるものとして説明するが、本発明の実施はこれに限られるものではない。即ち、クライアント端末400の位置を具体的に特定し、厳密にこれに最も近い地域に設置された描画サーバ300群に描画処理を割り当てるのではなく、特定した地域に対応付けられた地域に設置された描画サーバ300群に対して描画処理を割り当てるものであってよい。
 描画サーバ300は、所定の地域ごとに複数台設置され、各々の地域で描画サーバ300群を構成する。しかしながら、本発明の実施において各地域に設置される描画サーバ300の数はこれに限られるものでなく、該地域の利用者数等に合わせて適宜決定されるものであってよい。描画サーバ300の各々は、実施形態1同様、ゲーム画面の生成に必要な描画リソース(モデルデータ、テクスチャデータ、画面効果等を実現する描画プログラム等)を有しており、該リソースを展開して使用しながらゲーム画面の描画を行う。
  〈命令サーバ100の構成〉
 図7は、本実施形態の描画システムに係る命令サーバ100の機能構成を示したブロック図である。
 本実施形態の命令サーバ100は、実施形態1の構成に加え、さらに地域特定部111を有する。地域特定部111は、例えばクライアント端末400との通信接続の確立に用いた情報、あるいはクライアント端末400から受信した画面送信要求に含まれる送信先アドレスの情報からクライアント端末400の存在する地域を特定する。
 《画面提供処理》
 次に、本実施形態の描画システムの画面提供処理について、図8のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、命令サーバ100の命令CPU101、描画サーバ300の描画CPU301の各々が、例えばそれぞれのROMに記憶されている対応する処理プログラムを読み出し、RAMに展開して実行することにより実現することができる。本画面提供処理は、例えば命令サーバ100において任意のクライアント端末400(対象クライアント端末)からのゲームコンテンツの提供要求等の画面送信要求がなされた際に開始され、ゲーム画面のフレーム更新に応じて繰り返し実行されるものとして説明する。また、以下の画面提供処理の説明では、実施形態1と同様の処理を行うステップについては同一の参照番号を付して説明を省略し、本実施形態の画面提供処理に特徴的な処理を行うステップのみの説明に留める。
 S403において描画命令に係る情報を生成した後、命令CPU101はS801で、ゲーム画面の描画を行わせる描画サーバ300を決定し、処理をS405に移す。具体的には命令CPU101は、描画命令に係る情報により示される描画命令に従って画面描画に係る処理を行う際に必要となる描画リソースを特定する。そして命令CPU101は、地域特定部111により特定された対象クライアント端末の存在する地域の情報に基づいて、対象クライアント端末が存在する地域に対応する描画サーバ300群を特定する。命令CPU101は、該描画サーバ300群のうちから、特定した描画リソースを展開領域に展開している1つの描画サーバ300の情報を命令展開把握部105から取得し、描画を行わせる描画サーバ300として決定する。あるいは命令CPU101は、描画サーバ300群に特定した描画リソースを展開領域に展開している描画サーバ300が存在しない場合は、該描画サーバ300群のうちから、所定の種類の描画リソースがまだ展開されていない描画サーバ300に決定する。
 このようにすることで、本実施形態の描画システムでは、ゲーム画面の描画に使用する描画リソースを好適に利用して描画システム全体に係る描画処理の演算量を低減することができる。また描画システムでは、ゲーム画面の送信に係る伝送路を低減し、画面要求に応じて描画した画面をクライアント端末に提供する際の伝送遅延を効率的に低減することができる。
 また上述した伝送遅延の問題は、データ量が多くなりうるゲーム画面を対象クライアント端末に送信する際の伝送路を短くすれば低減することができる。即ち、本発明は一態様において、命令サーバ100から描画サーバ300に対して送信する情報を、描画命令に係る情報とせずに、描画命令そのものとした場合にも同様の効果を奏する。つまり、該効果の実現は、描画命令のデータと描画命令を簡略化したデータのいずれを送信したとしても実現できるものであるため、一態様において描画命令に係る情報とは該2つのデータのいずれを表現するものであってもよい。
 本実施形態では描画サーバ300を単一のサーバとして構成するものとして説明したが、実施形態1同様、本発明の実施はこれに限られるものではない。即ち、本実施形態のように描画サーバ300群の各描画サーバ300を単一のサーバとして構成するのではなく、それぞれ独立した展開領域が割り当てられた1つの描画ユニット(例えばGPU)として構成する場合は、描画サーバ300群ではなく複数の描画ユニットを有する描画サーバが各地域に設けられる構成されてもよい。この場合、各地域の描画サーバは命令サーバ100から描画命令に係る情報を受信すると、該描画命令に対応するゲーム画面の生成において使用される描画リソースが展開されている展開領域を特定し、該展開領域が対応付けられた描画ユニットに対して画面の生成を割り当てればよい。
 [変形例]
 上述した実施形態2では、クライアント端末で行われた操作に対する画面更新レスポンス性を向上させるために、伝送路の短い描画サーバにゲーム画面の描画を割り当てることで伝送遅延を低減する方法について説明した。しかしながら、伝送遅延を低減する方法はこれに限られるものではない。
 例えば、実施形態2の画面提供処理のS801におけるゲーム画面の描画を行わせる描画サーバ300の決定は、対象クライアント端末が存在する地域に対応するとして定められた複数の地域に設置された描画サーバ300群を抽出し、接続している端末総数、平均伝送レート、GPU稼働率、輻輳状況等の動作状況に基づいていずれかの描画サーバ300群を選択し、その中で描画リソースの展開状況に応じて1つの描画サーバ300を決定してもよい。あるいは、描画サーバ300群を動作状況に応じて選択するのではなく、対象クライアント端末が存在する地域に対応する地域に設置された、描画命令に従って画面描画に係る処理を行う際に必要となる描画リソースを展開している描画サーバ300のうちから、動作状況に応じて1つの描画サーバ300を決定するものであってもよい。また、ゲーム画面の描画を行わせる描画サーバ300を、対象クライアント端末が存在する地域に対応するとして設定された地域に設置されているものに限定する必要はなく、単純に動作状況と描画リソースの展開状況のみに基づいて、いずれかの位置に設置された描画サーバ300を決定するものであってもよい。
 また動作状況の把握は、例えば接続端末数、平均伝送レート、GPU稼働率、輻輳状況、及び伝送路の長さの少なくともいずれかに基づいて、あるいはこれらの組み合わせに基づいて行われるものであってよい。また動作状況を評価するために、これらの項目の少なくともいずれかを評価係数とする評価式が設けられてもよい。また、命令サーバ100に接続されている描画サーバ数が比較的多い状況では、命令CPU101が全ての描画サーバ300について評価値を算出する方式は命令サーバ100における演算リソースを圧迫しうるため、各描画サーバ300から評価値が命令サーバ100に送信される構成であってもよい。
 [実施形態3]
 上述した実施形態2では、命令サーバ100が全ての地域の描画サーバ300群、及び各描画サーバ300の展開領域に展開されている描画リソースの情報を把握可能であるものとして説明した。しかしながら、描画システムの規模によっては、各地域の描画サーバ300の全てについて展開されている描画リソースの情報を命令サーバ100において集中管理することは現実的でない可能性がある。即ち、命令サーバ100では、各クライアント端末に提供するフレームのゲーム画面の生成に必要な演算処理に加えて、これらの描画リソースの展開状況を把握することになるため、命令サーバ100に負荷が集中する可能性がある。本実施形態では、このような描画システムにおける負荷分散を行うために、地域ごとに描画サーバ300群の描画サーバ300の各々の描画リソースの展開状況を管理する中継装置を設ける例について説明する。
 以下、本実施形態の描画システムについて、図面を参照して詳細に説明する。以下に説明する一実施形態は、描画システムの一例としての、ネットワークを介してクライアント端末から受信した画面要求に応じてゲーム画面を描画し、得られたゲーム画面をネットワークを介してストリーミング形式でクライアント端末に送信するゲームシステムに、本発明を適用した例を説明する。しかし、本発明は、ゲームに限らず、クライアント端末からの要求に従って画面の描画を行い、得られた画面をクライアント端末に送信することが可能な任意の機器及びシステムに適用可能である。また以下の説明において、上述した実施形態1及び2の描画システムと同様の構成については同一の参照番号を付し、説明を省略する。
 《描画システムの構成》
 図9は、本発明の実施形態に係る描画システムのシステム構成を示した図である。本実施形態の描画システムでは、実施形態1及び2と同様、各クライアント端末400から受信した要求に応じてゲーム画面を描画し、該クライアント端末400に送信する。
 まず、ユーザ等の操作により1つのクライアント端末400からネットワーク500を介してゲーム画面の提供要求が命令サーバ100になされると、命令サーバ100は、提供するゲーム画面に係る演算処理を実行し、ゲーム画面の描画命令に係る情報を生成する。また命令サーバ100は、ゲーム画面の提供を行うクライアント端末400の存在する地域、即ちアクセス地点の特定を行い、該クライアント端末400に対してゲーム画面の提供を行う描画サーバ300群を決定する。本実施形態では実施形態2と同様に、クライアント端末400の存在する地域に最も近い地域に設置された描画サーバ300群に対して、該クライアント端末400に提供するゲーム画面の描画を割り当てるものと説明するが、本発明の実施はこれに限られるものではない。
 描画サーバ300は、所定の地域ごとに複数台設置され、各々の地域で描画サーバ300群を構成する。描画サーバ300の各々は、実施形態1及び2と同様、ゲーム画面の生成に必要な描画リソース(モデルデータ、テクスチャデータ、画面効果等を実現する描画プログラム等)を有しており、該リソースを展開して使用しながらゲーム画面の描画を行う。また実際にゲーム画面の描画を行う描画サーバ300は、命令サーバ100からの描画命令に係る情報を受信した中継装置200により決定される。
 中継装置200は、描画サーバ300群と同様に地域ごとに設けられ、対応する地域の描画サーバ300群に関連付けられる。また中継装置200は、描画サーバ300群のうちの1つのサーバをゲーム画面の生成を行う描画サーバ300として決定し、該サーバに対して描画命令に係る情報を中継してゲーム画面の描画を行わせる。
 図9では、命令サーバ100とクライアント端末400のみがネットワーク500を介して接続され、命令サーバ100と中継装置200、中継装置200と各描画サーバ300、及び描画サーバ300とクライアント端末400はネットワーク500を介して接続するものとして示されていない。これは単に、命令サーバ100から中継装置200、中継装置200から各描画サーバ300、及び描画サーバ300からクライアント端末400の情報の流れを明確にするためにネットワーク500を介さずに表記したことによるものであり、これらの装置間での通信がネットワーク500あるいは何らかのネットワークを介して行われることは容易に理解されよう。
 以下、このようなシステム構成を有する本実施形態のゲームシステムの各装置について、ブロック図を示してその機能構成を説明する。以下の説明では複数の装置で使用される同様のハードウェアについて、装置間でそれらのハードウェアを区別するために命令サーバ100、中継装置200、描画サーバ300のそれぞれに対して「命令」、「中継」、「描画」の接頭文字を付して説明する。しかしながら、これらの接頭文字は単に装置間でハードウェアの識別のために付すものであり、本実施形態の記載においては該ハードウェアの機能や動作を特定するために使用されるものではない。
  〈命令サーバ100の構成〉
 図10は、本実施形態の描画システムに係る命令サーバ100の機能構成を示したブロック図である。本実施形態の命令サーバ100は、命令展開把握部105が除外された以外は、実施形態2と同様の構成であるため、詳細な説明は省略する。
  〈中継装置200の構成〉
 図11は、本実施形態の描画システムに係る中継装置200の機能構成を示したブロック図である。
 中継CPU201は、中継装置200が有する各ブロックの動作を制御する。具体的には中継CPU201は、中継ROM202に格納された各ブロックの動作プログラムを読み出し、中継RAM203に展開して実行することにより各ブロックの動作を制御する。
 中継ROM202は、例えば不揮発性メモリ等の恒久的にデータを記録する記録装置である。中継ROM202は、中継装置200が有する各ブロックの動作プログラムだけでなく、各ブロックの動作において必要となるパラメータ等の情報を格納する。また中継RAM203は、揮発性メモリである。中継RAM203は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等の格納領域として、あるいは各ブロックの処理を行うための作業領域としても用いられる。
 中継通信部204は、中継装置200が有する外部装置との通信インタフェースである。本実施形態では中継通信部204は、命令サーバ100から描画命令に係る情報や送信先情報を受信し、中継通信部204に関連付けられた描画サーバ300群の各々から、該描画サーバ300のGPUメモリ306に展開されている描画リソースの情報を受信する。また中継通信部204は、ゲーム画面の描画を行わせる描画サーバ300に対して、描画命令に係る情報及び送信先情報を送信する。
 中継展開把握部205は、関連付けられた描画サーバ300群の各々から受信したGPUメモリ306に展開されている描画リソースの情報を、該描画サーバ300の識別情報に関連付けて管理する。本実施形態では中継CPU201は、描画命令により描画されるゲーム画面に使用される描画リソースが既にGPUメモリ306に展開されている描画サーバ300に対してゲーム画面の描画を割り当てる。これは上述したように、GPUメモリ306に展開されている描画リソースを再利用することで、描画処理の効率化が図れることに基づく。
 本実施形態では描画サーバ300から中継装置200に対してGPUメモリ306に展開されている描画リソースの情報が送信され、中継展開把握部205が該情報に基づいて描画命令に対応する描画リソースが既に展開されている描画サーバ300を特定するものとして説明するが、本発明の実施はこれに限られるものではない。例えば描画サーバ300群において、特にデータ量の多いテクスチャデータ等、ゲーム画面の生成に使用する描画リソースの各々についてGPUメモリ306への展開を行う描画サーバ300が予め定められている場合、展開されている描画リソースの情報が中継装置200に送信される必要はない。この場合、中継CPU201が、予め定められた描画サーバ300の情報に基づいて描画命令に係る情報を送信する描画サーバ300を決定してよい。例えば、中継CPU201は描画命令に係る情報から生成するゲーム画面に係るシーンの情報を取得し、該シーンに対応する描画リソースの展開が予め割り当てられている描画サーバ300に、ゲーム画面の描画を割り当てればよい。
 《画面提供処理》
 このような構成をもつ本実施形態の描画システムの画面提供処理について、図12のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、命令サーバ100の命令CPU101、中継装置200の中継CPU201、描画サーバ300の描画CPU301の各々が、例えばそれぞれのROMに記憶されている対応する処理プログラムを読み出し、RAMに展開して実行することにより実現することができる。本画面提供処理は、例えば命令サーバ100において任意のクライアント端末400(対象クライアント端末)からのゲームコンテンツの提供要求等の画面送信要求がなされた際に開始され、ゲーム画面のフレーム更新に応じて繰り返し実行されるものとして説明する。また、以下の画面提供処理の説明では、実施形態1及び2と同様の処理を行うステップについては同一の参照番号を付して説明を省略し、本実施形態の画面提供処理に特徴的な処理を行うステップのみの説明に留める。
 S403において描画命令に係る情報を生成した後、命令CPU101はS1201で、生成した描画命令に係る情報と、対象クライアント端末にデータを送信するために必要となる送信先情報とを命令通信部104に伝送し、中継装置200に送出させる。本ステップで命令通信部104による情報送出の対象である中継装置200は、地域特定部111により特定された対象クライアント端末の存在する地域の情報に基づいて命令CPU101が決定するものとする。
 S1202で、中継CPU201は、命令サーバ100から描画命令に係る情報及び送信先情報を受信したか否かを判断する。中継CPU201は、描画命令に係る情報及び送信先情報を受信したと判断した場合は処理をS1203に移し、受信していないと判断した場合は本ステップの処理を繰り返す。
 S1203で、中継CPU201は、ゲーム画面の描画を行わせる描画サーバ300を決定する。具体的には中継CPU201は、描画命令に係る情報から、該情報により示される描画命令に従って画面描画に係る処理を行う際に必要となる描画リソースを特定する。そして中継CPU201は、特定した描画リソースを展開領域に展開している、該中継装置200に関連付けられた描画サーバ300群のうちの1つの描画サーバ300の情報を中継展開把握部205から取得し、描画を行わせる描画サーバ300として決定する。あるいは中継CPU201は、特定した描画リソースを展開領域に展開している描画サーバ300が存在しない場合は、例えばデータ量の多い背景用テクスチャ等、所定の種類の描画リソースがまだ展開されていない描画サーバ300に決定する。このようにすることで、描画サーバ300群のサーバの各々のGPUメモリ306には、各々異なる描画リソースが展開されるように制御することができる。
 S1204で、中継CPU201は、描画命令に係る情報及び送信先情報を中継通信部204に伝送し、S1203において決定した描画サーバ300に対して送信する。
 S1205で、描画CPU301は、関連付けられた中継装置200から描画命令に係る情報及び送信先の情報を受信したか否かを判断する。描画CPU301は、描画命令に係る情報及び送信先の情報を受信したと判断した場合は処理をS407に移し、受信していないと判断した場合は本ステップの処理を繰り返す。
 このようにすることで、本実施形態の描画システムでは、ゲーム画面の描画に使用する描画リソースを好適に利用して描画システム全体に係る描画処理の演算量を低減することができる。また描画システムでは、ゲーム画面の送信に係る伝送路を低減し、画面要求に応じて描画した画面をクライアント端末に提供する際の伝送遅延を効率的に低減することができる。また描画システムにおける描画リソースの展開状況の監視による処理負荷を分散することができる。
 本実施形態では中継装置200は、命令サーバ100及び描画サーバ300と分離したエンティティとして設けられるものとして説明したが、本発明の実施はこれに限られるものではない。中継装置200は命令サーバ100と一体となって構成され、各地域の描画サーバ300群のうちの特定の描画サーバ300を指定して描画命令に係る情報を送信するものであってもよい。また本実施形態のように描画サーバ300を単一のサーバとして構成するのではなく、それぞれ独立した展開領域が割り当てられた1つの描画ユニット(例えばGPU)として構成する場合は、中継装置200は、複数の描画ユニットを有する描画用の装置と一体となって構成されてもよい。この場合、中継装置200は命令サーバ100から描画命令に係る情報を受信すると、該描画命令に対応するゲーム画面の生成において使用される描画リソースが展開されている展開領域を特定し、該展開領域が対応付けられた描画ユニットに対して画面の生成を割り当てればよい。
 また、本実施形態では描画サーバ300において描画命令に係る情報から描画命令の再構築が行われるものとして説明したが、本発明の実施において描画命令の再構築は中継装置200及び描画サーバ300のいずれで行われてもよい。中継装置200において再構築が行われる場合には、命令サーバ100と中継装置200との間における伝送遅延を低減することができる。また描画サーバ300において再構築が行われる場合には、命令サーバ100と中継装置200との間、及び中継装置200と描画サーバ300との間の双方における伝送遅延を低減することができる。つまり、描画命令をデータ圧縮して送信することによる効果は、中継装置200及び描画サーバ300のいずれで描画命令の再構築が行われたとしても実現することができる。
 以上説明したように、クライアント端末に送信する画面に係る描画処理の演算量を好適に低減することができる。具体的には描画システムは、クライアント端末から受信した情報に基づいて画面の描画命令に係る情報を送出する命令サーバと、描画命令に係る情報に従って画面の描画を行い、クライアント端末に送信する描画サーバと、命令サーバから受信した描画命令に係る情報を描画サーバに送信する中継装置と、を有する。命令サーバは、対象クライアント端末が存在する地域を特定し、対応する地域に存在する中継装置に、描画命令に係る情報及び送信先情報を送出する。また中継装置は、該中継装置に関連付けられた複数の描画サーバのうち、該描画命令に従って画面の描画を行う際に必要な描画リソースのうちの少なくとも一部を展開している描画サーバに、描画命令に係る情報及び送信先情報を送信する。そして描画サーバは、必要な描画リソースのうちまだ展開されていない描画リソースを読み出して展開領域に展開して保持し、描画命令に係る情報に基づいて画面の描画を行い、対象クライアント端末に送信する。
 [その他の実施形態]
 本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。また本発明に係る描画システムは、1以上のコンピュータを描画システムの各装置として機能させるプログラムによっても実現可能である。該プログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供/配布することができる。本発明の範囲を公にするために、以下の請求項を添付する。

Claims (17)

  1.  クライアント端末から受信した情報に基づいて画面の描画命令に係る情報を送出する命令サーバと、該命令サーバから受信した前記描画命令に係る情報に従って画面の描画を行い、クライアント端末に送信する描画サーバとを有する描画システムであって、
     前記命令サーバは、
      対象クライアント端末から画面送信要求を受信する要求受信手段と、
      前記対象クライアント端末に提供される画面に係る演算処理を実行し、前記描画命令に係る情報を生成する生成手段と、
      前記命令サーバに関連付けられた複数の前記描画サーバのうち、前記描画命令に係る情報に従って画面の描画を行う際に必要な描画リソースのうちの少なくとも一部を展開している描画サーバに、前記描画命令に係る情報及び画面の送信先である前記対象クライアント端末を示す送信先情報を送出する送出手段と、を有し、
     前記描画サーバは、
      画面の描画に使用する描画リソースを格納する格納手段と、
      前記送出手段により送出された前記描画命令に係る情報に基づいて、前記格納手段から必要な描画リソースのうちまだ展開されていない描画リソースを読み出し、展開領域に展開して保持する展開手段と、
      前記展開領域に保持されている描画リソースを使用し、前記描画命令に係る情報に基づいて画面の描画を行う描画手段と、
      前記送信先情報に基づいて、前記描画手段により描画された画面を前記対象クライアント端末に送信する画面送信手段と、を有する
    ことを特徴とする描画システム。
  2.  前記命令サーバは、前記対象クライアント端末が存在する地域を特定する特定手段をさらに有し、
     前記送出手段は、前記特定手段により特定された地域に対応する地域に存在する複数の前記描画サーバのうち、前記必要な描画リソースのうちの少なくとも一部を展開している描画サーバに、前記描画命令に係る情報及び前記送信先情報を送出する
    ことを特徴とする請求項1に記載の描画システム。
  3.  前記送出手段は、前記特定手段により特定された地域に最も近い地域に存在する前記必要な描画リソースのうちの少なくとも一部を展開している描画サーバに前記描画命令に係る情報及び前記送信先情報を送出することを特徴とする請求項2に記載の描画システム。
  4.  前記命令サーバは、前記対象クライアント端末が存在する地域を特定する特定手段をさらに有し、
     前記送出手段は、前記特定手段により特定された地域に対応する複数の地域のうち、各々の地域に存在する複数の前記描画サーバの動作状況に基づいて決定された1つの地域に存在する複数の前記描画サーバから、前記必要な描画リソースのうちの少なくとも一部を展開している描画サーバを選択して、前記描画命令に係る情報及び前記送信先情報を送出する
    ことを特徴とする請求項1に記載の描画システム。
  5.  前記対応する地域に存在する複数の前記描画サーバは、各々異なる描画リソースを前記展開領域に保持することを特徴とする請求項2乃至4のいずれか1項に記載の描画システム。
  6.  前記画面は、シーンごとに異なる描画リソースを使用して描画される所定のゲームに係るゲーム画面であり、
     前記描画命令に係る情報は、前記ゲーム画面に対応するシーンの情報を含み、
     前記対応する地域に存在する複数の前記描画サーバは、それぞれ前記ゲームの異なるシーンの描画を行うように予め割り当てられ、
     前記送出手段は、前記描画命令に係る情報に含まれる前記シーンの情報を参照して、対応する描画サーバに該描画命令に係る情報及び前記送信先情報を送信する
    ことを特徴とする請求項2乃至5のいずれか1項に記載の描画システム。
  7.  前記送出手段は、前記必要な描画リソースのうちの少なくとも一部を展開している複数の前記描画サーバのうち、動作状況に基づいて決定された1つの描画サーバに、前記描画命令に係る情報及び前記送信先情報を送出することを特徴とする請求項1乃至6のいずれか1項に記載の描画システム。
  8.  前記描画サーバの動作状況は、接続端末数、平均伝送レート、GPU稼働率、輻輳状況、及び伝送路の長さの少なくともいずれかにより評価されることを特徴とする請求項4または7に記載の描画システム。
  9.  クライアント端末から受信した情報に基づいて画面の描画命令に係る情報を送出する命令サーバと、前記描画命令に係る情報に従って画面の描画を行い、クライアント端末に送信する描画サーバと、前記命令サーバから受信した前記描画命令に係る情報を前記描画サーバに送信する中継装置と、を有する描画システムであって、
     前記命令サーバは、
      対象クライアント端末から画面送信要求を受信する要求受信手段と、
      前記対象クライアント端末に提供される画面に係る演算処理を実行し、前記描画命令に係る情報を生成する生成手段と、
      前記対象クライアント端末が存在する地域を特定する特定手段と、
      前記特定手段により特定された地域に対応する地域に存在する前記中継装置に、前記生成手段により生成された前記描画命令に係る情報及び画面の送信先である前記対象クライアント端末を示す送信先情報を送出する送出手段と、を有し、
     前記中継装置は、
      前記送出手段により送出された前記描画命令に係る情報及び前記送信先情報を受信する命令受信手段と、
      前記描画命令に係る情報を参照し、該中継装置に関連付けられた複数の前記描画サーバのうち、該描画命令に係る情報に従って画面の描画を行う際に必要な描画リソースのうちの少なくとも一部を展開している描画サーバに、前記描画命令に係る情報及び前記送信先情報を送信する送信手段と、を有し、
     前記描画サーバは、
      画面の描画に使用する描画リソースを格納する格納手段と、
      前記送信手段により送信された前記描画命令に係る情報に基づいて、前記格納手段から必要な描画リソースのうちまだ展開されていない描画リソースを読み出し、展開領域に展開して保持する展開手段と、
      前記展開領域に保持されている描画リソースを使用し、前記描画命令に係る情報に基づいて画面の描画を行う描画手段と、
      前記送信先情報に基づいて、前記描画手段により描画された画面を前記対象クライアント端末に送信する画面送信手段と、を有する
    ことを特徴とする描画システム。
  10.  前記送出手段は、前記特定手段により特定された地域に最も近い地域に存在する前記中継装置に前記描画命令に係る情報及び前記送信先情報を送出することを特徴とする請求項9に記載の描画システム。
  11.  前記中継装置に関連付けられた複数の前記描画サーバは、各々異なる描画リソースを前記展開領域に保持することを特徴とする請求項9または10に記載の描画システム。
  12.  前記画面は、シーンごとに異なる描画リソースを使用して描画される所定のゲームに係るゲーム画面であり、
     前記描画命令に係る情報は、前記ゲーム画面に対応するシーンの情報を含み、
     前記中継装置に関連付けられた複数の前記描画サーバは、それぞれ前記ゲームの異なるシーンの描画を行うように予め割り当てられ、
     前記送信手段は、前記描画命令に係る情報に含まれる前記シーンの情報を参照して、対応する描画サーバに該描画命令に係る情報及び前記送信先情報を送信する
    ことを特徴とする請求項9乃至11のいずれか1項に記載の描画システム。
  13.  前記命令サーバは、前記対象クライアント端末において入力された操作入力に係る情報を受信する操作受信手段をさらに備え、
     前記生成手段は、前記操作受信手段により受信された前記操作入力に係る情報に基づいて、前記画面に係る演算処理を実行する
    ことを特徴とする請求項1乃至12のいずれか1項に記載の描画システム。
  14.  クライアント端末から受信した情報に基づいて画面の描画命令に係る情報を送出する命令サーバと、画面の描画に使用する描画リソースを格納する格納手段を有し、該命令サーバから受信した前記描画命令に係る情報に従って画面の描画を行い、クライアント端末に送信する描画サーバとを有する描画システムの制御方法であって、
     前記命令サーバは、
      対象クライアント端末から画面送信要求を受信する要求受信工程と、
      前記対象クライアント端末に提供される画面に係る演算処理を実行し、前記描画命令に係る情報を生成する生成工程と、
      前記命令サーバに関連付けられた複数の前記描画サーバのうち、前記描画命令にかかる情報に従って画面の描画を行う際に必要な描画リソースのうちの少なくとも一部を展開している描画サーバに、前記描画命令に係る情報及び画面の送信先である前記対象クライアント端末を示す送信先情報を送出する送出工程と、を有し、
     前記描画サーバは、
      前記送出工程において送出された前記描画命令に係る情報に基づいて、前記格納手段から必要な描画リソースのうちまだ展開されていない描画リソースを読み出し、展開領域に展開して保持する展開工程と、
      前記展開領域に保持されている描画リソースを使用し、前記描画命令に係る情報に基づいて画面の描画を行う描画工程と、
      前記送信先情報に基づいて、前記描画工程において描画された画面を前記対象クライアント端末に送信する画面送信工程と、を有する
    ことを特徴とする描画システムの制御方法。
  15.  クライアント端末から受信した情報に基づいて画面の描画命令に係る情報を送出する命令サーバと、画面の描画に使用する描画リソースを格納する格納手段を有し、前記描画命令に係る情報に従って画面の描画を行い、クライアント端末に送信する描画サーバと、前記命令サーバから受信した前記描画命令に係る情報を前記描画サーバに送信する中継装置と、を有する描画システムの制御方法であって、
     前記命令サーバは、
      対象クライアント端末から画面送信要求を受信する要求受信工程と、
      前記対象クライアント端末に提供される画面に係る演算処理を実行し、前記描画命令に係る情報を生成する生成工程と、
      前記対象クライアント端末が存在する地域を特定する特定工程と、
      前記特定工程において特定された地域に対応する地域に存在する前記中継装置に、前記生成工程において生成された前記描画命令に係る情報及び画面の送信先である前記対象クライアント端末を示す送信先情報を送出する送出工程と、を有し、
     前記中継装置は、
      前記送出工程において送出された前記描画命令に係る情報及び前記送信先情報を受信する命令受信工程と、
      前記描画命令に係る情報を参照し、該中継装置に関連付けられた複数の前記描画サーバのうち、該描画命令に従って画面の描画を行う際に必要な描画リソースのうちの少なくとも一部を展開している描画サーバに、前記描画命令に係る情報及び前記送信先情報を送信する送信工程と、を有し、
     前記描画サーバは、
      前記送信工程において送信された前記描画命令に係る情報に基づいて、前記格納手段から必要な描画リソースのうちまだ展開されていない描画リソースを読み出し、展開領域に展開して保持する展開工程と、
      前記展開領域に保持されている描画リソースを使用し、前記描画命令に係る情報に基づいて画面の描画を行う描画工程と、
      前記送信先情報に基づいて、前記描画工程において描画された画面を前記対象クライアント端末に送信する画面送信工程と、を有する
    ことを特徴とする描画システムの制御方法。
  16.  1以上のコンピュータを、請求項1乃至13のいずれか1項に記載の描画システムの各手段として機能させるためのプログラム。
  17.  請求項16に記載のプログラムを記録したコンピュータが読み取り可能な記録媒体。
PCT/JP2013/007657 2013-12-26 2013-12-26 描画システム、制御方法、プログラム、及び記録媒体 WO2015097726A1 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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