Scalable game server architecture
First Claim
1. A system for implementing a multi-player computer game comprising a plurality of sectors each sector defining a logical area into which players can enter and perform game-related activities, the system comprising:
- a plurality of computers coupled via a network, the plurality of computers including;
a first computer that, upon receiving a request to implement a first sector of the plurality of sectors as part of the multi-player computer game, spawns a first sector manager process on the first computer that implements said first sector on the first computer;
a second computer that, upon receiving said request to implement said first sector as part of the multi-player computer game, spawns a second sector manager process on the second computer that implements said first sector on the second computer; and
a primary controller process executing on a third computer and being in communication over the network with the first and second computers, said primary controller process, upon being notified that a player wishes to enter said first sector, makes a first determination, on the basis of computer loading information for the first and second computers, of which of the first and second computers should implement said first sector and, upon making the first determination, issues the request to the first computer to implement said first sector if the first computer has more favorable computer loading characteristics, or issues the request to the second computer to implement said first sector if the second computer has more favorable computer loading characteristics.
2 Assignments
0 Petitions
Accused Products
Abstract
A scalable game apparatus and method for implementing a multi-player computer game includes a plurality of networked computers over which computer processes are distributed. In various embodiments, each computer includes a baron process which coordinates the spawning of a sector manager process on the computer and communicates with a primary server process on one of the networked computers. The primary server process determines on the basis of computer loading which computer in the network should be used to spawn a new sector manager. Each sector manager implements a logical area into which game players can enter and perform game-related activities. Each baron process provides computer loading information to the primary server process. The inventive method and apparatus allows a large number of players to be efficiently accommodated while improving the reliability of the game.
231 Citations
23 Claims
-
1. A system for implementing a multi-player computer game comprising a plurality of sectors each sector defining a logical area into which players can enter and perform game-related activities, the system comprising:
a plurality of computers coupled via a network, the plurality of computers including; a first computer that, upon receiving a request to implement a first sector of the plurality of sectors as part of the multi-player computer game, spawns a first sector manager process on the first computer that implements said first sector on the first computer; a second computer that, upon receiving said request to implement said first sector as part of the multi-player computer game, spawns a second sector manager process on the second computer that implements said first sector on the second computer; and a primary controller process executing on a third computer and being in communication over the network with the first and second computers, said primary controller process, upon being notified that a player wishes to enter said first sector, makes a first determination, on the basis of computer loading information for the first and second computers, of which of the first and second computers should implement said first sector and, upon making the first determination, issues the request to the first computer to implement said first sector if the first computer has more favorable computer loading characteristics, or issues the request to the second computer to implement said first sector if the second computer has more favorable computer loading characteristics. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
12. A system for implementing a multi-player computer game comprising a plurality of sectors, each sector defining a logical area into which players can enter and perform game-related activities, the system comprising:
-
a plurality of computers coupled via a network; a primary controller means residing on one computer of the plurality of computers for receiving a player-initiated request to enter a first sector of the plurality of sectors as part of the multi-player computer game; means, responsive to receiving a request to implement said first sector, for spawning on a first computer of the plurality of computers a first process that implements said first sector on the first computer and, responsive to receiving the request to implement said first sector, for spawning on a second computer of the plurality of computers a second software process that implements said first sector on the second computer; wherein the primary controller means, upon receiving the player-initiated response, determines on the basis of computer loading information for the first and second computers which of the first and second computers should implement said first sector and, upon making the determination, issues the request to implement said first sector on the first computer if the first computer has more favorable computer loading characteristics, and issues the request to implement said first sector on the second computer if the second computer has more favorable computer loading characteristics. - View Dependent Claims (13, 14)
-
-
15. A method of implementing a computer game comprising a plurality of game sectors, each game sector of said plurality of game sectors defining a logical area into which game players can enter and perform activities related to said logical area, the method comprising the steps of:
-
providing a plurality of computers, each computer of said plurality of computers being able to execute a sector manager that implements at least one copy of at least one game sector of the plurality of game sectors; receiving in a first computer of the plurality of computers a request from a player to enter a first game sector of the plurality of game sectors; making a determination of which computer of the plurality of computers has the most favorable computer loading characteristics; and executing said sector manager on said computer having the most favorable computer loading characteristics to implement a first copy of the first game sector. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A method of implementing a distributed computer game comprising a plurality of game sectors, each game sector of said plurality of game sectors defining a logical area into which game players can enter and perform activities related to said logical area, the method of comprising the steps of:
-
providing a plurality of computers, each computer of said plurality of computers being able to spawn a plurality of sector managers, wherein each sector manager of the plurality of sector managers implements at least one copy of at least one game sector of the plurality of game sectors on said computer of said plurality of computers; receiving in a first computer of the plurality of computers a request from a player to enter a first game sector of the plurality of game sectors; making a determination about whether a copy of said first game sector already exists on any computer of the plurality of computers and, if a capacity limit has not yet been exceeded for said copy, allowing the player to enter said copy of said first game sector; and upon determining that said copy of said first game sector does not already exist on any computer of the plurality of computers, making an identification of which computer of the plurality of computers has the most favorable computer loading characteristics and, based on the identification, spawning said copy of said first game sector on said computer having the most favorable computer loading characteristics. - View Dependent Claims (21)
-
- 22. A computer readable storage medium comprising instructions that control a multi-player computer game, wherein the instructions, when executed on any networked computer of a plurality of networked computers, determine which networked computer of the plurality of networked computers has the most favorable computer loading characteristics and is therefore a most favorable computer, select said most favorable computer in response to receiving a player request to enter a game sector defining a logical area into which players can enter and perform game-related activities, and issue a spawning request to said most favorable computer to spawn a process that implements said game sector on said most favorable computer.
Specification