IP Library Granted Patent US 9,914,051
Granted Patent B2
US 9,914,051 · App. 15/603,336 · Granted Mar 13, 2018

Massive multi-player online (MMO) games server and methods for executing the same

Inventors: David Perry (Monarch Beach, CA); Rui Filipe Andrade Pereira (Aliso Viejo, CA); Andrew Buchanan Gault (Aliso Viejo, CA)
Assignee: Sony Interactive Entertainment America LLC
A63F13/335A63F13/338A63F13/352A63F13/355A63F13/77H04N21/4781
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,914,051
App. No.
15/603,336
Granted
Mar 13, 2018
Kind
B2
Abstract

Video server systems and methods for providing video streams to a plurality of remote clients are described. In one implementation, the video streams are based on game states received from a remote game server. The game states are dependent on game commands received by the video server system from the remote clients and forwarded to the remote game server. The video server system is configured to appear, from the point of view of the game server, as more than one client. For example, the video server system may receive game states from the remote game server at more than one different Internet Protocol address and each of these Internet Protocol addresses may be associated with a different game session.

Claims (36)

1. A server system, comprising:

a game engine implemented as computer executable instructions in a computer memory, the game engine configured to maintain a global game state of a video game for a plurality of clients based on game commands received from the plurality of clients, the game engine configured to generate client-specific game states for some of the plurality of clients from the global game state;

transition logic implemented as computer executable instructions in a computer memory, the transition logic configured to assign a client-specific game state for a first client of the plurality of clients to a second client of the plurality of clients without generating a separate client-specific game state for the second client, the transition logic configured to apply game commands received from the second client to the client-specific game state for the first client;

game logic implemented as computer executable instructions in a computer memory, the game logic configured to use the client-specific game state for the first client and a point of view of a player of the video game at the second client to determine a game environment for rendering a video stream for the second client; and

one or more processors configured to execute the game engine, the transition logic, and the game logic.

2. The server system as recited in claim 1 , wherein the transition logic is configured to accept an assignment request from a specific predetermined client, the assignment request directing the transition logic to assign the client-specific game state for the first client to the second client.

3. The server system as recited in claim 2 , wherein the assignment request is encrypted.

4. The server system as recited in claim 2 , wherein the assignment request includes an authorization code.

5. The server system as recited in claim 2 , wherein the assignment request is encrypted and includes an authorization code.

6. The server system as recited in claim 1 , wherein the game engine is configured to convert game commands received from the second client to a format that is expected from a game controller of the first client.

7. The server system as recited in claim 1 , wherein the first client and the second client are geographically separated from each other.

8. The server system as recited in claim 1 , wherein the transition logic is configured to maintain an assignment of the client-specific game state for the first client to the first client in conjunction with assigning of the client-specific game state for the first client to the second client, the transition logic configured to apply game commands received from both the first client and the second client to the client-specific game state for the first client.

9. The server system as recited in claim 8 , wherein the game logic is configured to use the client-specific game state for the first client and a point of view of a player of the video game at the first client to determine a game environment for rendering a video stream for the first client.

10. The server system as recited in claim 1 , further comprising:

a video source configured to render separate video streams for each of the plurality of clients based on the client-specific game state currently assigned to each of the plurality of clients.

11. A method, comprising:

maintaining a global game state of a video game for a plurality of clients based on game commands received from the plurality of clients;

generating client-specific game states for some of the plurality of clients from the global game state;

assigning a client-specific game state for a first client of the plurality of clients to a second client of the plurality of clients without generating a separate client-specific game state for the second client;

applying game commands received from the second client to the client-specific game state for the first client; and

determining a game environment for rendering a video stream for the second client through use of the client-specific game state for the first client and a point of view of a player of the video game at the second client.

12. The method as recited in claim 11 , further comprising:

accepting an assignment request from a specific predetermined client, the assignment request directing assignment of the client-specific game state for the first client to the second client.

13. The method as recited in claim 12 , wherein the assignment request is encrypted, and wherein the method includes decrypting the assignment request.

14. The method as recited in claim 12 , wherein the assignment request includes an authorization code, and wherein the method includes verifying correctness of the authorization code.

15. The method as recited in claim 12 , wherein the assignment request is encrypted and includes an authorization code, and wherein the method includes decrypting the assignment request and verifying correctness of the authorization code.

16. The method as recited in claim 11 , further comprising:

converting game commands received from the second client to a format that is expected from a game controller of the first client.

17. The method as recited in claim 11 , wherein the first client and the second client are geographically separated from each other.

18. The method as recited in claim 11 , further comprising:

maintaining an assignment of the client-specific game state for the first client to the first client in conjunction with assigning of the client-specific game state for the first client to the second client; and

applying game commands received from both the first client and the second client to the client-specific game state for the first client.

19. The method as recited in claim 18 , further comprising:

determining a game environment for rendering a video stream for the first client through use of the client-specific game state for the first client and a point of view of a player of the video game at the first client.

20. The method as recited in claim 11 , further comprising:

rendering separate video streams for each of the plurality of clients based on the client-specific game state currently assigned to each of the plurality of clients.

Assignments (1)
MERGER Recorded Mar 30, 2020
From: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC
To: SONY INTERACTIVE ENTERTAINMENT LLC
Reel/Frame 053323/0567 →
Continuity (3)
Continuation 13912713 · Jun 7, 2013
Provisional Application 61656787 · Jun 7, 2012
Related Publication 20170252647A1 · Sep 7, 2017