IP Library Granted Patent US 9,400,644
Granted Patent B2
US 9,400,644 · App. 14/836,954 · Granted Jul 26, 2016

Dynamic update of applications as code is checked-in

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,400,644
App. No.
14/836,954
Granted
Jul 26, 2016
Kind
B2
Abstract

Software receives a message from a client device requesting an update check for an app deployed on the client device. The message includes a version number for the app. The software determines that a count of messages requesting an update check for the app exceeds a specified number. The software obtains an executable for the app from an app database, using the received version number. The software generates a dependency analysis by scanning the executable. The dependency analysis includes a version number for at least one dependent code module. The software determines that the app is updatable by comparing the version number in the dependency analysis with a version number for source code for the dependent code module. The software creates an updated app using newer source code for the dependent code module, using a developer specification as to compilation type, and transmits the updated app to the client device.

Claims (44)

1. A method, comprising operations of:

receiving a message from a client device requesting an update check for an app deployed on the client device, wherein the message includes a version number for the app;

determining that a count of messages requesting an update check for the app exceeds a specified number;

obtaining an executable for the app from an app database, using the received version number;

generating a dependency analysis by scanning the executable to determine a dependency graph topology for code modules in the app, wherein the dependency analysis includes a version number for at least one dependent code module;

obtaining a compatibility specification for a current version of the app and updated module versions stored in the code database;

determining that the app is updatable by comparing the version number in the dependency analysis with a version number for source code for the dependent code module;

creating an updated app using newer source code for the dependent code module, using the obtained compatibility specification and a developer specification as to compilation type; and

transmitting the updated app to the client device, wherein each operation of the method is performed by one or more processors.

2. The method of claim 1 , wherein the version number for the source code is stored in a code database.

3. The method of claim 1 , wherein a dependency-walker utility is used to determine the dependency graph topology.

4. The method of claim 1 , wherein the app allows a user of the client device to play a multi-player online game.

5. The method of claim 1 , wherein the app includes a call to an application programming interface (API) for a social-networking service.

6. The method of claim 5 , wherein the call obtains user profile data.

7. The method of claim 5 , wherein the call modifies a news feed.

8. The method of claim 1 , wherein the compilation type is ahead-of-runtime.

9. The method of claim 1 , wherein the compilation type is on-the-fly.

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

receive a message from a client device requesting an update check for an app deployed on the client device, wherein the message includes a version number for the app;

determine that a count of messages requesting an update check for the app exceeds a specified number;

obtain an executable for the app from an app database, using the received version number;

generate a dependency analysis by scanning the executable to determine a dependency graph topology for code modules in the app, wherein the dependency analysis includes a version number for at least one dependent code module;

obtain a compatibility specification for a current version of the app and updated module versions stored in the code database;

determine that the app is updatable by comparing the version number in the dependency analysis with a version number for source code for the dependent code module;

create an updated app using newer source code for the dependent code module, using the obtained compatibility specification; and

transmit the updated app to the client device.

11. The computer-readable media of claim 10 , wherein the version number for the source code is stored in a code database.

12. The computer-readable media of claim 10 , wherein a dependency-walker utility is used to determine the dependency graph topology.

13. The computer-readable media of claim 10 , wherein the app allows a user of the client device to play a multi-player online game.

14. The computer-readable media of claim 10 , wherein the app includes a call to an application programming interface (API) for a social-networking service.

15. The computer-readable media of claim 14 , wherein the call obtains user profile data.

16. The computer-readable media of claim 14 , wherein the call modifies a news feed.

17. The computer-readable media of claim 10 , wherein the compilation type is ahead-of-runtime.

18. The computer-readable media of claim 10 , wherein the compilation type is on-the-fly.

19. A method, comprising operations of:

receiving a message from a client device requesting an update check for an app deployed on the client device, wherein the message includes a version number for the app and wherein the app allows a user of the client device to play a multi-player online game;

determining that a count of messages requesting an update check for the app exceeds a specified number;

obtaining an executable for the app from an app database, using the received version number;

generating a dependency analysis by scanning the executable to determine a dependency graph topology for code modules in the app, wherein the dependency analysis includes a version number for at least one dependent code module;

obtaining a compatibility specification for a current version of the app and updated module versions stored in the code database;

determining that the app is updatable by comparing the version number in the dependency analysis with a version number for source code for the dependent code module, wherein the version number for the source code is stored in a code database;

creating an updated app using newer source code for the dependent code module, using the obtained compatibility specification; and

transmitting the updated app to the client device, wherein each operation of the method is performed by one or more processors.

20. The method of claim 19 , wherein the app includes a call to an application programming interface (API) for a social-networking service.

Assignments (5)
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 Nov 8, 2021
From: MAHAJAN, AMITT
To: ZYNGA INC.
Reel/Frame 058046/0904 →
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 →