IP Library Granted Patent US 9,550,125
Granted Patent B2
US 9,550,125 · App. 12/251,389 · Granted Jan 24, 2017

Dynamic and scalable topology for virtual world environments

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,550,125
App. No.
12/251,389
Granted
Jan 24, 2017
Kind
B2
Abstract

The present invention pertains to a method and apparatus for providing a dynamic and scalable topology for virtual world environments. In one embodiment, the method may include determining, in response to a request of a user computer system to transfer from a first place to a second place in a virtual environment, an instance of a second place that satisfies the request. The method may also include directing the user computer system to a game server that provides the determined instance of the second place.

Claims (69)

1. A method, comprising:

in response to a request of a user computer system to transfer from a first place to a second place in a virtual world environment, identifying, by a processor, a plurality of instances of the second place, wherein the virtual world environment comprises a plurality of connected places, and wherein the virtual world environment further comprises the plurality of instances of the second place and zero or more instances of each connected place from the plurality of connected places;

determining, by the processor, one or more other users associated with a user of the user computer system, wherein the one or more other users are associated with the user of the user computer system by at least a common place occupancy association with the user, wherein the common place occupancy association indicates that the one or more other users have occupied the first place in the virtual world environment at a same time as the user;

determining, by the processor, one of the plurality of instances of the second place in the virtual world environment that satisfies the request of the user computer system based at least in part on an association with one of the one or more other users, wherein the one of the one or more other users has been routed to the determined instance, and wherein the one of the one or more other users is associated with the user of the user computer system by at least the common place occupancy association;

routing, by the processor, the user computer system to a game server that provides the determined instance of the second place in the virtual world environment; and

updating, by the processor, runtime conditions of the virtual world environment associated with the user to indicate that the user computer system has been routed to the game server that provides the determined instance of the second place in the virtual world environment.

2. The method of claim 1 further comprising:

analyzing one or more selection criteria associated with the request;

determining a specific instance of the second place where the user computer system will be directed to based on analysis results of the selection criteria; and

directing the user computer system to a particular server game server that provides the specific instance of the second place.

3. The method of claim 2 , further comprising:

monitoring runtime conditions associated with each instance of each place in the virtual world environment; and

analyzing the monitored runtime conditions as a selection criteria along with the one or more selection criteria.

4. The method of claim 3 , wherein monitoring runtime conditions further comprises:

directing a game server to create a new instance of a place from the plurality of connected places when the monitored runtime conditions indicate that a number of user computer systems at an instance of the place exceeds a limit; and

directing the game server to destroy an existing instance of the place when the monitored runtime conditions indicate that a number of user computer systems at the existing instance of the place is below a threshold, wherein user computer systems at the existing instance of the place to be destroyed are directed to a different instance of the place.

5. The method of claim 2 , wherein the selection criteria includes one or more selection criteria selected from the group consisting of destination place occupancy, destination place restrictions, server allocation, and server load for one or more servers that provide the destination place, and common place occupants.

6. The method of claim 2 , further comprising:

receiving data from a user computer system that specifies friends of a user of the user computer system;

storing friendship data in a user profile associated with the user computer system; and

analyzing the friendship data as a selection criteria along with the one or more selection criteria.

7. The method of claim 1 , wherein the request to transfer is received in response to the user computer system accessing a transfer portal.

8. The method of claim 7 , wherein the transfer portal is visually simulated in the virtual environment as a physically simulated boundary in the first place, a door, a cave, a transportation mechanism, or a teleporter.

9. The method of claim 7 , wherein the transfer portal is a user-created transfer portal in the virtual environment.

10. The method of claim 1 , wherein the virtual environment is an online multiplayer gaming environment.

11. A non-transitory computer readable storage medium that provides instructions, which when executed by a processor, cause the processor to perform operations comprising:

in response to a request of a user computer system to transfer from a first place to a second place in a virtual world environment, identifying, by the processor, a plurality of instances of the second place, wherein the virtual world environment comprises a plurality of connected places, and wherein the virtual world environment further comprises the plurality of instances of the second place and zero or more instances of each connected place from the plurality of connected places;

determining, by the processor, one or more other users associated with a user of the user computer system, wherein the one or more other users are associated with the user of the user computer system by at least a common place occupancy association with the user, wherein the common place occupancy association indicates that the one or more other users have occupied the first place in the virtual world environment at a same time as the user;

determining, by the processor, one of the plurality of instances of the second place in the virtual world environment that satisfies the request of the user computer system based at least in part on an association with one of the one or more other users, wherein the one of the one or more other users has been routed to the determined instance, and wherein the one of the one or more other users is associated with the user of the user computer system by at least the common place occupancy association;

routing, by the processor, the user computer system to a game server that provides the determined instance of the second place in the virtual world environment; and

updating, by the processor, runtime conditions of the virtual world environment associated with the user to indicate that the user computer system has been routed to the game server that provides the determined instance of the second place in the virtual world environment.

12. The non-transitory computer readable storage medium of claim 11 , the operations further comprising:

analyzing one or more selection criteria associated with the request;

