USRE40633EExpiredUtility

User centric product files distribution

47
Assignee: PORTER SWAIN WPriority: Oct 21, 1998Filed: Mar 11, 2005Granted: Feb 3, 2009
Est. expiryOct 21, 2018(expired)· nominal 20-yr term from priority
Inventors:Swain W. Porter
G06F 8/61G06F 8/71Y10S707/99953Y10S707/99954
47
PatentIndex Score
0
Cited by
17
References
64
Claims

Abstract

A user centric approach to program product distribution, such as a program product, including a complementary multi-vendor code control system (MVCCS) suitable for use to practice the user centric distribution approach is disclosed. Under the user centric approach, versioning control information of the source/object files of various program products to be installed on various user computer systems are maintained on a user computer system by user computer system basis. Each user computer system or its proxy is provided with a portion or an entire MVCCS to facilitate receipt and storage into a common repository for the user computer system versioning control information of different source/object files of different software vendors, and to facilitate retrieval of selective versions of the different source/object files for the user computer system using versioning control information stored in the common repository for the user computer system. In one embodiment, the MVCCS is further equipped to facilitate receipt and storage into a common library, the different source/object files identified by corresponding universally unique identifiers (UUID), and the versioning control information includes predecessor UUID information. In one embodiment, both the common repository and the common library, as well as the entire MVCCS are disposed on the user computer system.

Claims

