IP Library Granted Patent US 8,266,582
Granted Patent B2
US 8,266,582 · App. 12/059,033 · Granted Sep 11, 2012

Method for creating unified binary files

Assignee: Oracle America, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,266,582
App. No.
12/059,033
Granted
Sep 11, 2012
Kind
B2
Abstract

A method for creating a unified binary file that may be executed on a plurality of hardware platforms. The unified binary file includes hardware independent code and a plurality of hardware dependent binary files for a variety of hardware platforms. When the unified binary file is executed on a supported hardware platform, an appropriate hardware dependent file is identified and installed. A method for preparing a software package supported on a plurality of hardware platforms for distribution. A unified binary file is created for each corresponding file of the software package. Each unified binary file includes installation directory information and dependent file information.

Claims (35)

1. A method for providing a unified binary file, using at least one processor, the method comprising:

providing a first binary file of a software program executable on a first hardware platform;

providing a second binary file of the software program executable on a second hardware platform;

providing a file including code executable on the first hardware platform and the second hardware platform that selects the first binary file when executed on one of the first hardware platform and the second binary file when executed on the second hardware platform; and

generating a unified binary file, comprising the first binary file, the second binary file, and the file by:

inserting the first binary file into the file as a first subroutine; and

inserting the second binary file into the file as a second routine, wherein the first subroutine and the second subroutine comprise directory level information identifying where the corresponding binary file is to be installed and an indicator, the indicator identifying whether a dependent platform specific binary file is to be installed.

2. The method of claim 1 , wherein the file is a Perl script file.

3. The method of claim 1 , further comprising:

compressing the first binary file; and

compressing the second binary file.

4. The method of claim 3 , further comprising:

encoding the first compressed binary file as a first text file; and

encoding the second compressed binary file as a second text file.

5. The method of claim 4 , wherein generating the binary file comprises adding the first text file and the second text file to the unified binary file.

6. The method of claim 1 , further comprising indicating an installation directory in a subroutine return parameter.

7. The method of claim 1 , wherein the first binary file is optimized for a first processor supported on the first hardware platform and the second binary file is optimized for a second processor supported on the second hardware platform.

8. A unified binary file stored on a non-transitory computer-readable storage medium, comprising:

a platform independent code file which when executed on a target hardware platform identifies a processor type of the target hardware platform, determines a matching platform specific file based at least in part on the processor type, recovers the matching platform specific file stored on the computer-readable storage medium and saves the recovered file to a particular directory location on the target hardware platform;

a first platform specific binary file; and

a second platform binary specific file, wherein the first platform specific binary file is inserted into the platform independent code file as a first subroutine and the second platform specific binary file is inserted into the platform independent code file as a second subroutine, the first subroutine and the second subroutine comprising directory level information identifying where the corresponding binary file is to be installed and an indicator, the indicator identifying whether a dependent platform specific binary file is to be installed.

9. The unified binary file stored on a non-transitory computer-readable storage medium of claim 8 , wherein the first platform specific binary file is a first compressed binary file for a first target hardware platform and the second platform specific binary file is a second compressed binary file for a second target hardware platform.

10. The unified binary file stored on a non-transitory computer-readable storage medium of claim 8 , wherein the platform independent code file, when executed on the target hardware platform, further identifies a platform name of and an operating system being run on the target hardware platform.

11. The unified binary file stored on a non-transitory computer-readable storage medium of claim 8 , wherein the platform independent code file is a Perl script file.

12. The unified binary file stored on a non-transitory computer-readable storage medium of claim 8 , wherein the first platform specific binary file is a first encoded text file of a first compressed binary file for a first target hardware platform and the second platform specific binary file is a second encoded text file of a second compressed binary file for a second target hardware platform.

13. The unified binary file stored on a non-transitory computer-readable storage medium of claim 12 , wherein generating the binary file comprises adding the first encoded text file and the second encoded text file to the unified binary file.

14. A method for preparing a software package supported on a plurality of hardware platforms for distribution, using at least one processor, the method comprising:

providing a plurality of files associated with a software package;

generating a plurality of unified binary files, each unified binary file including at least two platform specific binary files for a corresponding one of the plurality of files, wherein each of the at least two platform specific binary files are inserted into the platform independent code file as a subroutine, each subroutine comprising installation directory information identifying where the at least one platform specific binary file is to be installed and an indicator, the indicator identifying whether a dependent platform specific binary file is to be installed; and

generating a platform independent code segment, the platform independent code segment executable on the plurality of hardware platforms.

15. The method of claim 14 , wherein the installation directory information comprises:

a top level directory name; and

a specifier indicating a directory level relative to the top level directory name.

16. The method of claim 14 , wherein each unified binary file further comprises a plurality of platform specific binary files, each platform specific binary file corresponding to one of the plurality of files compiled for one of the plurality of hardware platforms.

17. The method of claim 14 , wherein each unified binary file further comprises a plurality of platform specific binary files, each platform specific binary file compiled for a particular version of processor supported on one of the plurality of hardware platform.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037311/0182 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2008
From: PRAKASH, RAJ
To: SUN MICROSYSTEMS, INC.
Reel/Frame 020727/0612 →
Continuity (1)
Related Publication 20090249277A1 · Oct 1, 2009