IP Library Granted Patent US 9,937,414
Granted Patent B2
US 9,937,414 · App. 14/284,390 · Granted Apr 10, 2018

Methods and apparatus for remote updates

Inventors: Amitt Mahajan (San Francisco, CA); Sifang Lu (San Francisco, CA); Luke Thomas Rajlich (San Francisco, CA); Timothy D. Wang (San Francisco, CA)
Assignee: Zynga Inc.
A63F13/00G06F17/30575
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,937,414
App. No.
14/284,390
Granted
Apr 10, 2018
Kind
B2
Abstract

Software on a server transmits a copy of a string of text data containing game state parameters to a client device executing an instance of a computer-implemented game. The string is serialized and unstructured. The instance modifies the game state parameters according to game logic and events generated by a user as the user plays the game. The software on the server then receives a batch file transmitted after a threshold period of time by the instance. The batch file includes a plurality of events. The software processes the plurality of events in the batch file against game logic to update one or more of game state parameters in the string and stores the text data in the updated string in a persistent database.

Claims (29)

1. A method, comprising operations of:

receiving, at a server, a batch file transmitted from an instance of a computer-implemented game executing on a client device, wherein the batch file includes a plurality of events and has reached a size as determined by a threshold number of events;

processing the plurality of events in the batch file against game logic to update one or more of game state parameters contained in a string of text data which is serialized and unstructured and which is stored in an intermediate memory cache (memcache) layer that supports lazy updates to a persistent database, the string of text data being de-serialized by the server in order to update the one or more game state parameters for synchronizing the server with the client device; and

transmitting a copy of the string having the update to the client device, wherein the instance further modifies the game state parameters according to game logic and events generated in response to a user playing the game, wherein each operation is performed by one or more processors.

2. A method as in claim 1 , wherein the text data in the string is stored in a persistent database that is partitioned into multiple parts and wherein each part is used to store one or more specific types of game application data.

3. A method as in claim 1 , wherein each of the plurality of events includes an action and an object identifier.

4. A method as in claim 1 , wherein the batch file includes at least one update to a user object.

5. A method as in claim 4 , wherein the user object includes a player state and a world state.

6. A method as in claim 1 , wherein the batch file includes successive updates to a user object that are processed in sequence.

7. One or more non-transitory media that are computer-readable and that store instructions, which when executed by a processor, perform the following operations:

receive, at a server, a batch file transmitted from an instance of a computer-implemented game executing on a client device, wherein the batch file includes a plurality of events and has reached a size as determined by a threshold number of events;

process the plurality of events in the batch file against game logic to update one or more of game state parameters contained in a string of text data which is serialized and unstructured and which is stored in an intermediate memory cache (memcache) layer that supports lazy updates to a persistent database, the string of text data being de-serialized by the server in order to update the one or more game state parameters for synchronizing the server with the client device; and

transmit a copy of the string having the update to the client device, wherein the instance further modifies the game state parameters according to game logic and events generated in response to a user playing the game.

8. The media of claim 7 , wherein the persistent database that is partitioned into multiple parts and wherein each part is used to store one or more specific types of game application data.

9. The media of claim 7 , wherein each of the plurality of events includes an action and an object identifier.

10. The media of claim 7 , wherein the batch file includes at least one update to a user object.

11. The media of claim 10 , wherein the user object includes a player state and a world state.

12. The media of claim 7 , wherein the batch file includes successive updates to a user object that are processed in sequence.

13. A computer-implemented method, comprising:

transmitting, from a server, a copy of a string of text data containing game state parameters to a client device executing an instance of a computer-implemented game, wherein the string, stored by the server serialized and unstructured and is stored in an intermediate memory cache (memcache) layer that supports lazy updates to a persistent database and wherein the instance modifies further the game state parameters according to game logic and events generated in response to a user playing the game;

receiving, at the server, a batch file transmitted by the instance, wherein the batch file includes a plurality of events and has reached a size as determined by a threshold number of events; and

processing, by the server, the plurality of events in the batch file against game logic to update one or more of game state parameters in the string to synchronize the server with the client device and storing the text data in the updated string in a persistent database.

14. The method of claim 13 , wherein each of the plurality of events includes an action and an object identifier.

15. The method of claim 13 , wherein the batch file includes at least one update to a user object.

16. The method of claim 15 , wherein the user object includes a player state and a world state.

17. The method of claim 13 , wherein the batch file includes successive updates to a user object that are processed in sequence.

18. The method of claim 13 , wherein the persistent database is partitioned into multiple parts and wherein each part is used to store one or more specific types of game application data.

19. The method of claim 18 , wherein one of the parts stores social network contacts.

20. The method of claim 13 , wherein the updated string is stored as a single object in the persistent database.

Assignments (6)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded May 23, 2022
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ZYNGA INC.
Reel/Frame 060163/0437 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2021
From: MAHAJAN, AMITT; LU, SIFANG; RAJLICH, LUKE THOMAS; WANG, TIMOTHY D.
To: ZYNGA GAME NETWORK, INC.
Reel/Frame 058327/0111 →
CHANGE OF NAME Recorded Dec 7, 2021
From: ZYNGA GAME NETWORK INC.
To: ZYNGA INC.
Reel/Frame 058375/0537 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Dec 14, 2020
From: ZYNGA INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 054719/0490 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 11, 2020
From: BANK OF AMERICA, N.A., AS LENDER
To: ZYNGA INC.
Reel/Frame 054701/0393 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Dec 21, 2018
From: ZYNGA INC.
To: BANK OF AMERICA, N.A., AS LENDER
Reel/Frame 049147/0546 →
Continuity (4)
Continuation 13646733 · Oct 7, 2012
Continuation 12878904 · Sep 9, 2010
Provisional Application 61247492 · Sep 30, 2009
Related Publication 20140256451A1 · Sep 11, 2014