Interested in licensing this patent?
MTEC can help explore whether this patent might be available for licensing for your application.
Abstract
The subject matter of this specification can be embodied in, among other things, a process that includes receiving, during a computer programming process for a software program, a specification of a software module having a defined functionality for use by the software program. The software module is stored in a central repository having different versions of the software module. The process also includes compiling the software program. The compilation initiates steps including filtering versions of the software module that do not meet the specification. The specification corresponds to more than one version of the software module. The steps also include selecting, from versions that have not been filtered out, a version of the software module. The selection is based on one or more predetermined rules. The process also includes returning the selected version of the software module for local storage with the software program.
Core Innovation
A process of programming and compiling computer-executable code compiles a software program by using a software module stored in a central repository that contains different published versions of the software module. The process receives, during a computer programming process, a specification of a software module having a defined functionality for use by the software program, and it also receives a new or modified version of a software module and publishes the new or modified version to the central repository to permit access by a plurality of clients.
Compilation initiates steps that query the central repository, identify a plurality of versions of the software module, and filter versions that do not meet the specification, where the specification corresponds to more than one version of the software module. From the versions that have not been filtered out, the process selects a selected version of the software module based on one or more predetermined rules that compare the versions that have not been filtered out.
The selected version is selected as either a most recent version or as a most recent stable version as defined by predetermined rules in refinements. The process returns the selected version of the software module from the central repository for local storage with the software program.
In related embodiments, a computer-implemented process returns a shared artifact during a compilation process for use by a software program by receiving a new or modified version of the shared artifact and publishing it to a central repository for access by a plurality of clients. The process receives a request for the shared artifact with one or more parameters that partially specify the shared artifact, accesses the central repository storing different published versions, queries the central repository to identify a plurality of versions, and excludes versions that do not meet the partial specification. It then selects a selected version from versions that have not been excluded based on predetermined rules comparing the versions and returns the selected version for local storage with the software program.
Claims Coverage
The document provides three independent claims covering a process for programming and compiling code by selecting a software module version from a central repository based on a defined functionality specification, a computer-implemented process for returning a shared artifact version during compilation using partial specification parameters and exclusion plus predetermined comparison rules, and a tangible computer program product embodied in an information carrier that performs the same shared-artifact selection and return operations. The inventive coverage centers on five recurring features.
Publishing new or modified module versions to a central repository
The process receives a new or modified version of a software module and publishes the new or modified version of the software module to a central repository to permit access of the software module version by a plurality of clients.
Filtering versions that do not meet a specification of functionality
During compilation, the process queries the central repository to identify a plurality of versions of the software module and filters versions of the software module that do not meet the specification, wherein the specification corresponds to more than one version of the software module.
Selecting a selected module version using predetermined comparison rules
From versions that have not been filtered out, the process selects a selected version of the software module based on one or more predetermined rules that compare the versions that have not been filtered out.
Returning the selected version for local storage during compilation
The process returns the selected version of the software module from the central repository for local storage with the software program.
Selecting a shared artifact version using partial specification parameters and exclusion
The process receives a request comprising one or more parameters that partially specify the shared artifact, queries the central repository to identify a plurality of versions of the shared artifact, and excludes versions that do not meet the partial specification provided by the one or more parameters.
Selecting from non-excluded shared-artifact versions using predetermined rules
The process selects, from versions of the shared artifact that have not been excluded, the selected version of the shared artifact based on one or more predetermined rules that compare the versions that have not been excluded.
Returning the selected shared artifact version for local storage with the software program
The process returns, from the central repository, the selected version of the shared artifact for local storage with the software program.
Tangible computer program product instructions for selecting and returning a module version
A computer program product tangibly embodied in an information carrier includes instructions that, when executed, perform operations for selecting and returning a software module for use by a program, including receiving a new or modified version, publishing it to a central repository, receiving a request with partial specification parameters, querying versions, excluding non-matching versions, selecting based on predetermined rules, and returning the selected version for local storage with the software program.
Across the independent claims, the inventive coverage centers on publishing new or modified versions to a central repository, querying that repository for multiple stored versions, filtering or excluding non-matching versions based on a defined functionality specification or partial specification parameters, selecting among remaining versions using predetermined comparison rules, and returning the selected version for local storage with the software program.
Stated Advantages
Permits access of software module or shared artifact versions by a plurality of clients.
Provides a mechanism to return a selected software module or shared artifact version for local storage with the software program based on a specification or partial specification and predetermined comparison rules.
Documented Applications
Returning a shared artifact during a compilation process for use by a software program by selecting a version from a central repository based on partial specification parameters.
Programming and compiling computer-executable code by receiving a specification of a software module with defined functionality, selecting an appropriate published module version, and returning it for local storage with the software program.
Interested in licensing this patent?