IP Library Granted Patent US 8,290,920
Granted Patent B2
US 8,290,920 · App. 12/878,904 · Granted Oct 16, 2012

System and method for remote updates

Assignee: Zynga Inc.
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 8,290,920
App. No.
12/878,904
Granted
Oct 16, 2012
Kind
B2
Abstract

In one embodiment, accessing, using a computing device, a batch file comprising a plurality of events generated by a remote game client application executing an instance of a computer-implemented game; accessing, in response to the batch file, a game state data object associated with the instance of the computer-implemented game, wherein the game state data object includes one or more game state parameters formatted as serialized unstructured data; parsing the game state data object to identify the one or more game state parameters; processing the plurality of events in the batch file against game logic to update one or more of the game state parameters; re-serializing the one or more game state parameters into an updated game state data object; and storing the game state data object in a memory cache.

Claims (62)

1. A method, comprising:

accessing, using a computing device, a batch file transmitted after a threshold period of time by a remote game application executing an instance of a computer-implemented game, wherein the batch file includes a plurality of events generated by the remote game client application;

accessing, in response to the batch file, a game state data object associated with the instance of the computer-implemented game, wherein the game state data object is a Binary Large Object (BLOB) and includes one or more game state parameters formatted as serialized unstructured data;

parsing the game state data object to identify the one or more game state parameters;

processing the plurality of events in the batch file against game logic to update one or more of the game state parameters;

re-serializing the one or more game state parameters into an updated game state data object; and

storing the game state data object in a memory cache for subsequent asynchronous processing to update a database that persistently stores the game state data object as a BLOB.

2. The method recited in claim 1 , further comprising:

assigning a unique identifier to the updated game state data object;

storing the unique identifiers in a queue associated with a database;

asynchronously processing each of the identifiers in the queue to update data stored in the database, wherein processing one of the identifiers comprises:

retrieving the updated game state data object identified by the identifier from the memory cache; and

storing the updated game state data object in the database.

3. The method recited in claim 2 , wherein:

the database is partitioned into a plurality of sections;

the data stored in the database are divided into a plurality of groups; and each of the sections of the database is used to store one or more of the groups of data.

4. The method recited in claim 1 , wherein:

the batch file is compressed; and

parsing the batch file comprises uncompressing the batch file.

5. A system, comprising:

a memory comprising instructions executable by one or more processors; and

one or more processors coupled to the memory and operable to execute the instructions, the one or more processors being operable when executing the instructions to:

access a batch file transmitted after a threshold period of time by a remote game application executing an instance of a computer-implemented game,

wherein the batch file includes a plurality of events generated by the remote game client application;

access, in response to the batch file, a game state data object associated with the instance of the computer-implemented game, wherein the game state data object is a Binary Large Object (BLOB) and includes one or more game state parameters formatted as serialized unstructured data;

parse the game state data object to identify the one or more game state parameters;

process the plurality of events in the batch file against game logic to update one or more of the game state parameters;

re-serialize the one or more game state parameters into an updated game state data object; and

store the game state data object in a memory cache for subsequent asynchronous processing to update a database that persistently stores the game state data object as a BLOB.

6. The system of claim 5 , further comprising instructions operable to, when executed, cause the one or more processors to:

assign a unique identifier to the updated game state data object;

store the unique identifiers in a queue associated with a database;

asynchronously process each of the identifiers in the queue to update data stored in the database, wherein processing one of the identifiers comprises:

retrieve the updated game state data object identified by the identifier from the memory cache; and

store the updated game state data object in the database.

7. The system of claim 6 , wherein:

the database is partitioned into a plurality of sections;

the data stored in the database are divided into a plurality of groups; and

each of the sections of the database is used to store one or more of the groups of data.

8. The system of claim 5 , wherein:

the batch file is compressed; and

parsing the batch file comprises uncompressing the batch file.

9. One or more computer-readable storage media, which are non-transitory, embodying software operable when executed by one or more computing devices to:

access a batch file transmitted after a threshold period of time by a remote game application executing an instance of a computer-implemented game, wherein the batch file includes a plurality of events generated by the remote game client application;

access, in response to the batch file, a game state data object associated with the instance of the computer-implemented game, wherein the game state data object is a Binary Large Object (BLOB) and includes one or more game state parameters formatted as serialized unstructured data;

parse the game state data object to identify the one or more game state parameters;

process the plurality of events in the batch file against game logic to update one or more of the game state parameters;

re-serialize the one or more game state parameters into an updated game state data object; and

store the game state data object in a memory cache for subsequent asynchronous processing to update a database that persistently stores the game state data object as a BLOB.

10. The media of claim 9 , further comprising software operable when executed by the one or more computing devices to:

assign a unique identifier to the updated game state data object;

store the unique identifiers in a queue associated with a database;

asynchronously process each of the identifiers in the queue to update data stored in the database, wherein processing one of the identifiers comprises:

retrieve the updated game state data object identified by the identifier from the memory cache; and

store the updated game state data object in the database.

11. The media of claim 10 , wherein:

the database is partitioned into a plurality of sections;

the data stored in the database are divided into a plurality of groups; and

each of the sections of the database is used to store one or more of the groups of data.

12. The media of claim 9 , wherein:

the batch file is compressed; and

parsing the batch file comprises uncompressing the batch file.

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 →
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 →
CHANGE OF NAME Recorded Oct 12, 2011
From: ZYNGA GAME NETWORK INC.
To: ZYNGA INC.
Reel/Frame 027048/0407 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2010
From: MAHAJAN, AMITT; LU, SIFANG; RAJLICH, LUKE THOMAS; WANG, TIMOTHY D.
To: ZYNGA GAME NETWORK, INC.
Reel/Frame 024965/0627 →
Continuity (2)
Provisional Application 61247492 · Sep 30, 2009
Related Publication 20110320401A1 · Dec 29, 2011