IP Library Granted Patent US 8,285,693
Granted Patent B2
US 8,285,693 · App. 13/244,705 · Granted Oct 9, 2012

System and method for remote updates

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,285,693
App. No.
13/244,705
Granted
Oct 9, 2012
Kind
B2
Abstract

Software on a server accesses a batch file including a plurality of events generated by a remote game client application executing an instance of the computer-implemented game. The software accesses a game state data object associated with the instance of the computer-implemented game. The game state data object includes one or more game state parameters formatted as a serialized unstructured string of text data. The software parses the game state data object to identify the one or more game state parameters. The software processes the plurality of events in the batch file against game logic to update one or more of the game state parameters in the game state data object. The game logic incorporates information extracted from a social graph. And the software stores the game state data object in a memory cache.

Claims (59)

1. A method for updating a remote game application, comprising operations of:

accessing a batch file including a plurality of events generated by a remote game client application executing an instance of the computer-implemented game;

accessing 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) with an identifier section and a body section, wherein the identifier section includes an identifier that is derived from a tuple including a game identifier, a user identifier, and a blob type identifier and wherein the body section includes one or more game state parameters formatted as a serialized unstructured string of text 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 in the game state data object, wherein the game logic incorporates information extracted from a social graph; 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, wherein each operation is executed on one or more processors.

2. The method of claim 1 , further comprising:

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

storing the unique identifier in a queue of identifiers 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 includes:

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 of claim 2 , wherein:

the database is partitioned into a plurality of sections, one of which is a section for social network contacts;

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 of claim 1 , wherein the BLOB is a Base64 BLOB.

5. The method of claim 1 , wherein the social graph is maintained by an internal social network server.

6. The method of claim 1 , wherein the social graph is maintained by an external social network server.

7. The method of claim 1 , wherein the serialized unstructured string of text data includes one or more tags to facilitate search in a database report.

8. A system for updating a remote game application, comprising:

one or more processors; and

a memory disposed in communication with the one or more processors and storing processor-executable instructions, the instructions comprising instructions to:

access a batch file including a plurality of events generated by a remote game client application executing an instance of the computer-implemented game;

access 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) with an identifier section and a body section, wherein the identifier section includes an identifier that is derived from a tuple including a game identifier, a user identifier, and a blob type identifier and wherein the body section includes one or more game state parameters formatted as a serialized unstructured string of text 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 in the game state data object, wherein the game logic incorporates information extracted from a social graph; 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.

9. The system of claim 8 , further comprising instructions to:

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

store the unique identifier in a queue of identifiers 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 includes:

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.

10. The system of claim 9 , wherein:

the database is partitioned into a plurality of sections, one of which is a section for social network contacts;

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.

11. The system of claim 9 , wherein the BLOB is a Base64 BLOB.

12. The system of claim 9 , wherein the social graph is maintained by an internal social network server.

13. The system of claim 9 , wherein the social graph is maintained by an external social network server.

14. A medium that is processor-readable and non-transitory storing processor-executable distributed rendering instructions, the instructions comprising instructions to:

access a batch file including a plurality of events generated by a remote game client application executing an instance of the computer-implemented game;

access 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) with an identifier section and a body section, wherein the identifier section includes an identifier that is derived from a tuple including a game identifier, a user identifier, and a blob type identifier and wherein the body section includes one or more game state parameters formatted as a serialized unstructured string of text 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 in the game state data object, wherein the game logic incorporates information extracted from a social graph; 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.

15. The medium of claim 14 , further comprising instructions to:

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

store the unique identifier in a queue of identifiers 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 includes:

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.

16. The medium of claim 15 , wherein:

the database is partitioned into a plurality of sections, one of which is a section for social network contacts;

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.

17. The medium of claim 14 , wherein the BLOB is a Base64 BLOB.

18. The medium of claim 14 , wherein the social graph is maintained by an internal social network server.

19. The medium of claim 14 , wherein the social graph is maintained by an external social network server.

20. The medium of claim 14 , wherein the serialized unstructured string of text data includes one or more tags to facilitate search in a database report.

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/0785 →
CHANGE OF NAME Recorded Dec 7, 2021
From: ZYNGA GAME NETWORK INC.
To: ZYNGA INC.
Reel/Frame 058376/0488 →
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 →