System and method for improved program launch time
First Claim
1. A computer-readable medium storing an application program module to be installed on a disk of an end-user'"'"'s computer system, comprising:
- the application program module, comprising a plurality of files including launch-related portions;
a load sequence list indicating the order in which the launch-related portions of the plurality of files are to be read during application program launch and, based on the order that the launch-related portions of the plurality of files are to be read, indicating the order in which the files are to be installed on the disk of the end-user'"'"'s computer system, the load sequence list being determined prior to installing the application program module on the disk of the end-user'"'"'s computer system; and
computer-executable instructions for;
identifying at least one group of contiguous free clusters comprising the largest number of contiguous free clusters on the disk of the end-user'"'"'s computer system, and installing the launch-related portions of the plurality of files in the at least one group of contiguous free clusters, the launch-related portions being stored on the disk in the order indicated in the load sequence list.
3 Assignments
0 Petitions
Accused Products
Abstract
Installing files on a hard disk drive in a manner that improves program launch time. After a build of a program is completed, the program is launched and the disk activity associated with disk-intensive operations is monitored to determine the order in which file portions are read from a disk during program or command launch. This data is used to create a load sequence list, which indicates the order in which various portions of the files are read during launch. The installation disks include the files and the load sequence list. During the installation process, the installation program reads the data from the load sequence list and writes the file portions so they are stored in the order prescribed by the load sequence list in contiguous clusters on the hard disk drive. The computer can then read launch-related data from the disk in the proper order from contiguous disk clusters, which minimizes or eliminates wasted time that would result from disk accesses if the disk heads had to move between non-contiguous clusters in order to read the launch-related data.
-
Citations
19 Claims
-
1. A computer-readable medium storing an application program module to be installed on a disk of an end-user'"'"'s computer system, comprising:
-
the application program module, comprising a plurality of files including launch-related portions;
a load sequence list indicating the order in which the launch-related portions of the plurality of files are to be read during application program launch and, based on the order that the launch-related portions of the plurality of files are to be read, indicating the order in which the files are to be installed on the disk of the end-user'"'"'s computer system, the load sequence list being determined prior to installing the application program module on the disk of the end-user'"'"'s computer system; and
computer-executable instructions for;
identifying at least one group of contiguous free clusters comprising the largest number of contiguous free clusters on the disk of the end-user'"'"'s computer system, and installing the launch-related portions of the plurality of files in the at least one group of contiguous free clusters, the launch-related portions being stored on the disk in the order indicated in the load sequence list. - View Dependent Claims (2, 3, 4, 5, 6, 7)
reading an entry in the load sequence list, the entry identifying one of the plurality of files and a portion of the file to be read;
reading the portion of the file from the identified one of the plurality of files;
writing the portion of the file to the disk.
-
-
4. The computer-readable medium of claim 1, wherein the step of identifying at least one group of contiguous free clusters comprises the steps of:
-
reading a list of available free clusters from data stored on the disk; and
identifying the groups of contiguous free clusters having the largest numbers of contiguous free clusters.
-
-
5. The computer-readable medium of claim 1, wherein the plurality of files include non-launch-related portions, the non-launch-related portions being stored on the disk after the step of installing the launch-related portions of the plurality of files.
-
6. The computer-readable medium of claim 1, wherein the launch-related portions are read during program startup.
-
7. The computer-readable medium of claim 1, wherein the launch-related portions are read when executing a program command.
-
8. A method for installing program code from an installation disk to a disk, comprising the steps of:
-
creating a load sequence list, which indicates the order, in which the launch-related portions of the plurality of files are to be read during application program launch and, based on the order that the launch related portions of the plurality of files are to be read, indicating the order in which the files are to be installed on a disk;
reading a plurality of entries from the load sequence list, which is determined prior to installing the launch-related portions to the disk, stored on the installation disk, each entry identifying a file portion associated with the program code;
for each entry read from the load sequence list, reading from the installation disk the file portion identified by the entry; and
for each entry read from the load sequence list, writing the read file portion to a group of contiguous free clusters on the disk, the file portion being stored on the disk in an order corresponding to the entries in the load sequence list. - View Dependent Claims (9, 10, 11)
-
-
12. A method for installing program code from an installation disk to a disk of an end-user'"'"'s computer system, comprising the steps of:
-
creating a plurality of files including launch-related portions;
determining the order in which the launch-related portions are to be read;
creating a load sequence list prior to installing the launch-related portions to the disk of the end-user'"'"'s computer system, the load sequence list indicating the order in which the launch-related portions of the plurality of files are to be read during application program launch and, based on the order that the launch-related portions of the plurality of files are to be read, indicating the order in which the files are to be installed on the disk of the end-user'"'"'s computer system; and
storing the plurality of files, the load sequence list, and an installation program on an installation disk, the installation program including computer-executable instructions for;
identifying at least one group of contiguous free clusters comprising the largest number of contiguous free clusters on the disk of the end-user'"'"'s computer system, and installing the launch-related portions of the plurality of files in at least one group of the contiguous free clusters, the launch-related portions being stored on the disk of the end user'"'"'s computer system in the order indicated in the load sequence list. - View Dependent Claims (13, 14, 15)
reading an entry in the load sequence list, the entry identifying one of the plurality of files and a portion of the file to be read;
reading from the identified one of the plurality of files the portion of the file;
writing the portion of the file to the disk.
-
-
15. The method of claim 12, wherein the plurality of files include non-launch-related portions, the non-launch-related portions being stored on the disk after the step of installing the launch-related portions of the plurality of files.
-
16. A method for installing and optimizing program code on a logical disk, comprising the steps of:
-
creating a plurality of files including disk-intensive portions associated with disk-intensive operations;
determining the order in which the disk-intensive portions are to be read during the disk-intensive operations;
creating a load sequence list prior to installing the plurality of files to the logical disk, the load sequence list indicating the order in which the disk-intensive portions of the plurality of files are to be read during the disk-intensive operations and, based on the order that the disk-intensive portions of the plurality of files are to be read, indicating the order in which the files are to be installed on the logical disk;
storing the plurality of files, the load sequence list, and an installation program on an installation disk;
installing the plurality of files and the load sequence list from the installation disk to the logical disk; and
after installation on the logical disk, optimizing the disk-intensive portions by performing the steps of;
identifying at least one group of contiguous free clusters comparing the largest number of contiguous free clusters on the logical disk, and rearranging the disk-intensive portions in the order indicated in the load sequence list. - View Dependent Claims (17, 18, 19)
reading an entry in the load sequence list, the entry identifying one of the plurality of files and a portion of the file to be read;
reading from the identified one of the plurality of files the portion of the file;
writing the portion of the file to the logical disk.
-
Specification