| US 7,458,073 B1 | ||
| Development and build environment for packaged software delivery | ||
| Glen Darling, San Jose, Calif. (US); Matthew Balint, San Jose, Calif. (US); Badari Kakumani, San Jose, Calif. (US); and Mala Devlin, San Jose, Calif. (US) | ||
| Assigned to Cisco Technology, Inc., San Jose, Calif. (US) | ||
| Filed on Dec. 03, 2003, as Appl. No. 10/728,370. | ||
| Application 10/728370 is a continuation of application No. 10/727099, filed on Dec. 02, 2003. | ||
| Int. Cl. G06F 9/44 (2006.01); G06F 9/45 (2006.01); G06F 15/177 (2006.01) | ||
| U.S. Cl. 717—168 [717/122; 717/163; 717/167; 717/171; 717/172; 719/331] | 31 Claims |

| 1. A method of a build environment for packaged software delivery in a distributed network of nodes, the method comprising
the computer-implemented steps of:
the build environment compiling source code files into one or more executable file modules;
wherein each of the one or more modules contains an image for a process or a dynamically linked library (DLL);
the build environment creating a software package that comprises the one or more modules, wherein the software package is
delivered to the nodes in the distributed network;
wherein the software package is created based on at least one of a feature, characteristic, or purpose;
the build environment creating metadata for a first module, of the one or more modules, that includes any module information
such as the first module's: binary signature, name, directory path, and characteristics, wherein the first module provides
and uses at least one application program interface (API);
the build environment gathering API dependency information for the first module by
(a) receiving a list of dependent modules for a given process or DLL of the first module;
(b) storing, in the metadata of the first module, dependency information for the dependent modules in the list, wherein the
dependency information includes API names and versions that the process or DLL depends on;
(c) collecting additional dependency information from one or more module specifications that are separate from the list of
dependent modules, wherein the additional dependency information includes API names and versions that the process or DLL depends
on; and
(d) storing the additional dependency information in the metadata of the first module; and
the build environment inserting the metadata of the first module into the software package.
|