Information processing device and execution switching system
By introducing judgment and switching mechanisms into the information processing equipment, the execution of tasks is transferred to devices with different performance, and the problem of high-performance equipment costs in cloud multi-device environments is solved, achieving the effect of smooth execution and cost reduction.
Patent Information
- Application Number
- JP2021154936
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-09-23
- Publication Date
- 2025-04-30
- Estimated Expiration
- 2041-09-23
AI Technical Summary
When multiple information processing devices are provided in the cloud, each device requires high performance in order to execute programs smoothly, which leads to increased costs.
By introducing a judgment and switching mechanism in the information processing device, when an execution request is received, it is determined whether the current execution state meets the switching condition, and outputs instructions to transfer the program execution task to another information processing device with different performances.
It realizes the smooth execution of programs in the cloud multi-information processing equipment environment, while reducing the cost of the overall information processing equipment.
Smart Images

Figure 0007669891000001 
Figure 0007669891000002 
Figure 0007669891000003
Abstract
Description
[Technical field]
[0001] The present invention relates to an information processing device and an execution switching system. [Background technology]
[0002] Patent Document 1 discloses a so-called cloud game in which a game server (information processing device) executes a game program and transmits the execution result to a terminal device possessed by the user, thereby providing the user with a game. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2020-092877 A Summary of the Invention [Problem to be solved by the invention]
[0004] However, when preparing multiple information processing devices as disclosed in Patent Document 1 on the cloud, each information processing device must have high performance in order to smoothly execute the game program, which causes a problem of huge cost. This problem is not limited to game programs, and can occur similarly when other programs are executed on the cloud.
[0005] Therefore, the present invention has been made in consideration of such problems, and its purpose is to provide a server device and an execution switching system that can smoothly execute programs and reduce the overall cost of the information processing devices when multiple information processing devices are prepared on the cloud. [Means for solving the problem]
[0006] In order to solve the above problem, an information processing device according to a first aspect of the present invention is an information processing device capable of communicating with a terminal device operated by a user, and comprises: an execution means for executing a program and transmitting an execution result to the terminal device that originated the request when an execution request is received from the terminal device; a first judgment means for judging whether or not the execution status is a status just before a predetermined switching status while the program is being executed; an instruction means for outputting an instruction to another information processing device having different performance compared to the information processing device to execute the program when the first judgment means makes a positive judgment; a second judgment means for judging whether or not the execution status is the predetermined switching status after the instruction; and a switching means for switching the source of transmission of the execution result of the program to the terminal device from the execution means to the other information processing device when the second judgment means makes a positive judgment.
[0007] In addition, in an information processing device according to a second aspect of the present invention, the instruction means outputs an instruction so that the other information processing device, which has higher performance than the information processing device, executes the program.
[0008] In addition, in an information processing device according to a third aspect of the present invention, the instruction means outputs an instruction to the other information processing device, which has lower performance than the information processing device, to execute the program.
[0009] In addition, in the information processing device according to a fourth aspect of the present invention, the switching means terminates the communication connection with the terminal device after switching the source of the transmission from the execution means to the other information processing device.
[0010] In addition, in the information processing device according to a fifth aspect of the present invention, the program is a game program, and the predetermined switching situation includes a situation in which a scene of the game is switched.
[0011] In addition, an execution switching system according to a sixth aspect of the present invention is an execution switching system comprising a plurality of information processing devices including the above-mentioned information processing device, and a server device, wherein the server device comprises a search means for searching, when a search request including identification information of the program is received from the terminal device, from among the plurality of information processing devices for an information processing device capable of executing the program indicated by the identification information, and a connection instruction means for outputting a connection instruction to the terminal device so as to preferentially connect an information processing device with the lowest performance from among the information processing devices searched by the search means. Effect of the Invention
[0012] According to the present invention, it is possible to smoothly execute a program and reduce the overall cost of an information processing apparatus. [Brief description of the drawings]
[0013] [Figure 1] 1 is a block diagram illustrating an example of an overall configuration of an execution switching system. [Diagram 2] 2 is a block diagram illustrating an example of a hardware configuration of the game server illustrated in FIG. 1. [Diagram 3] 2 is a block diagram illustrating an example of a hardware configuration of a first terminal device illustrated in FIG. 1. [Figure 4] 2 is a block diagram illustrating an example of a hardware configuration of a second terminal device illustrated in FIG. 1. [Diagram 5] 2 is a block diagram illustrating an example of a hardware configuration of a matching server illustrated in FIG. 1. [Figure 6] A block diagram showing an example of a schematic functional configuration of the execution switching system, particularly a matching server and a game server. [Figure 7] 10 is a flowchart showing an example of the flow of a process executed by the execution switching system when providing an execution result of an application to a user of a second terminal device. [Figure 8] This process continues from the process shown in FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] Hereinafter, a number of embodiments of the present invention will be described with reference to the accompanying drawings. In order to facilitate understanding of the description, the same components and steps in each drawing are denoted by the same reference numerals as much as possible, and duplicated descriptions will be omitted.
[0015] <Overall composition> 1 is a block diagram showing an example of the overall configuration of an execution switching system 1. As shown in the figure, the execution switching system 1 includes a plurality of game servers 10 as an example of an information processing device, a plurality of first terminal devices 12, a plurality of second terminal devices 14, and a matching server 16 as a server device. Among these, the game server 10 and the first terminal device 12 are configured to be able to communicate with each other via a local area network N1 as an example of a communication network. In addition, the game server 10, the second terminal device 14, and the matching server 16 are configured to be able to communicate with each other via a wide area network N2 as an example of a communication network.
[0016] The game servers 10 are arranged in a plurality of facilities S, such as one facility S1 and another facility S2. In the following, the game server 10 arranged in one facility S1 may be referred to as "one game server 10A," and the game server 10 arranged in the other facility S2 may be referred to as "another game server 10B." These game servers 10 execute game programs and provide the users of the first terminal devices 12 and the second terminal devices 14 with games that are the results of the execution. The game servers 10 have different performance and communication speeds with the second terminal devices 14 depending on the type and location of the facility S. Examples of the facility S include game centers, accommodation facilities, entertainment facilities, leisure facilities, and data centers.
[0017] The first terminal device 12 is disposed in each facility S. This first terminal device 12 receives a game from the game server 10. When a user plays the received game, the first terminal device 12 accepts an operation of the user and transmits the operation information to the game server 10.
[0018] The second terminal device 14 is outside the facility S, and is, for example, carried and operated by a user. This second terminal device 14 receives a game from the game server 10. Then, when the user plays the received game, the second terminal device 14 receives operations of the user. Examples of the second terminal device 14 include a mobile phone, a smartphone, a tablet, a personal computer, and the like.
[0019] When a user of a second terminal device 14 plays a game, the matching server 16 matches the user with one or more of the multiple game servers 10.
[0020] <Hardware configuration> Fig. 2 is a block diagram illustrating an example of a hardware configuration of the game server 10 illustrated in Fig. 1. As illustrated in the figure, the game server 10 includes a control board 20, an external storage device 22, and a communication device 24.
[0021] The control board 20 is a board with higher performance and higher cost than the control board 30 of the first terminal device 12, and is integrated in the game server 10. Specifically, it is preferable that the control boards 20 are integrated in the same number as or more than the number of the first terminal devices 12. The control board 20 is electrically connected to an external storage device 22 and a communication device 24 via a bus (not shown). The control board 20 also includes a CPU (Central Processing Unit) 20A, a GPU 20B, a memory 20C, and an internal storage device 20D. The CPU 20A is capable of executing an application program 26 (hereinafter, referred to as "application 26"). The GPU 20B performs calculation processing required for image depiction. The memory 20C is a storage device that temporarily deploys the application 26 executed by the CPU 20A. The internal storage device 20D is composed of a hard disk or the like. The internal storage device 20D stores a plurality of types of applications 26, such as application A and application B, according to the facility S and demand. Examples of the application 26 include a game program, an image analysis program, a weather analysis program, an automatic driving program, an inspection program, etc. In this embodiment, a case will be described in which the application 26 is a game program.
[0022] The external storage device 22 is composed of a hard disk or the like. The number of apps 26 stored in this external storage device 22 is equal to or greater than the number of apps 26 stored in the internal storage device 20D. For example, if the number of apps 26 stored in the internal storage device 20D is about 2 or 30, the number of apps 26 stored in the external storage device 22 is 100 or more, although this depends on the storage capacity of each storage device. The apps 26 stored in this external storage device 22 are installed in the internal storage device 20D as necessary, such as when the user uses them.
[0023] The communication device 24 is configured with a communication interface for communicating with an external device, etc. The communication device 24 transmits and receives various information to and from the first terminal device 12, for example.
[0024] The game server 10 may be composed of a single information processing device, or may be composed of multiple information processing devices distributed over a communication network. Also, Fig. 2 shows only a part of the main hardware configuration of the game server 10, and the game server 10 may be composed of other configurations that are generally included in a server device, for example.
[0025] Fig. 3 is a block diagram illustrating an example of a hardware configuration of the first terminal device 12 illustrated in Fig. 1. As illustrated in the figure, the first terminal device 12 includes a control board 30, an external storage device 32, an operation device 34, a display device 36, and a communication device 38.
[0026] The control board 30 is electrically connected to an external storage device 32, an operating device 34, a display device 36, and a communication device 38 via a bus (not shown). The control board 30 includes a CPU 30A and a memory 30B. The CPU 30A is capable of reproducing advertisement videos and the like. The memory 30B is capable of temporarily expanding a program.
[0027] The external storage device 32 stores data such as advertisement images.
[0028] The operation device 34 receives an operation from a user and inputs the operation information to the first terminal device 12 .
[0029] The display device 36 displays the results of the execution of the application 26 by the game server 10, for example, game images.
[0030] The communication device 38 is configured with a communication interface for communicating with an external device, etc. The communication device 38 transmits and receives various information to and from the game server 10, for example.
[0031] Fig. 4 is a block diagram showing an example of a hardware configuration of the second terminal device 14 shown in Fig. 1. As shown in the figure, the second terminal device 14 includes a CPU 50, a memory 52, a display device 54, a sound output device 56, an input device 58, and a communication device 60.
[0032] The CPU 50 is electrically connected to a memory 52, a display device 54, a sound output device 56, an input device 58, and a communication device 60 via a bus (not shown). The CPU 50 controls each of the devices to which it is connected.
[0033] The memory 52 stores various data and programs.
[0034] The display device 54 displays the game screen of the game.
[0035] The sound output device 56 outputs game sounds of the game.
[0036] The input device 58 inputs user operation information to the second terminal device 14 .
[0037] The communication device 60 is configured with a communication interface for communicating with an external device, etc. The communication device 60 transmits and receives various information to and from the game server 10, for example.
[0038] FIG. 5 is a block diagram illustrating an example of a hardware configuration of matching server 16 illustrated in FIG.
[0039] 5, the matching server 16 includes a control board 70, a communication device 76, and a storage device 78. The control board 70 includes a CPU (Central Processing Unit) 72 and a memory 74 as main components.
[0040] In the control board 70, the CPU 72 executes a predetermined program stored in the memory 74 or the storage device 78, etc., thereby functioning as various functional components. The details of these functional components will be described later.
[0041] The communication device 76 is configured with a communication interface for communicating with an external device, etc. The communication device 76 transmits and receives various information to and from the second terminal device 14, for example.
[0042] The storage device 78 is configured with a hard disk, etc. This storage device 78 stores various programs and various information required for executing processes in the control board 70, and information on the results of the processes.
[0043] The matching server 16 can be realized by using an information processing device such as a dedicated or general-purpose server computer. The matching server 16 may be configured by a single information processing device, or may be configured by a plurality of information processing devices distributed over a communication network NT. Fig. 5 shows only a part of the main hardware configuration of the matching server 16, and the matching server 16 may have other configurations that are generally included in a server.
[0044] <Functional configuration> 6 is a block diagram showing an example of the functional configuration of the execution switching system 1, particularly the matching server 16 and the game server 10. As shown in the figure, the matching server 16 includes, as its functional configuration, a storage means 80, a search means 82, and a connection instruction means 84. These functional configurations are realized by the CPU 72 executing a program. The game server 10 includes an execution means 90, a first determination means 92, an instruction means 94, a second determination means 96, and a switching means 98. These functional configurations are realized by the CPU 20A executing a program.
[0045] The storage means 80 has a function of storing, for example, a server list 80A and user information 80B. In the server list 80A, for each region, the names of a plurality of facilities S, communication connection information such as the IP address (Internet Protocol Address) of the game server 10 arranged in each facility S, and the performance of the game server 10 arranged in each facility S are described. The user information 80B includes information such as the name, age, user ID, password, and contact information for each user of the first terminal device 12 and for each user of the second terminal device 14. Note that the performance of the game server 10 is a value such as throughput, response time, and operation rate determined by the performance of the CPU 20A, the performance of the GPU 20B, the performance of the memory 20C, etc., and the high or low of the performance is expressed by the magnitude of the above values. In the server list 80A, at least one of the above values is described as the performance of the game server 10.
[0046] The search means 82 has a function of, when receiving a search request including identification information of the app 26 from the second terminal device 14, searching for a game server 10 that is capable of executing the app 26 indicated by the identification information from among multiple game servers 10.
[0047] The connection instruction means 84 has a function of outputting a connection instruction to the second terminal device 14 so as to prioritize connection to the information processing device with the lowest performance or the slowest communication speed from among the game servers 10 searched for by the search means 82, for example based on a server list 80A, etc.
[0048] The execution means 90 has a function of executing the application 26 when an execution request is received from the second terminal apparatus 14, and transmitting the execution result to the second terminal apparatus 14 that is the request source.
[0049] The first determination means 92 has a function of determining whether or not the execution status of the application 26 is a status immediately before a predetermined switching status while the application 26 is being executed. The predetermined switching status includes, for example, a status in which a heavy process is started, a status in which a light process is started, a status in which operations by multiple users are started in the same scene in a battle or cooperation, and / or a status in which the game scene is switched.
[0050] When the first judgment means 92 makes a positive judgment, the instruction means 94 has a function of outputting an instruction so that another information processing device that has different performance or a different communication speed with the second terminal device 14 compared to the game server 10 (hereinafter referred to as "one game server") currently executing the app 26, executes the app 26. Specifically, the instruction means 94 may output an instruction to another game server having higher performance or a faster communication speed with the second terminal device 14 than the one game server, as the other information processing device, to execute the application 26. Furthermore, the instruction means 94 outputs an instruction to another game server having lower performance or a slower communication speed with the second terminal device 14 than the one game server, as the other information processing device, to execute the application 26. Furthermore, the other information processing device may include not only the other game server but also the second terminal device 14. The output destination of the instruction may be the second terminal device 14 or another game server, but in this embodiment, a case where the output destination is the second terminal device 14 will be described.
[0051] The second determination means 96 has a function of determining whether or not the execution situation is a predetermined switching situation after the instruction by the instruction means 94.
[0052] When the second determination means 96 makes an affirmative determination, the switching means 98 has a function of switching the source of transmission of the execution result of the app 26 to the second terminal device 14 from the execution means 90 to another game server. Methods for switching the source include outputting a switching instruction to the second terminal device 14 or outputting a switching instruction to another game server, but in this embodiment, a case where a switching instruction is output to the second terminal device 14 will be described. Furthermore, the switching means 98 may terminate the communication connection with the second terminal device 14 after switching the source of transmission from the execution means 90 to another game server.
[0053] <Processing flow> 7 is a flowchart showing an example of the flow of processing executed by the execution switching system 1 when providing the execution result of the application 26 to the user of the second terminal device 14. The contents and order of the following processing can be changed as appropriate. In addition, when providing the execution result of the application 26 to the user of the first terminal device 12, the game server 10 of the facility S where the first terminal device 12 is located is used in principle, but the game server 10 that provides the execution result of the application 26 to the user of the first terminal device 12 may be matched by processing similar to that described below.
[0054] (Step SP100) When the second terminal apparatus 14 accepts the user's operation, it transmits a login request including the user ID, password, IP address, etc. of the user to the matching server 16. Then, the process proceeds to step SP102.
[0055] (Step SP102) The matching server 16 receives a login request from the second terminal device 14. In response to this, the matching server 16 executes authentication processing based on the user ID and password included in the login request and the user information 80B stored in the storage means 80. If this authentication processing is successful, the process proceeds to processing of step SP104. Note that if the authentication processing fails, an error is output to the second terminal device 14, and then the series of processing shown in FIG. 7 ends.
[0056] (Step SP104) The matching server 16 transmits a selection image describing the names and the like of a plurality of applications 26, that is, a plurality of game programs, to the requesting second terminal apparatus 14. Then, the process proceeds to the process of step SP106.
[0057] (Step SP106) The second terminal device 14 receives the selection image from the matching server 16. In response to this, the second terminal device 14 displays the received selection image on the display device 54. When this selection image is displayed, the user of the second terminal device 14 selects one game program from the multiple game programs described in the selection image. Then, the process proceeds to the process of step SP108.
[0058] (Step SP108) When the second terminal device 14 accepts the selection of a game program from the user, it transmits a request to measure the communication speed to the matching server 16. Then, the process proceeds to step SP110.
[0059] (Step SP110) The matching server 16 receives the measurement request from the second terminal device 14. In response to this, the search means 82 of the matching server 16 extracts one facility from the multiple facilities S for each region. For example, if a facility representing each region is registered in the server list 80A, the matching server 16 extracts one representative facility from the multiple facilities S for each region. Then, the process proceeds to step SP112.
[0060] (Step SP112) The matching server 16 acquires the IP address of each of the extracted game servers 10 of each facility from the server list 80A as communication connection information of the game servers 10. Next, the matching server 16 outputs (transmits) to the second terminal device 14 a measurement instruction to measure the communication speed between the game server 10 of one facility extracted for each region and the second terminal device 14. Note that this measurement instruction includes the IP address of the game server 10 of each facility acquired by the matching server 16. Then, the process proceeds to the process of step SP114.
[0061] (Step SP114) The second terminal device 14 receives a measurement instruction from the matching server 16. In response to this, the second terminal device 14 measures the communication speed between the second terminal device 14 and the game server 10 of one facility extracted for each region based on each IP address included in the measurement instruction. Next, the second terminal device 14 transmits the measurement result of the communication speed to the matching server 16. Then, the process proceeds to the process of step SP116.
[0062] (Step SP116) The matching server 16 receives the measurement results from the second terminal device 14. In response to this, the search means 82 extracts one area linked to the facility that shows the measurement result with the fastest communication speed among the received measurement results. Then, the process proceeds to the process of step SP118.
[0063] (Step SP118) The matching server 16 acquires, from the server list 80A, the respective IP addresses as communication connection information of the game servers 10 of the multiple facilities S linked to the extracted one area. Next, the matching server 16 outputs (transmits) to the second terminal device 14 a measurement instruction to measure the communication speed between the game servers 10 of the multiple facilities S linked to the one area and the second terminal device 14. Note that this measurement instruction includes each IP address acquired by the matching server 16. Then, the process proceeds to the process of step SP120.
[0064] (Step SP120) The second terminal device 14 receives a measurement instruction from the matching server 16. In response to this, the second terminal device 14 measures the communication speed between the second terminal device 14 and each of the game servers 10 of the facilities S associated with one area, based on each IP address included in the measurement instruction. Next, the second terminal device 14 transmits a search request to the matching server 16, which includes the identification information of the game program selected in step SP106 and the measurement result of the communication speed measured in step SP120. Then, the process proceeds to step SP122.
[0065] (Step SP122) The matching server 16 receives a search request from the second terminal device 14. In response to this, the search means 82 of the matching server 16 searches for game servers 10 of multiple facilities S associated with one area that satisfy a predetermined recommended communication speed based on the measurement result of the communication speed included in the received search request, and creates a list of connection destination candidates by listing the search results and IP addresses. Then, the process proceeds to the process of step SP124.
[0066] (Step SP124) The search means 82 transmits an inquiry request for the operation status to each of the game servers 10 that are included in the generated connection destination candidate list. Then, the process proceeds to step SP126.
[0067] (Step SP126) Each game server 10 receives an inquiry request from the matching server 16. In response to this, each game server 10 transmits the current and / or future operation status (operation reservation status) to the matching server 16. Then, the process proceeds to the process of step SP128.
[0068] (Step SP128) The matching server 16 receives the operation status from each game server 10. In response to this, the search means 82 updates the connection destination candidate list based on the operation status. Next, the connection instruction means 84 of the matching server 16 updates the connection destination candidate list so as to instruct the second terminal device 14 to preferentially use (connect to) the game server 10 with the lowest performance among the game servers 10 in the connection destination candidate list. Specifically, the connection instruction means 84 updates the connection destination candidate list so that the game servers 10 in the connection destination candidate list are arranged in ascending order of performance. At least two or more game servers 10 with different performance are described in this connection destination candidate list. Then, the process proceeds to the process of step SP130.
[0069] (Step SP130) The connection instruction means 84 transmits a connection instruction including the connection destination candidate list to the requesting second terminal apparatus 14. Then, the process proceeds to step SP200.
[0070] FIG. 8 is a continuation of the process shown in FIG.
[0071] (Step SP200) The second terminal device 14 receives a connection instruction from the matching server 16. In response to this, the second terminal device 14 attempts to establish a communication connection based on the IP addresses of the game servers 10 listed first in the connection candidate list included in the connection instruction, in other words, starting from the game server 10 with the lowest performance in the connection candidate list. In the following, the second terminal device 14 establishes a communication connection with the game server 10 with the lowest performance, and the game server 10 with which this communication connection has been established will be described as one game server 10A. Then, the process proceeds to the process of step SP202.
[0072] (Step SP202) The second terminal device 14 accepts the payment of the game play fee by the user and grants a predetermined number of credits to the user, and then transmits a game execution request to the first game server 10A. Then, the process proceeds to step SP204.
[0073] (Step SP204) The first game server 10A receives an execution request from the second terminal device 14. In response to this, the first game server 10A consumes a predetermined number of user credits according to the type of game program, and starts execution of the game program. Next, the game server 10 transmits menu screen data as a result of the execution of the game program to the second terminal device 14 that originated the request. Then, the process proceeds to the process of step SP206.
[0074] (Step SP206) The second terminal device 14 receives the menu screen data from the first game server 10A. In response to this, the second terminal device 14 displays the game menu screen on the display device 36 based on the received menu screen data. Then, the process proceeds to the process of step SP208.
[0075] (Step SP208) The second terminal apparatus 14 accepts an operation by the user via the input device 58. In response to this, the second terminal apparatus 14 transmits operation information of the accepted operation to the first game server 10A. Then, the process proceeds to the process of step SP210.
[0076] (Step SP210) The first game server 10A receives operation information from the second terminal device 14. In response to this, the first determination means 92 of the first game server 10A determines whether or not the situation of execution of the game program is a situation immediately before a predetermined switching situation. Examples of the situation immediately before the screen is switched to a screen of a main game such as a quest, a fighting game, or a racing game, such as a situation in which a quest selection is accepted, a situation in which a character or object selection is accepted, or a situation in which a deck organization of characters or objects is accepted. If the judgment is affirmative, the process proceeds to step SP212, and if the judgment is negative, the process proceeds to step SP214.
[0077] (Step SP212) The instruction means 94 of the one game server 10A transmits a preparation instruction for switching the execution of the game program to the requesting second terminal device 14. Specifically, the instruction means 94 instructs the other game server 10B, which has higher performance than the one game server 10A, to execute the same game program as the game program being executed by the execution means 90. Then, the process proceeds to the process of step SP222.
[0078] (Step SP214) The second determination means 96 of the first game server 10A, after the preparation instruction, determines whether the execution situation of the game program is a predetermined switching situation, i.e., a situation in which the game scene is switched. Examples of the situation in which the scene is switched include a situation in which a main game such as a quest, a fighting game, or a racing game is started, a situation in which a complex screen display is started, a situation in which a battle with a boss character is started, etc. If the determination is affirmative, the process proceeds to step SP220, and if the determination is negative, the process proceeds to step SP216.
[0079] (Step SP216) The execution means 90 progresses with the game based on the operation information received in step SP210, and transmits the progress result to the requesting second terminal apparatus 14. Then, the processing proceeds to the processing of step SP218.
[0080] (Step SP218) The second terminal device 14 receives the progress result from the game server 10A. In response to this, the second terminal device 14 outputs the progress result to the display device 54, the sound output device 56, etc. Then, the processing proceeds to the processing of step SP222.
[0081] (Step SP220) When the second determination means 96 makes an affirmative determination, the switching means 98 outputs a switching instruction to the second terminal device 14 to switch the source of transmission of the execution result of the game program to the terminal device 14 from the execution means 90 to the other game server 10B. Then, the process proceeds to the process of step SP222.
[0082] (Step SP222) The second terminal device 14 judges whether or not a preparation command has been received from the first game server 10A. If the judgment is affirmative, the process proceeds to step SP224, and if the judgment is negative, the process proceeds to step SP230.
[0083] (Step SP224) The second terminal device 14 refers to the connection destination candidate list included in the connection instruction received in step SP200, and acquires the IP address of the other game server 10B, which has higher performance than the first game server 10A. From the viewpoint of smoothly executing the execution process in the scene after switching, it is preferable that the second terminal device 14 acquires the IP address of the other game server 10B, which has performance at least twice as high as the first game server 10A. Next, the second terminal device 14 establishes a communication connection with the other game server 10B based on the acquired IP address. Then, the process proceeds to step SP226.
[0084] (Step SP226) The second terminal device 14 transmits an execution request for the game program, including the identification information of the same game program as the game program being executed by the execution means 90, to the other game server 10B with which the communication connection has been established. Then, the process proceeds to the process of step SP228.
[0085] (Step SP228) The other game server 10B receives the execution request from the second terminal device 14. In response to this, the other game server 10B starts execution of the game program indicated by the identification information included in the execution request. Then, the other game server 10B transmits a notification to the second terminal device 14 that it has started execution of the game program. Then, the process proceeds to the process of step SP230.
[0086] (Step SP230) The second terminal device 14 judges whether or not there is a switching instruction from the first game server 10A. If the judgment is affirmative, the process proceeds to step SP232, and if the judgment is negative, the process returns to step SP208.
[0087] (Step SP232) The second terminal device 14 transmits a game progress request, including the progress status of the game by the execution means 90, to the other game server 10B that is executing the game program. Then, the process proceeds to step SP234.
[0088] (Step SP234) The other game server 10B receives the progress request from the second terminal device 14. In response to this, the other game server 10B synchronizes the progress status of the currently executed game with the progress status included in the progress request. Next, the other game server 10B progresses the game from the middle of the game being executed on the one game server 10A, and transmits the progress result to the second terminal device 14. This allows the user to play the game smoothly without interruption. Then, the process proceeds to the process of step SP236.
[0089] (Step SP236) The second terminal device 14 receives the progress result from the other game server 10B. In response to this, the second terminal device 14 outputs the received progress result. Then, the processing proceeds to the processing of step SP238.
[0090] (Step SP238) The second terminal device 14 transmits an open request to the first game server 10A. Then, the process proceeds to step SP240.
[0091] (Step SP240) The first game server 10A receives the release request. In response to this, the switching means 98 of the first game server 10A terminates the communication connection with the terminal device 14, and releases the first game server 10A so that it can be connected to another terminal device 14.
[0092] <Effects> As described above, in this embodiment, when one game server 10A capable of communicating with a second terminal device 14 operated by a user receives an execution request from the second terminal device 14, the system includes an execution means 90 which executes a program and transmits the execution result to the second terminal device 14 that originated the request, a first determination means 92 which determines whether or not the execution status is a status just before a predetermined switching status while the program is being executed, an instruction means 94 which, when the first determination means 92 makes a positive determination, outputs an instruction to another game server 10B having different performance compared to the one game server 10A to execute the program, a second determination means 96 which, after the instruction, determines whether or not the execution status is a predetermined switching status, and a switching means 98 which, when the second determination means 96 makes a positive determination, switches the source of transmission of the execution result of the program to the second terminal device 14 from the execution means 90 to the other game server 10B. According to this configuration, when the program execution status is a predetermined switching status, the source of transmission of the program execution results to the second terminal device 14 is switched from the execution means 90, i.e., one game server 10A to another game server 10 with different performance, so that the program execution results can be continuously transmitted to the user. Here, by lowering the performance of one game server 10A or the other game server 10 and switching to the other game server 10 when high performance is required or when high performance is not required, the program can be executed smoothly and the overall cost of the game server 10 can be reduced. Furthermore, while a program is being executed, if the execution status is immediately prior to a predetermined switching status, the other game server 10B having performance different from that of the first game server 10A continues to execute the program. Therefore, compared to a case where the source of transmission of the execution results of the program is suddenly switched from the execution means 90, i.e., the first game server 10A, to the other game server 10 having different performance, the execution results can be transmitted to the user without interruption, thereby reducing stress on the user.
[0093] Furthermore, in this embodiment, the instruction means 94 outputs an instruction so that the other game server 10B, which has higher performance than the one game server 10A, executes the program. According to this configuration, when a predetermined switching situation requires high performance as a game server, an instruction can be output so that the other game server 10B, which has higher performance than the first game server 10A, executes a program. Therefore, the first game server 10A can be made low-performance and inexpensive, and the cost of the entire game server 10 can be reduced. In addition, when the situation is not immediately before the predetermined switching situation, the first game server 10A with low performance is operated, thereby saving resources of the other game server 10B with high performance.
[0094] Furthermore, in this embodiment, the instruction means 94 outputs an instruction to cause the other game server 10B, which has lower performance than the one game server 10A, to execute a program. According to this configuration, when a predetermined switching state does not require high performance as a game server, an instruction can be output to execute a program to another game server 10B having lower performance than the one game server 10A. Therefore, the other game server 10B can be a lower performance and cheaper one, and the cost of the entire game server 10 can be reduced.
[0095] Furthermore, in this embodiment, the switching means 98 switches the transmission source from the execution means 90 to the other game server 10B, and then terminates the communication connection with the one game server 10A. According to this configuration, the one game server 10A is released from the terminal device 14 and can communicate with other terminal devices 14 to execute a new game, so that the one game server 10A can be operated efficiently.
[0096] Furthermore, in this embodiment, the program is a game program, and the predetermined switching situation includes a situation in which the game scene is switched. According to this configuration, when the game scene is changed, even if a time lag occurs in transmitting the execution results when the source of transmission of the program execution results to the terminal device 14 is switched from the execution means 90 to another game server 10B, the stress felt by the user can be reduced.
[0097] Also, in this embodiment, in the execution switching system 1 equipped with a plurality of game servers 10 including a game server 10A and a matching server 16, the matching server 16 is equipped with a search means 82 that, when it receives a search request including identification information of an app 26 from a second terminal device 14, searches among the plurality of game servers 10 for a game server capable of executing the program indicated by the identification information, and a connection instruction means 84 that outputs a connection instruction to the second terminal device 14 so as to preferentially connect to an information processing device with the lowest performance from among the game servers searched for by the search means 82. This configuration makes it possible to conserve the resources of the other high-performance game server 10B.
[0098] <Modification> The present invention is not limited to the above-described embodiment. In other words, even if a person skilled in the art appropriately modifies the above-described embodiment, the same will be included in the scope of the present invention as long as it has the characteristics of the present invention. In addition, the elements of the above-described embodiment and the modified examples described below can be combined to the extent technically possible, and the combination of these elements will also be included in the scope of the present invention as long as it has the characteristics of the present invention.
[0099] For example, in the above embodiment, the information processing device that executes the app 26 is described as a game server 10, but the information processing device may also be a server device located in a data center, an inspection device located in a factory, a device mounted on a car, a device mounted on a robot, etc.
[0100] In the above embodiment, the game server 10 executes an application (game program), but the first terminal device 12 or the second terminal device 14 may execute the game program instead of the game server 10. In this case, the terminal device that executes the game program includes an execution means 90, a first determination means 92, an instruction means 94, a second determination means 96, and a switching means 08, and performs the same processing as the game server 10. In the above embodiment, the game server 10 switches the execution of the game program from one game server 10 to another game server 10, but the terminal device switches the execution of the game program from the game server 10 to the terminal device, or from the terminal device to the game server 10.
[0101] <Additional Notes> The appended notes of the present invention include the following.
[0102] [Additional note 1] An information processing device capable of communicating with a terminal device operated by a user, an execution means for executing a program and transmitting an execution result to the terminal device which has made the request when an execution request is received from the terminal device; a first determination means for determining whether or not the execution status of the program is a status immediately before a predetermined switching status during the execution of the program; an instruction means for outputting an instruction to another information processing device having a communication speed with the terminal device different from that of the information processing device, so that the program is executed when the first determination means makes an affirmative determination; a second determination means for determining whether or not the execution status is the predetermined switching status after the instruction; a switching means for switching a transmission source for transmitting the execution result of the program to the terminal device from the execution means to the other information processing device when the second determination means makes an affirmative determination; An information processing device comprising:
[0103] [Additional note 2] the instruction means outputs an instruction so that an information processing device having a communication speed with the terminal device faster than that of the other information processing device executes the program. Item 1. An information processing device according to claim 1.
[0104] [Additional note 3] the instruction means outputs an instruction to cause one of the other information processing devices, the information processing device having a communication speed with the terminal device slower than the information processing device, to execute the program. Item 1. An information processing device according to claim 1. [Explanation of symbols]
[0105] 10: Game server (information processing device), 10A: Game server (information processing device) 10B: game server (another information processing device), 90: execution means, 92: first determination means, 94: instruction means, 96: second determination means, 98: switching means
Claims
1. An information processing device capable of communicating with a terminal device operated by a user, an execution means for executing a program and transmitting an execution result to the terminal device which has made the request when an execution request is received from the terminal device; a first determination means for determining whether or not the execution status of the program is a status immediately before a predetermined switching status during the execution of the program; an instruction means for outputting an instruction to another information processing device having a different performance from that of the information processing device to execute the program when the first determination means makes an affirmative determination; a second determination means for determining whether or not the execution status is the predetermined switching status after the instruction; a switching means for switching a transmission source for transmitting the execution result of the program to the terminal device from the execution means to the other information processing device when the second determination means makes an affirmative determination; An information processing device comprising:
2. the instruction means outputs an instruction so that an information processing device having a higher performance than the other information processing device executes the program. The information processing device according to claim 1 .
3. the instruction means outputs an instruction so that an information processing device having a lower performance than the information processing device executes the program as the other information processing device. The information processing device according to claim 1 .
4. the switching means terminates the communication connection with the terminal device after switching the source of the transmission from the execution means to the other information processing device.
4. The information processing device according to claim 2 or 3.
5. the program is a game program, The predetermined switching situation includes a situation in which a game scene is switched. The information processing device according to claim 1 .
6. 3. An execution switching system comprising a plurality of information processing devices including the information processing device according to claim 2 and a server device, The server device includes: a search means for searching, when a search request including identification information of the program is received from the terminal device, from among the plurality of information processing devices for an information processing device capable of executing the program identified by the identification information; a connection instruction means for outputting a connection instruction to the terminal device so as to give priority to connecting an information processing device with the lowest performance from among the information processing devices searched for by the search means; An execution switching system comprising:
Citation Information
Patent Citations
Information processing system, information processor, and information processing method
JP2008123344A
Game providing system
JP2015195976A
Load balancing in cloud-based game systems
JP2015512089A
Game server device and distribution processing method
JP2017037446A
multimode gaming server
JP2017507395A