Patents Examined by Peter J. Corcoran, III
  • Patent number: 5790865
    Abstract: A method and system for reordering sections of a computer program are disclosed. The computer program is executed during an experimental execution period. During the execution period, an access record is made. The access record identifies when each section of the computer program is accessed. After the execution period, the sections are reordered based on when the sections were accessed during the execution period. The sections may be code sections, data sections, or a sections that contain a combinatin of code and data (e.g. objects). According to one disclosed technique, the execution period is divided into time intervals. Each time interval corresponds to the time period in which a discrete high level operation of the computer program was performed. A data matrix is created where each row corresponds to a section, and each column corresponds to a time interval. Values are stored in each cell of the data matrix based on whether the corresponding section was accessed during the corresponding time interval.
    Type: Grant
    Filed: October 17, 1997
    Date of Patent: August 4, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Bart Smaalders, Kevin J. Clarke
  • Patent number: 5790856
    Abstract: The present invention teaches a variety of methods, apparatus and data structures for providing data driven patching. According to one embodiment, patches are stored in a known format in a discernible location. In the described embodiment, each fragment code may have a corresponding patch library. This enables the patches to be located and analyzed in a quiescent state. In a method aspect of the present invention, the operating system, or a separate utility program, can evaluate and selectively add patches. Therefore, the present invention introduces a patch integrity validation layer into the patching process. In another method aspect, the invention teaches evaluating the patches in a quiescent state whereby the patches introduced by a program or a combination of programs may be exhaustively evaluated prior to execution.
    Type: Grant
    Filed: May 8, 1995
    Date of Patent: August 4, 1998
    Assignee: Apple Computer, Inc.
    Inventor: Alan W. Lillich
  • Patent number: 5774728
    Abstract: In a computer system, a computer program is provided having multiple sections. First and second sections of the computer program correspond to different execution environments. Each of the first section and second section is automatically compiled for its corresponding execution environment. Further, the multiple sections of the computer program may call each other via intra-program type procedure calls. These intra-program type procedure calls are automatically translated into inter-execution environment type procedure calls, between the sections, for their respective execution environments.
    Type: Grant
    Filed: December 27, 1995
    Date of Patent: June 30, 1998
    Assignee: International Business Machines Corporation
    Inventors: Franklin Charles Breslau, Paul Gregory Greenstein, John Ted Rodell
  • Patent number: 5771381
    Abstract: A method and system for adding configuration files for a user. The method receives an identification of the user. Then, the method locates user profile information which identifies configuration files, a source folder that contains the configuration files, and a destination folder in which to copy the configuration files. For each identified configuration file, the method copies the configuration file to the appropriate folder or deletes the configuration file from the appropriate folder. The method also stores location information identifying the location of the destination folder. Then a computer program can retrieve the location information and can access the configuration files in the destination folder during configuration of the computer program.
    Type: Grant
    Filed: May 28, 1997
    Date of Patent: June 23, 1998
    Assignee: Microsoft Corporation
    Inventors: Gregory A. Jones, David R. Dickman
  • Patent number: 5768590
    Abstract: A program generating system which automatically rewrites a program using an individual's language upon addition of an application-specific add-on board has a program generating device for generating a program using an individual's language and a transformation data updating device for updating transformation data to generate updated transformation data for indicating rewriting the program upon addition of the application-specific add-on board. The program generating device transforms an initial document described in the individual's language into a computer program according to a given role pattern and role assignment knowledge.
    Type: Grant
    Filed: April 26, 1995
    Date of Patent: June 16, 1998
    Assignee: Fujitsu Limited
    Inventors: Takahisa Kimura, Kaname Kobayashi
  • Patent number: 5764992
    Abstract: A software program running on a computer automatically replaces itself with a newer version in a completely automated fashion, without interruption of its primary function, and in a manner that is completely transparent to the user of the computer. This is achieved by means of a logic module that is incorporated into programs. The logic module performs the functions of locating and identifying other versions of its associated program, determining whether the other versions are older or newer than the currently running version, and replacing older versions of itself with a newer version. As part of this operation, the logic module can copy the newer version to its current location, move the older version to a secondary location, and remove older versions of itself that have been replaced by a newer version. The new version that is to replace an older version can reside on an individual computer, or can be present on a server to which a number of computers are connected via a network.
    Type: Grant
    Filed: June 6, 1995
    Date of Patent: June 9, 1998
    Assignee: Apple Computer, Inc.
    Inventors: Steven Kullick, Diane Titus
  • Patent number: 5764988
    Abstract: Described herein is a system and method for facilitating the construction of computer programs. The system enables an administrator to define dialogs associated with commands from a computer programming language. Users construct computer programs by using the dialogs. In particular, an user invokes a dialog. Code corresponding to a command associated with the invoked dialog is then automatically generated. The code is in a form and has a syntax defined by the computer programming language. The code is inserted into the computer program being constructed. Computer programs can also be constructed using dialogs and objects. In particular, a plurality of objects each corresponding to a resource in a target environment are defined and instantiated from a plurality of object classes. At least one of the dialogs is associated with each of the objects. An operator selects one or more of the objects (representing the resources in a system), and invokes a dialog associated with the selected objects.
    Type: Grant
    Filed: June 5, 1995
    Date of Patent: June 9, 1998
    Assignee: International Business Machines Corporation
    Inventor: Naresh K. Govindaraj
  • Patent number: 5761514
    Abstract: A method and apparatus for truncating runaway lifetimes of program variables calculates liveness for each variable based on upwardly exposed uses. Reaching definitions are then calculated for at least the program variables that have runaway lifetimes. The liveness information is compared to the reaching definition information to determine whether a variable that is live upon entry to a basic block has a definition that reaches the end of each predecessor block, or has a use within the basic block. If the reaching definition for a variable reaches the beginning of the block and if there is a predecessor block for which there is no reaching definition, the variable has a runaway lifetime. The variable also has a runaway lifetime if there is a use of the variable in a block without a reaching definition for the variable at the beginning of the block. The runaway lifetime is truncated by inserting an instruction such as a pseudo-definition of the variable into the instruction stream at an appropriate place.
    Type: Grant
    Filed: August 31, 1995
    Date of Patent: June 2, 1998
    Assignee: International Business Machines Corporation
    Inventors: Nava Arela Aizikowitz, Roy Bar-Haim, Edward Curtis Prosser, Robert Ralph Roediger, William Jon Schmidt
  • Patent number: 5761511
    Abstract: The present invention provides a system and process for making use of pre-existing data-structures which represent a computer program, in a way which has the advantages of shortening the time and cost required to create a new version of the computer program. The pre-existing data-structure is modified to produce a shadow data-structure which contains only shadows of those elements or nodes of the pre-existing data-structure required to perform the tasks of the new version of the computer program. The present invention includes processes to make the data-structure of the original program shadowable; processes to use data from the original program compilation process in compiling the new version of the program, including processes to create a shadow data-structure; and processes to use the new version of the computer program along with the shadow data-structure to create the desired execution.
    Type: Grant
    Filed: January 28, 1994
    Date of Patent: June 2, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Jonathan J. Gibbons, Michael J. Day, Theodore C. Goldstein, Michael J. Jordan
  • Patent number: 5757749
    Abstract: An information processing system can have a portability of personal operation environment set information or the like to use an information processing apparatus and can also protect a copyright. A control command is transmitted from a CPU 11 to a system bus 18. An RAM 12, a non-volatile memory 13, a display 2, and an input/output control apparatus 15 are connected to the system bus 18. The system bus 18 and an I/O bus 19 are connected to the I/O control apparatus 15 and a signal of a control line is bidirectionally supplied to the I/O control apparatus 15. The I/O control apparatus 15, a keyboard 3, a mouse 4, an optical disc drive apparatus 5, and optional apparatuses 21 are connected to the I/O bus 19. The optional apparatuses 21 are constructed by a fixed magnetic recording apparatus 21a, a floppy disk drive 21b, a tape device 21c, and the like.
    Type: Grant
    Filed: June 27, 1997
    Date of Patent: May 26, 1998
    Assignee: Sony Corporation
    Inventor: Seiichi Misawa
  • Patent number: 5758155
    Abstract: A system for initially loading an operating system into a computer. The system provides a startup sequencer with a user interface that queries each startup script to obtain a description of what function the script will perform when it is executed. The user interface then presents a list of the descriptions on the screen. As each script is executed, the return status is placed on the screen alongside the description. The system presents a shutdown list and status when the operating system is being shut down. Each script supplies a description when it is executed with a parameter requesting the description, thus providing flexibility in the information displayed. For operating systems that have multiple run levels, a separate file directory of scripts to be run for each run level is provided, wherein the directory contains the scripts to be executed in taking the operating system to the new level.
    Type: Grant
    Filed: June 25, 1997
    Date of Patent: May 26, 1998
    Assignee: Hewlett-Packard Company
    Inventor: Edgar Circenis
  • Patent number: 5758164
    Abstract: In a language processing system for translating a source program into a machine program, a range of the source program to be optimized is discriminated during parsing to generate an optimization enabling and disabling code to be inserted in an intermediate code resulting from parsing. An optimization process for the intermediate code is performed only for a range, in which optimization can be performed, determined on the basis of the optimization enabling and disabling code.
    Type: Grant
    Filed: June 9, 1997
    Date of Patent: May 26, 1998
    Assignee: NEC Corporation
    Inventor: Masaharu Inoue
  • Patent number: 5752038
    Abstract: A method and system for determining an optimal placement order for code portions within a module to improve locality of reference and reduce the working set of the module are provided. The optimal placement order for code portions within a module reflects the concurrency of usage for code portions during execution of the module. All code portions which execute within a certain period of time are placed in close proximity to each other within the executable module. When determining the optimal placement order for each code portion, the present invention executes an instrumented version of the module to collect execution data for each code portion, analyzes the execution data to determine the optimal placement order for each code portion, and links the code portions according to the determined optimal placement order. The instrumented version of the module contains instructions that, when executed, cause execution data to be recorded.
    Type: Grant
    Filed: July 17, 1997
    Date of Patent: May 12, 1998
    Assignee: Microsoft Corporation
    Inventors: Russ Blake, M. Reza Baghai, Lee A. Smith
  • Patent number: 5748966
    Abstract: A system and method for a run-time type error in a program prior to running the program whose source code is written in a programming language with imperative constructs and polymorphic procedures is disclosed. To accomplish the above type error checking, the source code is translated into intermediate form representations by an intermediate form translator. In addition to the intermediate form representations, type representations which include predetermined types such as a locking type constructor and an unlocking type constructor are utilized in detecting the run-time type error. When both intermediate form representations and the type representations are used and the source code is determined to have no run-time type error prior to running the program according to the current invention, it is guaranteed that the program will run without any run-time type error.
    Type: Grant
    Filed: December 30, 1994
    Date of Patent: May 5, 1998
    Assignee: The Trustees of the University of Pennsylvania
    Inventor: Yoshikazu Sato
  • Patent number: 5748965
    Abstract: A language processing method targeted at hardware having a data space greater than the data width of an architecture is improved in that address calculation of an array element is performed efficiently and the size of an object is reduced while the execution performance of the object is enhanced. A command which designates a maximum size of an array is inputted, and it is analyzed whether or not the designated size is equal to or smaller than a fixed size. When a result of the analysis is equal to or smaller than the fixed size, a subscript of the array is taken out first. An offset is calculated from contents of the subscript thus taken out and the data width of the array element, and an address of the array element is calculated from the offset thus calculated and the top address of the array.
    Type: Grant
    Filed: March 24, 1997
    Date of Patent: May 5, 1998
    Assignee: NEC Corporation
    Inventor: Hiroko Isozaki
  • Patent number: 5745766
    Abstract: A method for application registration and tracking for DOS and OS/2 software, independent of the mechanism in which the application is distributed and installed. The invention allows other application registration and tracking techniques to co-exist without affecting/impacting each other. This truly is an "open" packaging, registration and tracking invention which allows PC-software to be better managed in a network.
    Type: Grant
    Filed: September 19, 1994
    Date of Patent: April 28, 1998
    Assignee: International Business Machines Corporation
    Inventors: Arnold H. Bramnick, Nathaniel Calvert, Thomas Marcus McBride, Arthur Frank Snyder, III, John Robert Ure
  • Patent number: 5745767
    Abstract: A method and system for testing the interoperability of application programs. The interoperability testing system uses an application-independent test script and application-specific command scripts to test the interoperability of application programs. An application-independent test script contains a series of high-level application-independent commands that are to be performed to test the application programs. Each application program to be tested has a corresponding application-specific command script. An application-specific command script contains an implementation of each high-level command for the corresponding application program. To test application programs, the interoperability testing system executes an application-independent test script by reading each high-level command from the test script, retrieving the implementation of that high-level command for the application program that is to perform that command, and executing that implementation.
    Type: Grant
    Filed: March 28, 1995
    Date of Patent: April 28, 1998
    Assignee: Microsoft Corporation
    Inventors: Douglas Jay Rosen, Ross Faulkner Smith, Jr.
  • Patent number: 5742828
    Abstract: Source code including application defined expressions and non-conforming identifiers are compiled to executable code. The source code is written with an application defined expression or non-conforming identifier enclosed between a predefined pair of matching separators, such as square brackets. When a sequence of characters between the predefined separators is encountered in the source code during compiling, a symbol table is searched for a matching identifier. If found, the characters are interpreted as a non-conforming identifier and bound to the matching identifier. If not found, the characters are interpreted as an application defined expression and bound to a function call for an evaluating function provided in an application library.
    Type: Grant
    Filed: August 3, 1994
    Date of Patent: April 21, 1998
    Assignee: Microsoft Corporation
    Inventors: Dennis Mark Canady, Alan Carter, Ilan Gabriel Caron, Mark Leslie Roberts, David Gordon Bradlee, Steven E. Lees
  • Patent number: 5742829
    Abstract: The present invention provides for automatically installing software on heterogeneous client computer systems. In a distributed system having heterogeneous computer systems of different natural languages, different operating system types, and/or different processor types, the present invention automatically installs the appropriate edition of software onto client computers. The present invention installs an edition of software appropriate for execution on a particular processor type, with a particular operating system type and in a particular natural language by utilizing commands specific to an operating system type. The present invention automatically installs software in response to the availability of a new version of the software, a change in the operating system of the client computer, a change in the associated natural language of the client computer, or in response to input of the administrator of the distributed system.
    Type: Grant
    Filed: March 10, 1995
    Date of Patent: April 21, 1998
    Assignee: Microsoft Corporation
    Inventors: Michael L. Davis, Or Ben-Natan, Bruce W. Copeland
  • Patent number: 5724564
    Abstract: An improved method and system is described for generalized handling of conditions occurring during program execution in a computer system having a multi-language Condition Manager (CM). A general signaling routine having object code for an external entry point suitable for linking to application programs written in any language supporting external calls is used. The signaling routine may be used by programs to eliminate the step of checking return codes from subroutines by coding the subroutine to automatically signal the proper condition to the CM which in conjunction with user defined condition handlers takes proper actions in response to the condition. A general condition token which may be used as a feedback token is defined as a condition identifier, a format code for the condition identifier, a severity code for the condition, a control code for a facility identifier, a facility identifier and an optional handle for instance specific information.
    Type: Grant
    Filed: June 6, 1995
    Date of Patent: March 3, 1998
    Assignee: International Business Machines Corporation
    Inventors: Ralph Oscar Conder, Jeffrey Allen Grantz, Scott Alan Plaetzer, Robert Milton Smith, William Nicholas John Tindall