determining a specific instance of the second place where the user computer system will be directed to based on analysis results of the selection criteria; and

directing the user computer system to a particular game server that provides the specific instance of the second place.

13. The non-transitory computer readable storage medium of claim 12 , the operations further comprising:

monitoring runtime conditions associated with each instance of each place in the virtual world environment; and

analyzing the monitored runtime conditions as a selection criteria along with the one or more selection criteria.

14. The non-transitory computer readable storage medium of claim 13 , wherein monitoring runtime conditions further comprises:

directing a game server to create a new instance of a place from the plurality of connected places when the monitored runtime conditions indicate that a number of user computer systems at an instance of the place exceeds a limit; and

directing the game server to destroy an existing instance of the place when the monitored runtime conditions indicate that a number of user computer systems at the existing instance of the place is below a threshold, wherein user computer systems at the existing instance of the place to be destroyed are directed to a different instance of the place.

15. The non-transitory computer readable storage medium of claim 12 , wherein the selection criteria includes one or more selection criteria selected from the group consisting of destination place occupancy, destination place restrictions, server allocation, server load for one or more servers that provide the destination place, and common place occupants.

16. The non-transitory computer readable medium of claim 12 , the operations further comprising:

receiving data from a user computer system that specifies friends of a user of the user computer system;

storing friendship data in a user profile associated with the user computer system; and

analyzing the friendship data as a selection criteria along with the one or more selection criteria.

17. The non-transitory computer readable storage medium of claim 11 , wherein the request to transfer is received in response to the user computer system accessing a transfer portal.

18. The non-transitory computer readable storage medium of claim 17 , wherein the transfer portal is visually simulated in the virtual environment as a physically simulated boundary in the first place, a door, a cave, a transportation mechanism, or a teleporter.

19. The non-transitory computer readable storage medium of claim 17 , wherein the transfer portal is a user-created transfer portal in the virtual environment.

20. The non-transitory computer readable storage medium of claim 11 , wherein the virtual environment is an online multiplayer gaming environment.

21. A system, comprising:

a routing server comprising a memory and a processor operatively coupled to the memory, wherein the processor is to:

in response to a request of a user computer system to transfer from a first place to a second place in a virtual world environment, identify a plurality of instances of the second place, wherein the virtual world environment comprises a plurality of connected places, and wherein the virtual world environment further comprises the plurality of instances of the second place and zero or more instances of each connected place from the plurality of connected places;

determine one or more other users associated with a user of the user computer system, wherein the one or more other users are associated with the user of the user computer system by at least a common place occupancy association with the user, wherein the common place occupancy association indicates that the one or more other users have occupied the first place in the virtual world environment at a same time as the user;

determine one of the plurality of instances of the second place in the virtual world environment that satisfies the request of the user computer system based at least in part on an association with one of the one or more other users, wherein the one of the one or more other users has been routed to the determined instance, and wherein the one of the one or more other users is associated with the user of the user computer system by at least the common place occupancy association;

route the user computer system over a network to a game server that provides the determined instance of the second place in the virtual world environment; and

update runtime conditions of the virtual world environment associated with the user to indicate that the user computer system has been routed to the game server that provides the determined instance of the second place in the virtual world environment.

22. The system of claim 21 , wherein the virtual environment is an online multiplayer gaming environment and wherein the virtual environment is provided by one or more game servers coupled with the routing server over the network.

23. The system of claim 22 , wherein the routing server is further to:

analyze one or more selection criteria associated with the request,

determine a specific instance of the second place where the user computer system will be directed to based on analysis results of the selection criteria, and

direct the user computer system to a particular game server that provides the specific instance of the second place.

24. The system of claim 23 , further comprising:

an instance spawning server coupled with the game server over the network to

monitor runtime conditions associated with each instance of each place in the virtual world environment and supply, in response to a request of the routing server, the monitored runtime conditions as one of the one or more selection criteria,

direct a game server to create a new instance of a place from the plurality of connected places when the monitored runtime conditions indicate that a number of user computer systems at an instance of the place exceeds a limit; and

direct the game server to destroy an existing instance of the place when the monitored runtime conditions indicate that a number of user computer systems at the instance of the place is below a threshold, wherein user computer systems at the place to be destroyed are directed to a different instance of the place.

25. The system of claim 23 , wherein the system further comprises a plurality of game servers distributed over a network, wherein each of the plurality of game servers is coupled to the routing server and the instance spawning server over the network.

26. The system of claim 25 , wherein the instance spawning server to ensure that no instances of a place are allocated by the plurality of game servers when runtime conditions indicate that no user computer systems are currently at the place.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Feb 10, 2021
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: ROBLOX CORPORATION
Reel/Frame 055221/0252 →
SECURITY INTEREST Recorded Feb 15, 2019
From: ROBLOX CORPORATION
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 048346/0255 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2008
From: BASZUCKI, DAVID B.; CASSEL, ERIK S.; SHEDLETSKY, JOHN; DUSEK, MATT
To: ROBLOX CORPORATION
Reel/Frame 021776/0168 →