Patents by Inventor Paul Del Vigna

Paul Del Vigna has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 7752494
    Abstract: Aligning execution point of duplicate copies of a user program by exchanging information about instructions executed. At least some of the exemplary embodiments may be a method of operating duplicate copies of a user program in a first and second processor, allowing at least one of the user programs to execute until retired instruction counter values in each processor are substantially the same, and then executing a number of instructions of each user program. Of the instructions executed, at least some of the instructions are decoded and the inputs of each decoded instruction determined (the decoding substantially simultaneously with executing in each processor).
    Type: Grant
    Filed: November 13, 2008
    Date of Patent: July 6, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Paul Del Vigna, Jr., Robert L. Jardine
  • Patent number: 7549085
    Abstract: A method and apparatus to insert special instruction. At least one of the illustrative embodiments is a method comprising converting a first representation of a computer program to a second representation, and inserting into the second representation a special instruction not needed to implement functionality in the first representation. The special instruction gives duplicate copies of the computer program executed in different processors an opportunity to service external asynchronous interrupts.
    Type: Grant
    Filed: April 28, 2006
    Date of Patent: June 16, 2009
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Paul Del Vigna, Jr., Shasank K Chavan
  • Publication number: 20090070564
    Abstract: Aligning execution point of duplicate copies of a user program by exchanging information about instructions executed. At least some of the exemplary embodiments may be a method of operating duplicate copies of a user program in a first and second processor, allowing at least one of the user programs to execute until retired instruction counter values in each processor are substantially the same, and then executing a number of instructions of each user program. Of the instructions executed, at least some of the instructions are decoded and the inputs of each decoded instruction determined (the decoding substantially simultaneously with executing in each processor).
    Type: Application
    Filed: November 13, 2008
    Publication date: March 12, 2009
    Inventors: Paul Del Vigna, JR., Robert L. Jardine
  • Patent number: 7467327
    Abstract: A method and system of aligning execution point of duplicate copies of a user program by exchanging information about instructions executed. At least some of the exemplary embodiments may be a method comprising operating duplicate copies of a user program in a first and second processor, allowing at least one of the user programs to execute until retired instruction counter values in each processor are substantially the same, and then executing a number of instructions of each user program. Of the instructions executed, at least some of the instructions are decoded and the inputs of each decoded instruction determined (the decoding substantially simultaneously with executing in each processor).
    Type: Grant
    Filed: January 25, 2005
    Date of Patent: December 16, 2008
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Paul Del Vigna, Jr., Robert L. Jardine
  • Patent number: 7328331
    Abstract: A method and system of aligning execution point of duplicate copies of a user program by copying memory stores. Some of the exemplary embodiments may be a method comprising aligning the execution point of duplicate copies of a user program executed in a first and second processor by copying only data of memory stores performed by the user program in the first processor from a memory of the first processor to a memory of the second processor, and copying the register state of the user program from the first processor for use by the second processor.
    Type: Grant
    Filed: January 25, 2005
    Date of Patent: February 5, 2008
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Paul Del Vigna, Jr., Robert L. Jardine
  • Publication number: 20060168425
    Abstract: A method and system of aligning execution point of duplicate copies of a user program by exchanging information about instructions executed. At least some of the exemplary embodiments may be a method comprising operating duplicate copies of a user program in a first and second processor, allowing at least one of the user programs to execute until retired instruction counter values in each processor are substantially the same, and then executing a number of instructions of each user program. Of the instructions executed, at least some of the instructions are decoded and the inputs of each decoded instruction determined (the decoding substantially simultaneously with executing in each processor).
    Type: Application
    Filed: January 25, 2005
    Publication date: July 27, 2006
    Inventors: Paul Del Vigna, Robert Jardine
  • Publication number: 20060168434
    Abstract: A method and system of aligning execution point of duplicate copies of a user program by copying memory stores. Some of the exemplary embodiments may be a method comprising aligning the execution point of duplicate copies of a user program executed in a first and second processor by copying only data of memory stores performed by the user program in the first processor from a memory of the first processor to a memory of the second processor, and copying the register state of the user program from the first processor for use by the second processor.
    Type: Application
    Filed: January 25, 2005
    Publication date: July 27, 2006
    Inventors: Paul Del Vigna, Robert Jardine
  • Patent number: 6425118
    Abstract: A system and method that implement a strategy for automatically generating self-checking tests of source-to-source translation. The tests make certain that software components produced by a source-to-source computer language translator continue to be binary-compatible with all other software components with which they previously interacted correctly, including components that remain in the original programming language. To that end, the correctness of procedure interfaces in a target computer program is also verified. With this strategy, correct translation of text preprocessor mechanisms such as macros, conditionally compiled regions of code, and source file inclusion can be achieved. The target program is the result of translating a source program written in a different language from the target program. The system creates a set of procedure calls to each procedure in the source program. The system also creates a set of callable procedures with the same interface specification as in the source program.
    Type: Grant
    Filed: July 17, 1998
    Date of Patent: July 23, 2002
    Assignee: Compaq Computer Corporation
    Inventors: Mark E. Molloy, Kristy A. Andrews, James L. Herren, David R. Cutler, Paul Del Vigna
  • Patent number: 6317871
    Abstract: A system for identifying the file structure of a computer program, preserving the file structure of the code after translation of source code from one high-level computer language to another, combining pieces of a source file that were generated in different translation sessions, and ensuring textual consistency of each piece of generated code in the resultant code files.
    Type: Grant
    Filed: July 17, 1998
    Date of Patent: November 13, 2001
    Assignee: Compaq Computer Corporation
    Inventors: Kristy A. Andrews, Paul Del Vigna, Mark E. Molloy
  • Patent number: 6031993
    Abstract: A method, system, apparatus, and program for translating one computer language to another using doubly-rooted tree data structures. A doubly-rooted tree is the combination of two sets of hierarchically related objects sharing a common set of leaves. An N-rooted tree is also described. When a doubly-rooted tree is constructed in the specified manner and then translated to a second doubly-rooted tree, source language code is transformed into target language code. In addition, the translation preserves preprocessor characteristics of the source language code including macros, conditionally compiled regions of code, source inclusion statements, and comments.
    Type: Grant
    Filed: January 13, 1998
    Date of Patent: February 29, 2000
    Assignee: Tandem Computers Incorporated
    Inventors: Kristy A. Andrews, Paul Del Vigna, Mark E. Molloy
  • Patent number: 6006031
    Abstract: A method and apparatus for translating source code written in one computer language to source code written in another language wherein translated static fragments are generated in the face of textual inconsistencies. Exactly one target language definition of each source language static fragment is generated and the differences are encapsulated in new parameters.
    Type: Grant
    Filed: June 14, 1996
    Date of Patent: December 21, 1999
    Assignee: Tandem Computers Incorporated
    Inventors: Kristy A. Andrews, Paul Del Vigna, Mark E. Molloy
  • Patent number: 5842204
    Abstract: A method and apparatus for translating source code written in one computer language to source code written in another language wherein translated static fragments are generated in the face of textual inconsistencies. Exactly one target language definition of each source language static fragment is generated and the differences are encapsulated in new parameters.
    Type: Grant
    Filed: November 1, 1994
    Date of Patent: November 24, 1998
    Assignee: Tandem Computers, Inc.
    Inventors: Kristy A. Andrews, Paul Del Vigna, Mark E. Molloy
  • Patent number: 5768564
    Abstract: A method, system, apparatus, and program for translating one computer language to another using doubly-rooted tree data structures. A doubly-rooted tree is the combination of two sets of hierarchically related objects sharing a common set of leaves. An N-rooted tree is also described. When a doubly-rooted tree is constructed in the specified manner and then translated to a second doubly-rooted tree, source language code is transformed into target language code. In addition, the translation preserves preprocessor characteristics of the source language code including macros, conditionally compiled regions of code, source inclusion statements, and comments.
    Type: Grant
    Filed: October 7, 1994
    Date of Patent: June 16, 1998
    Assignee: Tandem Computers Incorporated
    Inventors: Kristy A. Andrews, Paul Del Vigna, Mark E. Molloy
  • Patent number: 5621885
    Abstract: A system and method for automatically checkpointing a primary computer process to a backup computer process is disclosed. The system and method automatically convert a non-fault tolerant computer program into a fault tolerant computer program. The system includes multiple CPUs, a communications link between the CPUs and a user interface device, such as a terminal, workstation, or PC. A special layer of code forms an interface between the operating system for each CPU and the application programs running on the CPUs. For each process, running on one of the CPUs, the interface automatically creates a duplicate backup process on another CPU. The interface handles synchronizing communications between the original or primary process and the backup process, and suppresses or otherwise prevents or inhibits output from the backup process.
    Type: Grant
    Filed: June 7, 1995
    Date of Patent: April 15, 1997
    Assignee: Tandem Computers, Incorporated
    Inventor: Paul Del Vigna, Jr.