Distributed software development tool
First Claim
1. A method of using a computer network to facilitate distributed software development, using a pool of software modules maintained with a module manager, comprising the steps of:
- a) establishing a connection via said network between a user computer and a module manager (“
connect”
step);
b) accepting at the module manager an indication from the user computer specifying a submission or a download (“
mode”
step);
c) if the indication specifies a submission, then (collectively “
submission”
step);
i) accepting at the module manager from the user computer access conditions (“
SAC”
) related to a submit software module (“
SSM”
) for submission to said pool (“
submit conditions”
step);
ii) accepting at the module manager from the user computer access information (“
SAI”
) related to the SSM (“
submit access”
step);
iii) storing at the module manager the SAC and SAI as part of said pool (“
pool addition”
step);
d) If the indication indicates a download, then (collectively “
download”
step);
i) accepting at the module manager information from the user computer identifying a download software module (“
DSM”
) to be downloaded from said pool (“
identify download”
step);
ii) accessing from the pool the access conditions (“
DAC”
) associated with the DSM, and accepting at the module manager information from the user computer indicating that the DSM are accepted (“
download conditions”
step);
iii) accessing from the pool the access information (“
DAI”
) corresponding to the DSM, and communicating the DAI from the module manager to the user computer (“
transmit download”
step);
e) wherein said SAC include at least one of;
i) subsequent distribution limited to object code;
ii) subsequent distribution only allowed on payment of a fee;
iii) subsequent distribution to downloaders for research use is allowed on payment of a fee lower than distribution to downloaders for commercial use;
iv) distribution from the module pool is allowed, but further distribution by downloaders from the module pool is prohibited;
v) distribution from the module pool is allowed, but further distribution by downloaders is allowed only after payment of a fee.
1 Assignment
0 Petitions
Accused Products
Abstract
A tool for distributed software development maintains a pool of software modules. A module manager manages submissions to and downloads from the pool. The module manager can be a computer system with programming and resources suited for managing the pool. Developers and users can access the module manager via a computer network such as the internet, or via other transmission mechanisms. A developer intending to submit a module to the pool can specify access conditions associated with the module, and transmit information needed to access the module. The module manager can add the access information and access conditions to the pool. A developer or user intending to access a module from the pool can identify a desired module. The module manager can then determine if the intended access complies with the access conditions associated with the desired module. If it does, then the module manager can transmit the access information.
62 Citations
51 Claims
-
1. A method of using a computer network to facilitate distributed software development, using a pool of software modules maintained with a module manager, comprising the steps of:
-
a) establishing a connection via said network between a user computer and a module manager (“
connect”
step);b) accepting at the module manager an indication from the user computer specifying a submission or a download (“
mode”
step);c) if the indication specifies a submission, then (collectively “
submission”
step);i) accepting at the module manager from the user computer access conditions (“
SAC”
) related to a submit software module (“
SSM”
) for submission to said pool (“
submit conditions”
step);ii) accepting at the module manager from the user computer access information (“
SAI”
) related to the SSM (“
submit access”
step);iii) storing at the module manager the SAC and SAI as part of said pool (“
pool addition”
step);d) If the indication indicates a download, then (collectively “
download”
step);i) accepting at the module manager information from the user computer identifying a download software module (“
DSM”
) to be downloaded from said pool (“
identify download”
step);ii) accessing from the pool the access conditions (“
DAC”
) associated with the DSM, and accepting at the module manager information from the user computer indicating that the DSM are accepted (“
download conditions”
step);iii) accessing from the pool the access information (“
DAI”
) corresponding to the DSM, and communicating the DAI from the module manager to the user computer (“
transmit download”
step);e) wherein said SAC include at least one of; i) subsequent distribution limited to object code; ii) subsequent distribution only allowed on payment of a fee; iii) subsequent distribution to downloaders for research use is allowed on payment of a fee lower than distribution to downloaders for commercial use; iv) distribution from the module pool is allowed, but further distribution by downloaders from the module pool is prohibited; v) distribution from the module pool is allowed, but further distribution by downloaders is allowed only after payment of a fee. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 25)
-
-
23. A method of using a computer network to facilitate distributed software development, using a pool of software modules maintained with a module manager, comprising the steps of:
-
a) establishing a connection via said network between a user computer and a module manager (“
connect”
step);b) accepting at the module manager an indication from the user computer specifying a submission or a download (“
mode”
step);c) if the indication specifies a submission, then (collectively “
submission”
step);i) accepting at the module manager from the user computer access conditions (“
SAC”
) related to a submit software module (“
SSM”
) for submission to said pool (“
submit conditions”
step);ii) accepting at the module manager from the user computer access information (“
SAI”
) related to the SSM (“
submit access”
step);iii) storing at the module manager the SAC and SAI as part of said pool (“
pool addition”
step);d) If the indication indicates a download, then (collectively “
download”
step);i) accepting at the module manager information from the user computer identifying a download software module (“
DSM”
) to be downloaded from said pool (“
identify download”
step);ii) accessing from the pool the access conditions (“
DAC”
) associated with the DSM, and accepting at the module manager information from the user computer indicating that the DSM are accepted (“
download conditions”
step);iii) accessing from the pool the access information (“
DAI”
) corresponding to the DSM, and communicating the DAI from the module manager to the user computer (“
transmit download”
step);e) further comprising, when a module is downloaded, storing in a fee-database information related to the download if indicated by the DAC, and wherein the download step further comprises determining a fee from the fee-database and the DAC; f) wherein the download step further comprises communicating said fee to the user computer, and accepting payment complying with the fee at the module manager before communicating the DAI; g) wherein the fee is determined from an indication of the demand for the DSM, wherein the indication of demand increases with increasing number of downloads of the module, and decreases with increasing numbers of downloads of other modules from the pool. - View Dependent Claims (24)
-
-
26. A method of using a computer to accept software modules into a module pool, comprising the steps of:
-
a) accepting access conditions (“
SAC”
) related to a submit software module (“
SSM”
) for submission to said pool (“
submit conditions”
step);b) accepting access information (“
SAI”
) related to the SSM (“
submit access”
step);c) storing at the computer the SAC and SAI as part of said pool (“
pool addition”
step);d) wherein said SAC include at least one of; i) subsequent distribution limited to object code; ii) subsequent distribution only allowed on payment of a fee; iii) subsequent distribution to downloaders for research use is allowed on payment of a fee lower than distribution to downloaders for commercial use; iv) distribution from the module pool is allowed, but further distribution by downloaders from the module pool is prohibited; v) distribution from the module pool is allowed, but further distribution by downloaders is allowed only after payment of a fee. - View Dependent Claims (27, 28, 29, 30, 31, 32, 37)
-
-
33. A method of using a computer network to manage access to a pool of software modules, wherein the pool comprises entries having module access conditions and module access information, comprising the steps of:
-
a) accepting information identifying a download software module (“
DSM”
) to be downloaded from said pool (“
identify download”
step);b) accessing from the pool access conditions (“
DAC”
) associated with the DSM, and accepting information indicating that the DSM are accepted (“
download conditions”
step);c) accessing from the pool the access information (“
DAI”
) corresponding to the DSM, and communicating the DAI (“
transmit download”
step);d) wherein the download step further comprises communicating fee information associated with the DSM, and accepting payment complying with the fee information before communicating the DAI; and e) wherein the fee is determined from an indication of the demand for the DSM, wherein the indication of demand increases with increasing number of downloads of the module, and decreases with increasing numbers of downloads of other modules from the pool. - View Dependent Claims (34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
-
-
49. A method of using a computer network to manage access to a pool of software modules, wherein the pool comprises entries having module access conditions and module access information, comprising the steps of:
-
a) accepting information identifying a download software module (“
DSM”
) to be downloaded from said pool (“
identify download”
step);b) accessing from the pool access conditions (“
DAC”
) associated with the DSM, and accepting information indicating that the DSM are accepted (“
download conditions”
step);c) accessing from the pool the access information (“
DAI”
) corresponding to the DSM, and communicating the DAI (“
transmit download”
step);d) wherein the download step allows download of a plurality of modules, and further comprising determining a fee associated with the download of the plurality of modules, where the fee is allocated among modules according to where FT is the total fee, WT is a proportion of the total fee to be allocated among modules, Fj is the fee allocated to module j, vi is an indication of the value of module i, and wi is a weighting applied to the value of module i, and wherein modules submitted early in the module pool have a larger Wi than they would have received had they been submitted later.
-
-
50. A method of using a computer to facilitate distributed software development, comprising:
-
a) Accepting submitted software modules at a module manager, wherein accepting a submitted software module comprises; i) Accepting access conditions specifying conditions for use of the submitted module; ii) Accepting access information specifying how to access the submitted module; iii) Storing the access conditions and access information as related entries in a database; b) Allowing access by users to modules from the module manager, wherein allowing a user access to modules comprises; i) Determining a desired software module from the database to be accessed; ii) Determining if the user'"'"'s desired access complies with the access conditions associated with the desired software module, and, if so, then communicating the access information associated with the desired module to the user; c) wherein accepting access conditions for a submitted module comprises accepting an indication of whether or not the module is available for commercialization; and
wherein allowing access to modules comprises determining if the user desires access to a set of modules for commercialization, and, if so, then determining an apportionment of fees from commercialization according towhere FT is the total fee, WT is a proportion of the total fee to be allocated among modules, Fj is the fee allocated to module j, vi is an indication of the value of module i, and wi is a weighting applied to the value of module i, and wherein modules submitted early in the module pool have a larger w, than they would have received had they been submitted later.
-
-
51. A method of using a computer to facilitate distributed software development, comprising:
-
a) Accepting submitted software modules at a module manager, wherein accepting a submitted software module comprises; i) Accepting access conditions specifying conditions for use of the submitted module; ii) Accepting access information specifying how to access the submitted module; iii) Storing the access conditions and access information as related entries in a database; b) Allowing access by users to modules from the module manager, wherein allowing a user access to modules comprises; i) Determining a desired software module from the database to be accessed; ii) Determining if the user'"'"'s desired access complies with the access conditions associated with the desired software module, and, if so, then communicating the access information associated with the desired module to the user; c) wherein modules in the pool are characterized by membership in one of three classes, wherein the first class denotes modules not available for commercialization, the second class denotes modules available for commercialization, and the third class denotes modules available for commercialization and having a higher quality than modules in the second class.
-
Specification