IP Library Granted Patent US 9,569,199
Granted Patent B2
US 9,569,199 · App. 14/603,136 · Granted Feb 14, 2017

Systems and methods to update source code files

Inventors: Haichuan Wang (Champaign, IL); Handong Ye (Union City, CA); Peng Wu (Rochester, NY)
Assignee: Futurewei Technologies, Inc.
G06F8/67G06F8/71G06F9/4856G06F17/30106G06F9/32G06F9/4443G06F11/3644
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,569,199
App. No.
14/603,136
Granted
Feb 14, 2017
Kind
B2
Abstract

Methods and systems that facilitate efficient and effective application program maintenance and patch distribution are described. A device comprises: a memory that stores application source code files and instructions for creating a hot patch file, wherein the application source code files include an update source code file and initial source code files before an application update; and a processor operable to create the hot patch file, wherein the hot patch file is created based upon differences between a pair of optimized source code file sets that result from optimization of a first set of the initial source code files and separate optimization of a second set of source code files; wherein the second set includes an update source code file and associated files selected from the first set based on results from a graph indicating manners in which said source code files related to one another.

Claims (21)

1. A device comprising:

a processor configured to perform operations of:

executing a first pre-compile optimization on a plurality of original source code files stored in a memory of the device resulting in a plurality of pre-optimized original source code files;

accessing an initial patch file associated with a change to a first one of the plurality of original source code files;

determining if a second file of the plurality of original source code files is associated with the initial patch file, wherein the second file is included in a set of impacted source code files if the second file is associated with the initial patch file;

executing a second pre-compile optimization on the initial patch file and the set of impacted source code files, wherein the result is a plurality of pre-optimized patch-associated source code files; and

comparing the plurality of pre-optimized patch-associated source code files and corresponding plurality of pre-optimized original source code files and identifying a new hot patch file, wherein the new hot patch file includes a file of the plurality of pre-optimized patch-associated source code files that is different from a corresponding file of the plurality of pre-optimized original source code files.

2. A method comprising:

executing in a processor, a first pre-compile optimization on a plurality of original source code files resulting in a plurality of pre-optimized original source code files;

accessing an initial patch file associated with a change to a first one of the plurality of original source code files;

determining, by the processor, if a second file of the plurality of original source code files is associated with the initial patch file, wherein the second file is included in a set of impacted source code files if the second file is associated with the initial patch file;

executing a second pre-compile optimization on the initial patch file and the set of impacted source code files, wherein the result is a plurality of pre-optimized patch-associated source code files; and

comparing, by the processor, the plurality of pre-optimized patch-associated source code files and corresponding plurality of pre-optimized original source code files and identifying a new hot patch file, wherein the new hot patch file includes a file of the plurality of pre-optimized patch-associated source code files that is different from a corresponding file of the plurality of pre-optimized original source code files.

3. The method of claim 2 , wherein there are less pre-optimized patch associated source code files than pre-optimized original source code files.

4. The method of claim 2 , wherein the hot patch file and the initial patch file are different.

5. The method of claim 2 , wherein the determining includes:

creating an impact graph, wherein the impact graph includes associations of the plurality of original source code files to one another; and

querying the impact graph to identify which ones of the plurality of original source code files are associated with the initial patch file.

6. The method of claim 5 , wherein the impact graph includes a plurality of nodes corresponding to the plurality of original source code files and an edge of the graph represents an optimization impact, starting from a data source of the optimization and ending at an optimized file.

7. The method of claim 2 , wherein a portion of the plurality of original source files are included in a dynamic module and the initial patch file is associated with the dynamic module.

8. The method of claim 7 , wherein the dynamic module supports dynamic replacement and the dynamic module is replaced in a hot patch operation.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE FIRST INVENTORS NAME PREVIOUSLY RECORDED AT REEL: 035351 FRAME: 0747. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 12, 2015
From: WANG, HAICHUAN; YE, HANDONG; WU, PENG
To: FUTUREWEI TECHNOLOGIES, INC.
Reel/Frame 035898/0796 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2015
From: WANG, HIACHUAN; YE, HANGONG; WU, PENG
To: FUTUREWEI TECHNOLOGIES, INC.
Reel/Frame 035351/0747 →
Continuity (1)
Related Publication 20160216962A1 · Jul 28, 2016