Data processing: software development – installation – and managem – Software upgrading or updating
Reexamination Certificate
2005-09-20
2005-09-20
Ingberg, Todd (Department: 2193)
Data processing: software development, installation, and managem
Software upgrading or updating
C717S163000
Reexamination Certificate
active
06948164
ABSTRACT:
A system for modifying a compiled executable code file by adding patches that add functionality when the modified executable code file is executed. The modifying is performed without recompiling, relinking or rewriting the code file. Adding a patch involves creating a patch handler which when executed causes the patch statements to be executed, and may involve replacing one or more existing compiled instructions in the file with patching instructions to transfer flow of execution to the appropriate patch handler. The instructions replaced by the patching instructions can also be added to the patch handler. Patches can also include code statements which form a complete module, such as an invokable routine, which can be referenced by other patch statements to cause the module to be executed. Specialized trace requests can also be added as patch statements. The trace requests will make specified information about the current execution of the executable code file available to a software developer. Patch statements can include variables and expressions that will be evaluated in the context of the appropriate current variable scope, regardless of whether the scope is defined within the patch or by existing compiled instructions. After patches have been added, they can be disabled so as to prevent their execution without removing the patching instructions from the compiled executable file. Patches can also be qualified with conditions such that the patch will be executed only when the conditions are true at the time of execution.
REFERENCES:
patent: 4802165 (1989-01-01), Ream
patent: 5155847 (1992-10-01), Kirouac et al.
patent: 5335344 (1994-08-01), Hastings
patent: 5450586 (1995-09-01), Kuzara et al.
patent: 5481713 (1996-01-01), Wetmore et al.
patent: 5535329 (1996-07-01), Hastings
patent: 5577244 (1996-11-01), Killebrew et al.
patent: 5583761 (1996-12-01), Chou
patent: 5619698 (1997-04-01), Lillich et al.
patent: 5694566 (1997-12-01), Nagae
patent: 5699275 (1997-12-01), Beasley et al.
patent: 5764992 (1998-06-01), Kullick et al.
patent: 5790856 (1998-08-01), Lillich
patent: 5812848 (1998-09-01), Cohen
patent: 5960196 (1999-09-01), Carrier, III et al.
patent: 6075937 (2000-06-01), Scalzi et al.
patent: 6113652 (2000-09-01), Lysik et al.
patent: 6123737 (2000-09-01), Sadowsky
patent: 6141698 (2000-10-01), Krishnan et al.
patent: 6161218 (2000-12-01), Taylor
patent: 6898788 (2005-05-01), Kosaka et al.
patent: 0 853 278 (1998-07-01), None
patent: 63-317826 (1988-12-01), None
patent: 5-88880 (1993-04-01), None
patent: 5-241813 (1993-09-01), None
patent: 7-114487 (1995-05-01), None
Beginning Visual C++ 5, Ivan Horton, pp. 715-734, Mar. 19, 1997.
Wall, David W., “Systems for Late Code Modification,” WRL Research Report 92/3, May 1992, pp. 1-24.
Wall, David W., “Link-Time Code Modification,” WRL Research Report 89/17, Sep. 1989, pp. 1-17.
Keppel, David, “Fast Data Breakpoints,” May 3, 1990, revised Apr. 14, 1993, pp. 1-6.
Kessler, Peter B., “Fast Breakpoints: Design and Implementation,” Jun. 1990, pp. 78-83.
Olsson, Ronald A.. et al., “Dalek: A GNU, Improved Programmable Debugger,” USENIX Summer Conference, Jun. 1990, pp. 221-230.
Larus, James R., and Ball, Thomas, “Rewriting Executable Files to Measure Program Behavior,” Mar. 1992, pp. 1-17.
Aho et al., “Compilers Principles Techniques and Tools,” Chapters 1-5, 1985.
IBM, “Dual Indirect RAM/ROM Jump Tables for Firmware Updates,” Jun. 1988, pp. 294-298.
Andrews & Kurth L.L.P.
Ingberg Todd
Metrowerks Corporation
LandOfFree
Method and system for modifying executable code to add... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and system for modifying executable code to add..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for modifying executable code to add... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3426986