Patent EP0752647A1 successfully refreshed from Google Patents.
← Back to Patent Explorer
EP0752647A1 Expired / Lapsed EP ⏱️ 0.0 years remaining

Method and apparatus for providing versioning information in software projects

Assignee: Sun Microsystems Inc
•
Filing: 1996-06-27
•
Granted: —
•
Expires: 2016-06-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for providing versioning information for a plurality of software objects. When an object is compiled and linked, at build time, the link-editor (124) creates a version definition section and a version symbol section in the object that specify the global symbols defined in various versions of the object. The object can be a shared object (114), a relocatable object (112), or a dynamic executable object (120). When an application software program is linked with the versioned object, at build time, the linker-editor (124) creates a version dependency section in the resulting dynamic executable object that specifies which version of the object is required for execution of the software application program. At runtime, the runtime-linker (126) determines whether all required versions of the object are present before the program is executed. The invention allows the definition of "weak" versions that do not contain new global symbols. The invention also allows the explicit specification of the version of an object to which the software application program should be linked.

Inventors

  • 👤 Rodrick I. Evans
  • 👤 Robert A. Gingell

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-11-08 04:14
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/40; G06F8/54; G06F8/70; G06F8/71

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 86 words
A method for providing versioning information in a software program, comprising the steps performed by a data processing system, of: providing first object code for a first software program; providing a mapfile specifying a version name associated with a version of the first software program; and linking the first object code, so that an addition is made to the first object code, in accordance with the mapfile, of information identifying the version name of the version of the first software program, to yield a versioned object.
Claim 2
Dependent Claim 75 words
The method of claim 1, further comprising the steps of: providing second object code for a second software program; and linking the second object code to the versioned object, wherein the linking step further includes the steps of: determining a version of the first software program needed by the second software program, and adding to the second object code, information specifying the version needed by the second software program, to yield a dynamic executable program.
Claim 3
Dependent Claim 54 words
The method of claim 2, further comprising the steps of: prior to executing the dynamic executable program, determining whether the needed version in the dynamic executable program matches the version identified in the versioned object; and executing the dynamic executable program, wherein the dynamic executable program calls the needed version of the versioned object.
Claim 4
Dependent Claim 64 words
The method of claim 1, wherein the mapfile further specifies global symbols that form the interface of the version of the first software program, and wherein the linking step includes the step of adding to the first object code, in accordance with the mapfile, information identifying the version name and the global symbols forming the interface of the version, to yield the versioned object.
Claim 5
Dependent Claim 58 words
The method of claim 2, wherein the determining step further includes the step of determining a version of the first software program needed by the second software program, by determining which global symbols are needed by the second software program and determining, by checking the information in the versioned object, which versions the needed global symbols are in.
Claim 6
Dependent Claim 19 words
The method of claim 1, wherein the information added to the first object code is a version definition section.
Claim 7
Dependent Claim 19 words
The method of claim 1, wherein the information added to the first object code is a version symbol section.
Claim 8
Dependent Claim 19 words
The method of claim 2, wherein the information added to the second object code is a version dependency section.
Claim 9
Dependent Claim 13 words
The method of claim 1, wherein the versioned object is a relocatable object.
Claim 10
Dependent Claim 14 words
The method of claim 1, wherein the versioned object is a dynamic executable object.
Claim 11
Dependent Claim 13 words
The method of claim 1, wherein the versioned object is a shared object.
Claim 12
Independent Claim 79 words
An apparatus for providing versioning information in a software program, comprising: a storage medium holding object code for a first software program; a storage medium holding a mapfile specifying a version name associated with a version of the first software program; and a linker configured to provide additional information in the first object code, in accordance with the mapfile, the additional information defining the version name of the version of the first software program, to yield a versioned object.
Claim 13
Dependent Claim 57 words
The apparatus of claim 12, further comprising: a storage medium holding second object code for a second software program; and a linker configured to link the second object code to the versioned object to yield a dynamic executable program, by adding additional information to the second object code specifying the version needed by the second software program.
Claim 14
Dependent Claim 42 words
The apparatus of claim 13, further comprising: a run-time linker configured to provide execution of the dynamic executable program if the run-time linker determines that the needed version specified in the dynamic executable program matches the version defined in the versioned object.
Claim 15
Dependent Claim 13 words
The apparatus of claim 12, wherein the versioned object is a relocatable object.
Claim 16
Dependent Claim 14 words
The apparatus of claim 12, wherein the versioned object is a dynamic executable object.
Claim 17
Dependent Claim 13 words
The apparatus of claim 12, wherein the versioned object is a shared object.
Claim 18
Dependent Claim 149 words
A computer program product, comprising: a computer usable medium having computer readable code embodied therein for causing a determination that a version of an object required by a dynamic executable program is present during execution of the dynamic executable program, the computer program product comprising: computer readable program code devices configured to cause a computer to effect provision of first object code for a first software program; computer readable program code devices configured to cause a computer to effect provision of a mapfile specifying a version name associated with a version of the first software program; and computer readable program code devices configured to cause a computer to effect linking the first object code, so that an addition is made to the first object code, in accordance with the mapfile, of information identifying the version name of the version of the first software program, to yield a versioned object.
Claim 19
Dependent Claim 91 words
The computer program product of claim 18, further comprising: computer readable program code devices configured to cause a computer to effect provision of second object code for a second software program; and computer readable program code devices configured to cause a computer to effect linking the second object code to the versioned object, by determining a version of the first software program needed by the second software program, and adding to the second object code, information specifying the version needed by the second software program, to yield a dynamic executable program.
Claim 20
Dependent Claim 67 words
The computer program product of claim 19, further comprising: computer readable program code devices configured to cause a computer to effect a determination of whether the version needed by the dynamic executable program to effect execution of program matches the version defined in the versioned object; and configured to execute the dynamic executable program, wherein the dynamic executable program calls the needed version of the versioned object.

References Cited (Backward Citations)

EP0498130A2 Cited
EP0546683A2 Cited
WO1994025918A1 Cited

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag