Method and apparatus for object cache registration and maintenance in a networked software development environment
First Claim
1. A method that selectively caches software object files generated by a software building computer program, comprising:
- providing a computer system, said computer system includes a memory that includes cache memory and memory designated as archive memory, the contents of said archive memory are indicated by a database and are controlled by a software version control system that includes a check-in and check-out protocol;
checking a build list having a name and a version number into said archive memory using said software version control system check-in protocol;
generating a test bench from said build list;
testing said test bench using a user-specified test suite;
if said test bench passes said test suite, loading object files generated by the software building program from said build list into said cache memory and updating said database to indicate that the name and version number of said build list is a “
passing”
build list;
otherwise updating said database to indicate that the name and version number of said build list is a “
failing”
build list.
8 Assignments
0 Petitions
Accused Products
Abstract
The present invention is a method and apparatus for building a software system in a networked software development environment, utilizing existing software version control and build tools such as RCS and MAKE. Source and object files are loaded into network caches shared by multiple users at local workstations. At individual workstations, a cache link structure generated from a user-created build list is provided to the software building program, which then builds the desired software system using links to cached files. The present invention thus minimizes the amount of computing resources required to build software programs by eliminating the need to store multiple local copies of building block software files, and to rebuild object files that may be unchanged from prior builds. A method for maintaining and updating network caches to maximize the efficiency of cache link creation is also disclosed.
69 Citations
12 Claims
-
1. A method that selectively caches software object files generated by a software building computer program, comprising:
-
providing a computer system, said computer system includes a memory that includes cache memory and memory designated as archive memory, the contents of said archive memory are indicated by a database and are controlled by a software version control system that includes a check-in and check-out protocol;
checking a build list having a name and a version number into said archive memory using said software version control system check-in protocol;
generating a test bench from said build list;
testing said test bench using a user-specified test suite;
if said test bench passes said test suite, loading object files generated by the software building program from said build list into said cache memory and updating said database to indicate that the name and version number of said build list is a “
passing”
build list;
otherwiseupdating said database to indicate that the name and version number of said build list is a “
failing”
build list.- View Dependent Claims (2, 3)
generating an object file list from said build list, said object file list comprises one or more names of object files selected from the following group;
explicit object files and potentially usable object files;
locating object files generated by the program building software in processing said build list;
renaming said object files generated by the program building software in processing said build list to a new, unique file name; and
storing said object files generated by the program building software in processing said build list in said cache memory.
-
-
3. The method of claim 2, further comprising creating and storing in said cache memory one or more identification files, each said identification file corresponds to one said object file generated by the program building software in processing said build list, each said identification file further comprises the identification strings embedded within said object file that corresponds to said identification file, the name of each said identification file includes the new, unique file name of said object file corresponding to said identification file.
-
4. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform a method of selectively caching software object files generated by a software building computer program, comprising:
-
providing a computer system, said computer system includes a memory that includes cache memory and memory designated as archive memory, the contents of said archive memory are indicated by a database and are controlled by a software version control system that includes a check-in and check-out protocol;
checking a build list having a name and a version number into said archive memory using said software version control system check-in protocol;
generating a test bench from said build list;
testing said test bench using a user-specified test suite;
if said test bench passes said test suite, loading object files generated by the software building program from said build list into said cache memory and updating said database to indicate that the name and version number of said build list is a “
passing”
build list;
otherwiseupdating said database to indicate that the name and version number of said build list is a “
failing”
build list.- View Dependent Claims (5, 6)
generating an object file list from said build list, said object file list comprises one or more names of object files selected from the following group;
explicit object files and potentially usable object files;
locating object files generated by the program building software in processing said build list;
renaming said object files generated by the program building software in processing said build list to a new, unique file name; and
storing said object files generated by the program building software in processing said build list in said cache memory.
-
-
6. The program storage device of claim 5, wherein said method further comprises creating and storing in said cache memory one or more identification files, each said identification file corresponds to one said object file generated by the program building software in processing said build list, each said identification file further comprises the identification strings embedded within said object file that corresponds to said identification file, the name of each said identification file includes the new, unique file name of said object file corresponding to said identification file.
-
7. A software object file testing and caching apparatus, comprising:
-
a computer system, said computer system includes a memory that includes cache memory and memory designated as archive memory, the contents of said archive memory are indicated by a database and are controlled by a software version control system that includes a check-in and check-out protocol;
a build list having a name and a version number, said build list is checked in to said archive memory using said software version control system check-in protocol;
one or more object files generated by a software building computer program from said build list;
a test bench generated from said build list;
a user-specified test suite that tests said object files using said test bench;
a database updater, said database updater updates said database to indicate that said build list is either a “
passing”
build list, or a “
failing”
build list; and
a cache loader, said cache loader loads said object files generated by the software building program from said build list into said cache memory if said object files pass the tests within said test suite. - View Dependent Claims (8, 9)
-
-
10. A method that makes a software object file testing and caching apparatus, comprising:
-
providing a computer system, said computer system includes a memory that includes cache memory and memory designated as archive memory, the contents of said archive memory are indicated by a database and are controlled by a software version control system that includes a check-in and check-out protocol;
providing a build list having a name and a version number, said build list is checked in to said archive memory using said software version control system check-in protocol;
providing one or more object files generated by a software building computer program from said build list;
generating a test bench from said build list, providing a user-specified test suite that tests said object files using said test bench;
providing a database updater, said database updater updates said database to indicate that said build list is either a “
passing”
build list, or a “
failing”
build list; and
providing a cache loader, said cache loader loads said object files generated by the software building computer program from said build list into said cache memory if said object files pass the tests within said test suite. - View Dependent Claims (11, 12)
-
Specification