Patents by Inventor John C. Delo

John C. Delo 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: 7047529
    Abstract: A software installation and semantic database validation system using custom actions is disclosed. The system includes a database engine module for maintaining a database. The database contains a custom action table, with columns in the table providing information about the action. Each row in the table represent an individual action. The system also includes an installation engine module operative to read an action value from an action column of the action row and causing an action specified by the action value to be performed by a computer. The actions can be executable programs, Dynamic Link Library modules, or script written in scripting languages such as JavaScript or Visual Basic.
    Type: Grant
    Filed: November 22, 2004
    Date of Patent: May 16, 2006
    Assignee: Microsoft Corporation
    Inventor: John C Delo
  • Patent number: 6920631
    Abstract: A software installation and semantic database validation system using custom actions is disclosed. The system includes a database engine module for maintaining a database. The database contains a custom action table, with columns in the table providing information about the action. Each row in the table represent an individual action. The system also includes an installation engine module operative to read an action value from an action column of the action row and causing an action specified by the action value to be performed by a computer. The actions can be executable programs, Dynamic Link Library modules, or script written in scripting languages such as JavaScript or Visual Basic.
    Type: Grant
    Filed: November 26, 2001
    Date of Patent: July 19, 2005
    Assignee: Microsoft Corporation
    Inventor: John C. Delo
  • Patent number: 6804663
    Abstract: Database tables may be created in a modular fashion and maybe efficiently merged together. Differences between various versions of software products also be recorded in database transforms. The database transforms can then be applied to a prior installation database, so as to upgrade the prior installation database. In this manner, enhancements, patches, upgrades, custom installations, can be applied in modular fashion without the need to ship an entire modified installation database. Database transforms created from a first version and an upgraded first version can also be used to upgrade corresponding second versions into an upgraded second versions.
    Type: Grant
    Filed: September 21, 1998
    Date of Patent: October 12, 2004
    Assignee: Microsoft Corporation
    Inventor: John C. Delo
  • Patent number: 6714935
    Abstract: A method of managing non-persistent data in a persistent database includes adding the non-persistent data to the database in the form of a temporary entry. The temporary entry can be a temporary row or column, a temporary table or a temporary database with temporary tables. The method also includes tracking the non-persistent data in order to maintain the original state of the persistent database. A column of temporary bits is added to track the rows, and the temporary columns are tracked via a bit in the schema. Non-persistent temporary entries can be added to any relational database to manipulate data while maintaining the original state of the database. Using temporary entries is advantageous when a large amount of data already exists in a database and a user needs to enhance and/or manipulate the data while still retaining the original state of the data.
    Type: Grant
    Filed: September 21, 1998
    Date of Patent: March 30, 2004
    Assignee: Microsoft Corporation
    Inventor: John C. Delo
  • Patent number: 6606618
    Abstract: A relational installation database for storing data elements in the form of strings, objects, etc. is aliased with integer identifiers corresponding to each data element is disclosed. The integer identifiers are obtained from an index that sequentially stores a copy of each unique occurrences of a data element. Populating an installation database with only integers reduces persistent size and provides uniformity to the data fields underlying the database tables, and provides a significant improvement in database performance The uniform data fields may be expanded and contracted to add temporary rows and columns directly to a database table. Database tables may be created in a modular fashion and may be efficiently merged together when the software product is complete. Also, differences between various versions of the software product may be recorded in database transforms.
    Type: Grant
    Filed: February 23, 2001
    Date of Patent: August 12, 2003
    Assignee: Microsoft Corporation
    Inventor: John C. Delo
  • Patent number: 6560598
    Abstract: Internal database validation is disclosed. In one embodiment, the system comprises a database having a data table and a validation table. The data table has at least one data column and at least one data row and the validation table has a plurality of validation columns and a validation row. Also included is a database engine module for maintaining the database and a database validation module operative to read a validation value from the validation column of the validation row and using the validation value to validate a data value in the data column of the data row.
    Type: Grant
    Filed: October 16, 2001
    Date of Patent: May 6, 2003
    Assignee: Microsoft Corporation
    Inventors: John C. Delo, Carolyn L. Napier
  • Publication number: 20020095671
    Abstract: A system and method for providing the ability to repair an installed application program if a resource needed by the application program becomes inadvertently deleted or otherwise unavailable to the application program. Briefly described, the present invention makes possible a system for verifying the existence of a resource needed to support a feature of the application program. The system may respond to a request from the application program to make use of the resource by first verifying the existence of the resource at an expected location. If the resource does not exist at the expected location, rather than returning an error to the application program, the system initiates an installation procedure for restoring the missing resource without interrupting the normal operation of the application program.
    Type: Application
    Filed: February 13, 2002
    Publication date: July 18, 2002
    Inventors: John C. Delo, Malcolm S. Haar, Tracy D. Ferrier, Chetan A. Parulekar, Benjamin Chamberlain, David E. Gonzalez, David R. McKinnis
  • Publication number: 20020092013
    Abstract: A software installation and semantic database validation system using custom actions is disclosed. The system includes a database engine module for maintaining a database. The database contains a custom action table, with columns in the table providing information about the action. Each row in the table represent an individual action. The system also includes an installation engine module operative to read an action value from an action column of the action row and causing an action specified by the action value to be performed by a computer. The actions can be executable programs, Dynamic Link Library modules, or script written in scripting languages such as JavaScript or Visual Basic.
    Type: Application
    Filed: November 26, 2001
    Publication date: July 11, 2002
    Applicant: Microsoft Corporation
    Inventor: John C. Delo
  • Patent number: 6418554
    Abstract: A method and mechanism for automatically installing software implementations such as applications and COM classes as they are needed from an external source. When a software implementation is needed, the mechanism first looks to the local system (e.g., registry) for that software implementation, and if found, returns the information such as a local path needed to use the software implementation. If the implementation is not found, the mechanism looks to another source, such as a CD-ROM or a centralized class store of a network, to locate the needed implementation. When located, the implementation is downloaded and locally installed from the source, and a local path is returned in a manner that is essentially transparent to the user. Software implementations such as application products may be divided into features and components to improve on-demand installation thereof.
    Type: Grant
    Filed: September 21, 1998
    Date of Patent: July 9, 2002
    Assignee: Microsoft Corporation
    Inventors: John C. Delo, Malcolm S. Haar, Chetan A. Parulekar, Tracy D. Ferrier, Benjamin Chamberlain, David E. Gonzalez, David R. Mckinnis
  • Patent number: 6397381
    Abstract: A system and method for providing the ability to repair an installed application program if a resource needed by the application program becomes inadvertently deleted or otherwise unavailable to the application program. Briefly described, the present invention makes possible a system for verifying the existence of a resource needed to support a feature of the application program. The system may respond to a request from the application program to make use of the resource by first verifying the existence of the resource at an expected location. If the resource does not exist at the expected location, rather than returning an error to the application program, the system initiates an installation procedure for restoring the missing resource without interrupting the normal operation of the application program.
    Type: Grant
    Filed: September 21, 1998
    Date of Patent: May 28, 2002
    Assignee: Microsoft Corporation
    Inventors: John C. Delo, Malcolm S. Haar, Tracy D. Ferrier, Chetan A. Parulekar, Benjamin Chamberlain, David E. Gonzalez, David R. McKinnis
  • Publication number: 20020059187
    Abstract: Internal database validation is disclosed. In one embodiment, the system comprises a database having a data table and a validation table. The data table has at least one data column and at least one data row and the validation table has a plurality of validation columns and a validation row. Also included is a database engine module for maintaining the database and a database validation module operative to read a validation value from the validation column of the validation row and using the validation value to validate a data value in the data column of the data row.
    Type: Application
    Filed: October 16, 2001
    Publication date: May 16, 2002
    Applicant: Microsoft Corporation
    Inventors: John C. Delo, Carolyn L. Napier
  • Patent number: 6389414
    Abstract: Internal database validation system comprises a database having a data table and a validation table. The data table has at least one data column and at least one data row and the validation table has a plurality of validation columns and a validation row. Also included is a database engine module for maintaining the database and a database validation module operative to read a validation value from the validation column of the validation row and for using the validation value to validate a data value in the data column of the data row.
    Type: Grant
    Filed: September 21, 1998
    Date of Patent: May 14, 2002
    Assignee: Microsoft Corporation
    Inventors: John C. Delo, Carolyn L. Napier
  • Patent number: 6378127
    Abstract: A software installation and semantic database validation system using custom actions is disclosed. The system includes a database engine module for maintaining a database. The database contains a custom action table, with columns in the table providing information about the action. Each row in the table represent an individual action. The system also includes an installation engine module operative to read an action value from an action column of the action row and causing an action specified by the action value to be performed by a computer. The actions can be executable programs, Dynamic Link Library modules, or script written in scripting languages such as JavaScript or Visual Basic.
    Type: Grant
    Filed: September 21, 1998
    Date of Patent: April 23, 2002
    Assignee: Microsoft Corporation
    Inventor: John C. Delo
  • Patent number: 6370686
    Abstract: A generic way of publishing globally available functionality that can be shared across applications. Utilizing an Installer Registry, an Installer, Descriptors and a Publish Component Table, related components can be retrieved using an qualifier. A request for a listing of related components, which includes a qualifier, is received from an application. The installer retrieves all the related components, matching the qualifier, from the Publish Component Table. The installer then retrieves the features associated with the components and presents the list of components to the application. The application then selects a specific component and the installer then determines the product associated with the selected component by using the feature and component information retrieved from the Publish Component Table. Once the product information is retrieved, the present invention searches the Installer Registry, using the product, feature and component information as a token, and returns a keypath for that token.
    Type: Grant
    Filed: September 21, 1998
    Date of Patent: April 9, 2002
    Assignee: Microsoft Corporation
    Inventors: John C. Delo, Malcolm S. Haar, Jeffrey E. Larsson, Chetan A. Parulekar
  • Patent number: 6363499
    Abstract: A system and method for creating rollback scripts for operations performed by an installer program module. A rollback script may be used to reverse an action of an installer program module so that a user's machine is restored to its original state, i.e., the state before the installer program module began performing operations. In performing operations, the installer program module typically generates installation script records of specific actions that are to be performed to a particular machine with regard to installation data. During the processing of each installation script record, an inverse record is created, known as a rollback script record. When installing a file, if there is no file with the same name in the same location stored on the machine, then a rollback script record describing how to delete the file is stored.
    Type: Grant
    Filed: September 21, 1998
    Date of Patent: March 26, 2002
    Assignee: Microsoft Corporation
    Inventors: John C. Delo, Benjamin Chamberlain
  • Patent number: 6345386
    Abstract: A method and system for advertising software applications by placing application shortcuts on a start menu or desktop and writing entries to the system registry enabling file extension-based activation and Class ID-based activation of those applications, thereby advertising the applications as available even if not installed. In network settings, advertised applications may be assigned to a user via a policy. To this end, an advertising script is stored with a policy associated with computer or user policy recipients, and the advertising script includes assigned application identifier information. One or more scripts are applied, such as to a user at logon or a machine at re-boot. The scripts are processed by an installer mechanism to advertise the application. Applications advertised as available to the user prior to any installation thereof are installed by an installer as needed upon user activation.
    Type: Grant
    Filed: September 21, 1998
    Date of Patent: February 5, 2002
    Assignee: Microsoft Corporation
    Inventors: John C. Delo, Malcolm S. Haar, Chetan A. Parulekar, Tracy D. Ferrier, Benjamin Chamberlain, David E. Gonzalez, David R. Mckinnis
  • Publication number: 20010032199
    Abstract: Methods for Optimizing the Installation of a Software Product onto a Target Computer System Optimizations for the process of installing a software product onto a target computer system. A relational installation database for storing data elements in the form of strings, objects, etc. is aliased with integer identifiers corresponding to each data element. The integer identifiers are obtained from an index that sequentially stores a copy of each unique occurrences of a data element. Populating an installation database with only integers reduces persistent size and provides uniformity to the data fields underlying the database tables, and provides a significant improvement in database performance The uniform data fields may be expanded and contracted to add temporary rows and columns directly to a database table. In this way, temporary data elements may be stored directly in a database table without the need for creating a view of the database table.
    Type: Application
    Filed: February 23, 2001
    Publication date: October 18, 2001
    Inventor: John C. Delo
  • Patent number: 6269377
    Abstract: A system and method for managing locations of software components via a source list. The needed software components are identified. A list of source locations is referenced repeatedly until a valid source location is found or until each source location on the list has been referenced. If a valid source location is found, the software components are retrieved from that source location. New source locations may be added to this list of source locations when the user identifies these new source locations. A list of source locations is continually maintained.
    Type: Grant
    Filed: September 21, 1998
    Date of Patent: July 31, 2001
    Assignee: Microsoft Corporation
    Inventors: Robert C. Collie, John C. Delo, Malcolm S. Haar, David E. Gonzalez
  • Patent number: 6237144
    Abstract: A method and system for installing computer programs is provided where installation is accomplished based on an “as complete” description of the installed features, components and resources of the computer program. The necessary files and components required for installation of a given feature or component are determined by marking for installation any components which are not presently installed, preparing a script of required installation executions, and then executing the instructions to install the necessary files or components. Components are marked for installation or un-installation in temporary columns and rows which are dynamically added to data tables used to identify components and features which are available for installation. Individual components of a feature may be added or removed by simply marking that component for installation or removal.
    Type: Grant
    Filed: September 21, 1998
    Date of Patent: May 22, 2001
    Assignee: Microsoft Corporation
    Inventor: John C. Delo