Automatic logging of application program launches

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C707S793000, C707S793000, C707S793000

Reexamination Certificate

active

06324546

ABSTRACT:

TECHNICAL FIELD
This invention concerns computer systems, software, and methods, particularly systems, software, and methods that monitor or track use of application programs.
BACKGROUND OF THE INVENTION
Personal computers allow users to do an almost unlimited number of tasks. Examples of typical tasks include drafting term papers, resumes, and letters, organizing recipes and addresses, tracking personal checking accounts and stock portfolios, communicating via electronic mail with other computer users, generating blueprints for home improvements, and making electronic photo albums. To accomplish these and other tasks, the typical computer system includes application programs—specific sets of instructions—that work with other components of the computer system to provide specific functions, such as word processing. Application programs are often called software to distinguish from the physical equipment, or hardware, of a computer system.
More particularly, a typical computer system includes a processor, a memory, a set of user-interface devices, and a display. The processor generally performs the computations and other data manipulations for performing, or executing, the instructions of application programs. The memory, which may take a variety forms, such as a memory chip or a magnetic disk, stores the application programs as well as data generated using the programs. User-interface devices, such as a keyboard and mouse, allow a user to input information into the application programs. And, the display not only presents information visually but also allows the user to interact with the information through menus and other graphical interface features.
The typical computer system also includes an operating system—a special kind of software that facilitates execution of application programs. Application programs logically combine functions or services of the operating system with those of the central processor to achieve their more complex functions. Examples of typical operating-system functions include transferring data between the central processing unit and the memory, initial processing of inputs from the keyboard and mouse, converting information for presentation on the display, and launching application programs.
One problem of typical computer systems concerns the time typical computer systems require to launch, or start, application programs. Starting an application program generally entails retrieving the instructions making up the program from a permanent memory device, such as a magnetic or optical disk, and copying them into a temporary memory device before the processor begins executing the program instructions. The instructions are copied into a temporary memory device, such a random-access memory, because these devices are generally faster than typical permanent memory devices and allow the processor to more quickly fetch and execute individual program instructions.
As processors have gotten faster and more powerful in recent years, computer programmers and software developers have created larger and larger application programs which require not only more permanent and temporary memory space but also more time to retrieve and copy their program instructions from permanent to temporary memory before processors can begin executing the instructions. This ultimately means that users experience a noticeable wait before they can begin using launched application programs. Moreover, the wait is often increased because application programs are often broken up and stored as logically linked fragments of program code. The fragments are noncontiguous, or physically disconnected, and thus require more time to retrieve than a single continuous block of code.
One way to alleviate this problem is to ensure that programs are stored as continuous blocks of code. In fact, there are special application programs, known as defragmenters, which reorganize stored data by eliminating empty spaces between “chunks” or segments of stored data. Unfortunately, this only addresses part of the problem.
None of the defragmenters recognize, as the inventors do, that the problem can be further alleviated by storing frequently used application programs in portions of permanent memory devices that are faster to access than other portions of the memory devices. In other words, there are no defragmenters which reorganize memory content based on frequency of use. Indeed, there are no convenient ways of even monitoring or tracking how frequently application programs are accessed.
Accordingly, there is a particular need not only for convenient ways of monitoring or tracking how frequently application programs are used but also for defragmenters which consider frequency-of-use data to more intelligently reorganize memory contents.
SUMMARY OF THE INVENTION
To address these and other needs, the inventors devised an operating system which senses starts, or launches, of application programs and records information about the application program and its launching in a special database, or application log. The log is later used to determine how best to reorganize a memory containing several application programs.
An exemplary embodiment incorporates the sensing and recording functions within the kernel of the Windows98 operating system. However, other embodiments implement the invention within the shell of an operating system or as a separate application program.
In addition to the operating system and application program implementations, there are several other facets of the invention. Among these are a method of sensing an application program launch and responsively recording information about the launch within an application launch log, a method of defragmenting or reorganizing a memory based on information about application launch frequencies, and a computer-readable medium, such as a magnetic or optical disk or other memory device, that includes computer-executable instructions for keeping an application-launch log. All these and other facets of the present invention are described in the drawings and the detailed description that follows.


REFERENCES:
patent: 4400783 (1983-08-01), Locke, Jr. et al.
patent: 5023907 (1991-06-01), Johnson et al.
patent: 5386369 (1995-01-01), Christiano
patent: 5390297 (1995-02-01), Barber et al.
patent: 5574907 (1996-11-01), Jernigan, IV et al.
patent: 5579222 (1996-11-01), Bains et al.
patent: 5654905 (1997-08-01), Mulholland et al.
patent: 5701463 (1997-12-01), Malcolm
patent: 5796825 (1998-08-01), McDonnal et al.
patent: 5901308 (1999-05-01), Cohn et al.
patent: 5905860 (1999-05-01), Olsen et al.
patent: 6018619 (2000-01-01), Allard et al.
patent: 6021428 (2000-02-01), Duvvoori et al.
patent: 6021492 (2000-02-01), May
patent: 6115680 (2000-09-01), Coffee et al.
patent: 0836132A1 (1998-04-01), None
patent: 96/07961 (1996-03-01), None
Bach, M.J., “Process Control”, In: The Design of the Unix Operating System, Prentice Hall, Englewood Cliffs, NJ, pp. 191-246, (1986).
Tsichritzis, D.C., et al., “Processor Allocation”, In: Operating Systems, Academic Press, New York, pp. 52-68, (1974).

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Automatic logging of application program launches does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Automatic logging of application program launches, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Automatic logging of application program launches will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2569928

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.