exact text as granted — not AI-modified
1. A computer implemented method comprising:
 generating versioning control information for a plurality of source/object  files of a program product; and  
 distributing a plurality of  the versioning control information to one or more user or non- user computer systems, wherein a user computer system stores the versioning control information for the user computer system's own use, and a non - user computer system correspondingly stores one or more  copies of the versioning control information for storage  for a plurality of  one or more user computer systems, with the storage of the versioning control information being performed on a user computer system by user computer system basis, one copy of the versioning control information per user computer system, enabling each user computer system to use the corresponding copy of the versioning control information to selectively generate a version of the program product desired by the user computer system independent of other user computer systems.  
 
     
     
       2. The method of  claim 1 , wherein the files comprise source files, and each of the source files are  is in either a base or a delta form, and the method further comprises generating and assigning an universally unique identifier (UUID) to identify each of the base/  or delta source files. 
     
     
       3. The method of  claim 1 , wherein the files comprise source files, and said generating of versioning control information for the plurality of source/object  files comprises generating predecessor UUID information for selected ones of the source files. 
     
     
       4. The method of  claim 1 , wherein said distributing of versioning control information for storage for a plurality of user computer systems,  comprises distributing to a non- user computer system  the versioning control information for corresponding storage of a plurality of copies of the versioning control information in a plurality of repositories for a plurality of user computer systems, one copy per repository for each  per user computer system, each repository storing versioning control information of a plurality of program products vendors  for a  the corresponding user computer system. 
     
     
       5. The method of  claim 1 , wherein the method further comprises distributing source/object  to a non- user computer system the  files for corresponding storage of one or more copies of the files in a plurality of corresponding  one or more libraries for one or more user computer systems, one copy of the files per library for each  per user computer system, each library storing source/object  files for a plurality of program products vendors  for a  the corresponding user computer system. 
     
     
       6. The method of  claim 1 , wherein said distributing of versioning control information  further comprises distributing to a user or non- user computer system  selected ones of
 (a) dependency information, including cross program product dependency information for some of the files,  
 (b) locking information for selected ones of the source  files to prevent the selected ones of the files from being updated, and  
 (c) privilege or security information for some of the source  files.  
 
     
     
       7. The method of  claim 1 , wherein said files comprise source files are  written in a selected one of a text mark up language and a natural language. 
     
     
       8. An apparatus comprising:
 a storage medium;  
 a processor;  
 a code control/distribution system stored in said storage medium to be operated by the processor to generate versioning control information for a plurality of source/object  files of  associated with a program product, and to distribute a plurality of  the versioning control information to one or more user or non- user computer systems for a user computer system to store a copy of the versioning control information for the user computer system's own use, and for a non - user computer system to correspondingly store one or more  copies of the versioning control information for storage for a plurality of  one or more user computer systems, with the corresponding storage of the versioning control information being performed on a user computer system by user computer system basis, one copy of the versioning control information per user computer system, to enable each of the user computer systems to be able to use the copy of the versioning control information correspondingly stored for the user computer system to selectively generate a version of the program product desired by the user computer system independent of other user computer systems.  
 
     
     
       9. The apparatus of  claim 8 , wherein said files comprise source files, and each of the source  files are  is in either a base or a delta form, and the code control/distribution system generates and assigns an universally unique identifier (UUID) to identify each of the base/  or delta source files. 
     
     
       10. The apparatus of  claim 9 , wherein said code control/distribution system further generates predecessor UUID information for each of the base/  or delta source files. 
     
     
       11. The apparatus of  claim 8 , wherein said code control/distribution system distributes the versioning control information for storage in a plurality of  to a non- user computer system to correspondingly store one or more copies of the versioning control information in one or more  repositories for one or more user computer systems, one copy per repository for each  per user computer system, each repository storing versioning control information of a plurality of program products vendors  for a  the corresponding user computer system. 
     
     
       12. The apparatus of  claim 8 , wherein the code control/distribution system further distributes to a non- user computer system  the source/object  files for corresponding storage in a plurality of corresponding  of one or more copies of the files in one or more libraries for one or more user computer systems, one copy per library for each  per user computer system, each library storing source/object  files for a plurality of program products vendors  for a  the corresponding user computer system. 
     
     
       13. The apparatus of  claim 8 , wherein said code control/distribution system further distributes to a user or non- user computer system  selected ones of
 (a) dependency information, including cross program product dependency information of the files,  
 (b) locking information for selected ones of the source  files to prevent the selected ones of the files from being updated, and  
 (c) privilege or security information for some of the source  files.  
 
     
     
       14. The apparatus of  claim 8 , wherein said files comprise source files are  written in a selected one of a text mark up language and a natural language. 
     
     
       15. An article of manufacture comprising:
 a recordable medium having recorded thereon a plurality of programming instructions for use to program an apparatus to enable the apparatus to be able to generate versioning control information for a plurality of source/object  files of a program product, and to be able to distribute a plurality of  the versioning control information to one or more user or non- user computer systems for a user computer system to store a copy of the versioning control information for the user computer system's own use, and for a non - user computer system to correspondingly store one or more  copies of the versioning control information for storage for a plurality of  for one or more user computer systems, with the storage of the versioning control information being performed on a user computer system by user computer system basis, one copy of the versioning control information per user computer system, to enable each of the user computer systems to be able to use the copy of the versioning control information correspondingly stored for the user computer system to selectively generate a version of the program product desired by the user computer system independent of other user computer systems.  
 
     
     
       16. The article of manufacture of  claim 15 , wherein each of  the files comprise source files are  in either a base or a delta form, and the programming instructions enable the apparatus to be able to generate and assign an universally unique identifier (UUID) to identify each of the base/  or delta source files. 
     
     
       17. The article of manufacture of  claim 16 , wherein said programming instructions enable the apparatus to be able to generate predecessor UUID information for each of the base/  or delta source files. 
     
     
       18. The article of manufacture of  claim 15 , wherein the programming instructions enable the apparatus to be able to distribute the versioning control information for storage  to a non- user computer system to correspondingly store one or more copies of the versioning control information  in a plurality of  one or more repositories for one or more user computer systems, one copy per repository for each  per user computer system, each repository storing versioning control information of source/object files of  associated with a plurality of program products vendors  for a  the corresponding user computer system. 
     
     
       19. The article of manufacture of  claim 15 , wherein said programming instructions enable the apparatus to be able to distribute to a non- user computer system  the source/object  files for storage in a plurality of corresponding  to correspondingly store one or more copies of the files in one or more libraries for one or more user computer systems, one copy per library for each  per user computer system, each library storing source/object  the files for a plurality of program products vendors  for the corresponding user computer system. 
     
     
       20. The article of manufacture of  claim 15 , wherein said programming instructions further enable the apparatus to be able to distribute to a non- user computer system  selected ones of
 (a) dependency information, including cross program product dependency information of some of the files,  
 (b) locking information for selected ones of the source  files to prevent the selected ones of the files from being updated, and  
 (c) privilege or security information for some of the source  files.  
 
     
     
       21. A computer implemented method comprising:
 facilitating receipt and storage into a common repository for a user computer system private copies  a first and a second own copy of versioning control information of the user computer system  of a first and a second plurality of source/object files  files associated with a first and a second program product of a first and a second software vendor respectively; and  
 facilitating retrieval of selective versions of the first and second plurality of source/object  files for the user computer system using said private  first and second own copies of versioning control information of the user computer system stored in the common repository for the user computer system to selectively generate a first and a second version of the first and second program products desired by the user computer system independent of other user computer systems.  
 
     
     
       22. The method of  claim 21 , wherein
 each of the first and second plurality ofsaid files comprise source files isin either a base or a delta source fileform, identified with an universally unique identifier (UUID), and  
 said facilitating of receipt and storage into a common repository for the user computer system versioning control information of the first and second plurality of source files,  comprises facilitating receipt and storage into the common repository for the user computer system predecessor UUID information for the corresponding UUID of the first and second plurality of base/delta  one or more source files.  
 
     
     
       23. The method of  claim 21 , wherein said facilitating of receipt and storage into a common repository for the user computer system versioning control information of the first and second plurality of source/object files,  comprises facilitating receipt and storage  storing into a common repository disposed on the user computer system said own copies of the versioning control information. 
     
     
       24. The method of  claim 21 , wherein said method further comprises of  facilitating receipt and storage  storing of the first and second plurality of source/object  files of the first and second program products of the first and second software vendors, including first and second source files, each source file being identified with an universally unique identifier (UUID). 
     
     
       25. The method of  claim 24 , wherein said facilitating of receipt and storage of the first and second plurality of source/object files identified by UUID  comprises facilitating receipt and storage  storing into a common library for the user computer system the first and second plurality of source/object  files, including first and second source files, each source file being identified by an UUID. 
     
     
       26. The method of  claim 25 , wherein said common library is disposed on the user computer system. 
     
     
       27. The method of  claim 21 , wherein
 said first and second plurality of source/object files are source/object files of a first and a second software program product of the first and the second software vendor, and 
 said facilitating of retrieval ofthe method further comprises using the selective versions of the first and second plurality of source/object  files is performedretrieved to facilitate selective generation ofselectively generate the first and second versions of the first and/or the  second software program products for the user computer system independent of other computer systems.  
 
     
     
       28. The method of  claim 27 , wherein said facilitating of retrieval of selective versions of the first and second plurality of source/object  files is performed to facilitate  and selective generation of the first and/or the  second software  versions of the program products for the user computer system, independent of other user computer systems, are performed in response to a request expressed in a timeline context by a user of the user computer system. 
     
     
       29. The method of  claim 27 , wherein said facilitating of retrieval of selective versions of the first and second plurality of source/object  files is performed to facilitate  and selective generation of the first and/or the  second software  program products for the user computer system, independent of other user computer systems, are performed to maintain software compatibility for  on the user computer system. 
     
     
       30. The method of  claim 29 , wherein said facilitating of receipt and storage into a common repository for the user computer system versioning control information of the first and second plurality of source/object  files further comprises facilitating receipt and storage into the common repository for the user computer system selected ones of
 (a) dependency information, including cross software product dependency information, for the different versions  some of the first and second plurality of source/object  files of the first and second software  program products,  
 (b) locking information for selected ones of the first and second plurality of source  files to prevent the selected ones  files from being updated, and  
 (c) privilege or security information for some of the first and second plurality of source  files.  
 
     
     
       31. A user computer system comprising:
 a processor;  
 a storage medium;  
 a multi-vendor code control system (MVCCS) stored into the storage medium for operation by the processor to facilitate receipt and storage into a common repository for the user computer system, private  first and second own copies of versioning control information of the user computer system of a first and a second plurality of source/object files  files of a first and a second program product of a first and a second software vendor respectively, and to facilitate retrieval of selective versions of the first and second plurality of source/object  files for the user computer system, using said private  own copies of the versioning control information of the user computer system stored in the common repository for the user computer system, to selectively generate desired versions of the first and second program products for the user computer system independent of other user computer systems.  
 
     
     
       32. The user computer system of  claim 31 , wherein
 each of  the first and second plurality of files comprise source files isin either a base or a delta source fileform, identified with an universally unique identifier (UUID), and  
 said MVCCS facilitates receipt and storage into the common repository for the user computer system predecessor UUID information for the corresponding UUID of the first and second plurality of base/delta  each source files .  
 
     
     
       33. The user computer system of  claim 31 , wherein said user computer system further includes said common repository for the user computer system. 
     
     
       34. The user computer system of  claim 31 , wherein said MVCCS further facilitates receipt and storage of the first and second plurality of source/object  files of the first and second program products of the first and second software vendors, each being identified with an universally unique identifier (UUID). 
     
     
       35. The user computer system of  claim 34 , wherein said MVCCS further facilitates receipt from the first and the second distributor, and storage of the first and second plurality of object files or a combination of source and source/  object files identified by UUID into a common library for the user computer system. 
     
     
       36. The user computer system of  claim 35 , wherein said user computer system further includes said common library. 
     
     
       37. The user computer system of  claim 31 , wherein
 said first and second plurality of source/object files are source files of a first and a second software program product of the first and the second software vendor, and 
 said MVCCS is adapted to performs  said facilitating of retrieval of selective versions of the first and second plurality of source/object  files to facilitate selective generation of the desired versions of the first and/or the  second software  program products for the user computer system.  
 
     
     
       38. The user computer system of  claim 37 , wherein said user computer system further comprises input/output devices to facilitate a user of the user computer system to submit a request in a timeline context to cause said MVCCS to facilitate said retrieval of selective versions of the first and second plurality of source/object  files to facilitate selective generation of the desired versions of the first and/or the  second software  program products for the user computer system. 
     
     
       39. The user computer system of  claim 37 , wherein said MVCCS is adapted to facilitates  said retrieval of selective versions of the first and second plurality of source/object  files to facilitate selective generation of the first and/or the  second software  program products for the user computer system to maintain software compatibility for the user computer system. 
     
     
       40. The user computer system of  claim 37 , wherein said MVSCS is further adapted to facilitates  receipt and storage into the common repository for the user computer system selected ones of
 (a) dependency information, including cross software product dependency information, for the different versions of the first and second plurality of source/object  files of the first and second software  program products,  
 (b) locking information for selected ones of the first and second plurality of source  files to prevent the selected ones  files from being updated, and  
 (c) privilege or security information for the first and second plurality of source  files.  
 
     
     
       41. An article of manufacture comprising:
 a recordable medium having recorded thereon a plurality of programming instructions for use to program an apparatus to enable the apparatus to be able to facilitate receiving and storing into a common repository for a user computer system, private  first and second own copies of versioning control information of the user computer system of  a first and a second plurality of source/object files  files of a first and a second program product of a first and a second software vendor respectively, and to be able to facilitate retrieval of selective versions of the first and second plurality of source/object  files for the user computer system using said private  first and second own copies of versioning control information of the user computer system stored in the common repository for the user computer system, to selectively generate first and second desired versions of the first and second program products independent of other user computer systems.  
 
     
     
       42. The article of manufacture of  claim 41 , wherein each of  the first and second plurality of files comprise source files is  in either a base or a delta source file  form, identified with an universally unique identifier (UUID), and said programming instructions enable the apparatus to be able to facilitate receipt and storage into the common repository for the user computer system, predecessor UUID information for the UUIDs of the first and second plurality of base/delta  source files. 
     
     
       43. The article of manufacture of  claim 41 , wherein said programming instructions further enable the apparatus to be able to facilitate receipt and storage into a common source library for the user computer system, the first and second plurality of source/object  files of the first and second program products of the first and second software vendors, each being identified with an universally unique identifier (UUID). 
     
     
       44. The article of manufacture of  claim 41 , wherein said first and second plurality of source/object files are source/object files of a first and a second software program product of the first and the second software vendor, and  said facilitating of retrieval of selective versions of the first and second plurality of source/object  files is  are performed to facilitate selective generation of the first and/or the second software program product for the user computer system, independent of other user computer systems. 
     
     
       45. The article of manufacture of  claim 44 , wherein said programming instructions enable the apparatus to be able to facilitate retrieval of selective versions of the first and second plurality of source/object  files for selective generation of different versions of the first and/or the  second software  program products for the user computer system, in response to a request expressed in a timeline context by a user of the user computer system. 
     
     
       46. The article of manufacture of  claim 44 , wherein said programming instructions enable the apparatus to facilitate retrieval of selective versions of the first and second plurality of source/object  files for selective generation of different versions of the first and/or the  second software  program products for the user computer system to maintain software compatibility for the user computer system. 
     
     
       47. The article of manufacture of  claim 41 , wherein said programming instructions further enable the apparatus to facilitate receipt and storage into the common repository for the user computer system selected ones of
 (a) dependency information, including cross software product dependency information, for the different versions of some of the first and second plurality of source/object  files of the first and second software  program products,  
 (b) locking information for selected ones of the first and second plurality of source  files to prevent the selected ones  files from being updated, and  
 (c) privilege or security information for some of the first and second plurality of source  files.  
 
     
     
       48. A method comprising:
   receiving first versioning control information for a plurality of files associated with a first software product; and        correspondingly storing a plurality of copies of the first versioning control information in a first storage medium for a plurality of user computer systems, wherein a respective copy of the first versioning control information is stored for each user computer system using a one - to - one correspondence to enable each of the user computer systems to be able to use the copy of the first versioning control information correspondingly stored for the user computer system to selectively generate a version of the first software product desired by the user computer system independent of other user computer systems.     
     
     
       49. The method of  claim 48 , further comprising:
   receiving second versioning control information for a plurality of files associated with a second software product; and        correspondingly storing a plurality of copies of the second versioning control information in a second storage medium, for a plurality of user computer systems, wherein a respective copy of the second versioning control information is stored for each user computer system using a one - to - one correspondence to enable each of the user computer systems to be able to use the copy of the second versioning control information correspondingly stored for the user computer system to selectively generate a version of the second software product desired by the user computer system independent of other user computer systems.     
     
     
       50. The method of  claim 49 , wherein the first and second storage media are one of the same storage medium. 
     
     
       51. An apparatus comprising:
   a processor; and        a multi - vendor control system  ( MVCS )  configured to be operated by the processor to        receive first versioning control information for a plurality of files associated with a first software product; and        correspondingly store a plurality of copies of the first versioning control information in a first storage medium for a plurality of user computer systems, wherein a respective copy of the first versioning control information is stored for each user computer system using a one - to - one correspondence to enable each of the user computer systems to be able to use the copy of the first versioning control information correspondingly stored for the user computer system to selectively generate a version of the first software product desired by the user computer system independent of other user computer systems.     
     
     
       52. The apparatus of  claim 51 , wherein the MVCS is further configured to be operated by the processor to
   receive second versioning control information for a plurality of files associated with a second software product; and        correspondingly store a plurality of copies of the second versioning control information in a second storage medium for a plurality of user computer systems, wherein a respective copy of the second versioning control information is stored for each user computer system using a one - to - one correspondence to enable each of the user computer systems to be able to use the copy of the second versioning control information correspondingly stored for the user computer system to selectively generate a version of the second software product desired by the user computer system independent of other user computer systems.     
     
     
       53. The apparatus of  claim 51 , wherein the first and second storage media are one of the same storage medium. 
     
     
       54. A method of operation to be performed by a user computer system, comprising:
   accessing a library associated with the user computer system on a one - to - one basis to retrieve first and second versioning control information of a first and second plurality of files of a first and a second software product of a first and second vendor, respectively; and        generating a first and a second version of the first and second software products, using the retrieved first and second versioning control information of the first and second plurality of files and the first and second software products, respectively, independent of other user computer systems.     
     
     
       55. The method of  claim 54 , further comprising receiving and storing into the library, the first and second copies of the first and second versioning control information of the first and second plurality of files of the first and second software products of the first and second vendors. 
     
     
       56. The method of  claim 54 , wherein the first and second vendors are one of the same vendor. 
     
     
       57. A user computer system comprising:
   a processor; and        a multi - vendor control system  ( MVCS )  configured to be operated by the processor to access a library associated with the user computer system on a one - to - one basis, to retrieve from a first and a second own copy of first and second versioning control information of first and second plurality of files of a first and a second software product of a first and a second vendor, respectively, and generate a first and a second version of the first and second software product, using the retrieved first and second versioning control information of the first and second plurality of files of the first and second software products, respectively, independent of other user computer systems.     
     
     
       58. The user computer system of  claim 57 , wherein the MVCS is further configured to receive and store into the library, the first and second copies of the first and second versioning control information of the first and second plurality of files of the first and second software products of the first and second vendors. 
     
     
       59. The user computer system of  claim 57 , further comprising a storage device communicatively coupled to the processor in which said library is stored. 
     
     
       60. The user computer system of  claim 57 , wherein the first and second vendors are one of the same vendor. 
     
     
       61. The method of  claim 1 , wherein the versioning control information includes dependency information between files. 
     
     
       62. The method of  claim 61 , wherein the dependency information includes cross program product dependency information. 
     
     
       63. The apparatus of  claim 8 , wherein the versioning control information includes dependency information between files. 
     
     
       64. The apparatus of  claim 63 , wherein the dependency information includes cross program product dependency information.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.