A patch selection tool providing a method and apparatus for identifying software patches for installation on a computer system in which current versions of software applications installed on the computer system are identified as well as currently installed patches, products, and versions. An initial list of recommended patches is generated based on the combination of the installed products and the validated list of datasheet selected products, a final list is created by modifying the initial list to remove bad or outdated patches.
|
1. A method for identifying software patches for installation on a computer system comprising the method steps of:
identifying the current versions of software products installed on the computer system, running a script on the computer system to create a product Specific information file listing patches and products, including versions, that are currently installed on the system, pulling a list of the currently installed patches, products, and versions from the PSI file, identifying any currently installed patches which are bad, filling out a datasheet identifying new software products to be installed on the computer system, validating new software patches for those new software products identified on the datasheet having patches associated with them that pass any version checks that apply, generating an initial list of recommended patches based on the combination of the list of currently installed patches that are not bad and the validated new software patches.
2. The method for identifying software patches for installation on a computer system as claimed in
3. The method for identifying software patches for installation on a computer system as claimed in
4. The method for identifying software patches for installation on a computer system as claimed in
adding missing dependent patches to list of recommended patches if the dependent patch is not all ready recommended, installed, or superseded by a dependent or currently installed patch.
5. The method for identifying software patches for installation on a computer system as claimed in
6. The method for identifying software patches for installation on a computer system as claimed in claim as claimed in
7. The method for identifying software patches for installation on a computer system as claimed in
8. The method for identifying software patches for installation on a computer system as claimed in
9. The method for identifying software patches for installation on a computer system as claimed in
10. The method for identifying software patches for installation on a computer system as claimed in
|
The present invention relates to methods and apparatus for selecting software patches on a computer operating system, and, more particularly, for selecting software patches for installation on an HP-UX operating system.
The software portion of most computer systems includes both an operating system and a broad array of application programs, both of which are subject to regular modification. The release of a new version of a Microsoft operating system always makes headlines as it typically impacts existing application programs running on the computer system and may necessitate modification to operate properly. Additionally, no software program is perfect and the release of numerous software patches to fix specific problems, and the release of new versions to fix or upgrade major problems are the norm.
Between the release of new versions of a software product, minor modifications and "bug fixes" are typically made by the software developer in the form of software patches which are accessible for installation by users. There exists patch installation products that provide for identifying known patches as part of the Customer Operation Profile function in most computer operating systems. These prior solutions have the disadvantage of being very time consuming to use as they list every possible patch that could apply to a given system (sometimes more than 300) and require a manual sort through the list of patches to determine which patches are most relevant. A complete patch analysis takes approximately two to four hours. Prior solutions, for example ProPatch, provide a rough capability to target patches strictly according to a product/file set combination, however, patches are often required on items that reside in different areas. For instance, patching Omniback requires more than just patching the product itself, patches are required for commands, kernel, and file systems.
There exists a need for a high quality patch analysis tool that takes extensive knowledge of products, patches, and system-level knowledge.
A need also exists to provide a capacity for true grouping of patches according to product.
A need also exists to provide for the automatic recognition of the product version on a customer's systems, such that a user is not forced to figure out the version of the product and choose the appropriate patches.
It would be desirable and of considerable advantage to provide a patching tool that solves the problem of irrelevant patches, employs extensive knowledge, and is a true product-based patching tool by having the tool's user select from a list of products which are backed by sets of patches that have been researched for relevance to the product being patched. Further, such a patch tool could be advantageous if version smart, in that it can understand the version of information passed back such that version specific patches may be chosen, especially if the new patch tool provided an improvement in any of the following areas: reduction in time required to complete a patch analysis, smaller list of patches to choose from, patching performed according to how customers view their system (at the true product level) and the ability to research potential patches such that less knowledge is needed by the person performing the patch analysis.
The present invention is a patch selection tool providing a method for identifying software patches for installation on a computer system. Current versions of desired operating systems, software applications and patches installed or to be installed on the computer system are identified. A script is run on the computer system to create a file (called a PSIfile) of the actual operating system, software applications and patches, including versions, that are properly installed on the system. The PSIfile is uploaded into the patch tool and any installed patches which are bad are identified. The patch tool then compares the list of desired operating systems, software applications and patches to those actually installed as identified in the PSIfile. An initial list of recommended patches is generated by identifying those patches associated with the combination of the installed products and the validated list of datasheet selected products.
The initial list of patches is checked for patches that are missing dependent patches; and dependencies are added as necessary. The initial list is also checked against itself and against the list of installed patches to remove patches that are anticipated by newer versions of software that have already been installed or recommended. The list is also checked to make sure the recommended patches will execute upon installation. If there are bad patches that have not been resolved, the user is presented with a list of the bad patches, and is forced to resolve them before continuing. If the patch tool was already going to recommend a newer version of a bad patch, the new patch is given.
A final check list is checked against itself for patches that cause structural conflicts. Structural conflicts are presented to the user for further, manual intervention.
The patch tool user reviews the final list and can deselect any of the recommendations or manually add patches and re-analyze, download the list of patches into the Xpatch patch ordering tool, or the user may load the list of patches into an ongoing patch analysis.
Other aspects and advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.
Referring now to
For example, a customer whose computer operating system and/or resident software products may require software patches to update erroneous or outdated code is interviewed to ascertain the current status of products that may need a patch. A datasheet, typically including "checkboxes" as illustrated in
The Hewlett-Packard Company has a Software Change Center department which includes a "patching central" for implementing the patching process. A patch analysis datasheet is downloaded from patching central and brought up on screen with one "click". From the requested patch form, the user can elect to have the tool automatically email the collect script, or have patching central dial-in, or a number of other options. Once the form is filled in and the user clicks submit, the collect script is emailed automatically, and an entry is put into patch central's queue.
At step 340, a decision is made as to whether this is the first time through the routine. If this not the first time through (i.e. reanalyzing or replacing bad patches), recommendations based on the installed products have already been made, and there is no need to recommend the same patches again. At step 350, a decision is made as to whether this an upgrade analysis. If this is an upgrade analysis, and it is not possible to ascertain what product versions a customer is going to, patches that are associated with products that have specific versions (Omniback, 100Base-T, SNA, etc.) cannot be recommended. At step 350, with the exception of those sets with product versions, all of the selected patch sets from the datasheet are pulled in and a list of products associated with these patch sets is created (step 355). At step 360, a check is made as to whether each patch set version matches the installed products. For patch sets with no version number, there is only one patch set. For patch sets with more than one version number, there can be many patch sets associated with the product and a review of each patch set is required to find the appropriate one. If a particular patch set doesn't meet the product/version combination installed on the system or if it doesn't have any patches associated with it, it is removed from the patch list (step 365). Patch sets that have passed all of the checks this far are displayed so the user knows that the product or product/version will be patched (step 370). At step 380, an initial list of recommended patches, with status, one liner, sets, and patch dependencies is created by reading through the list of valid patch sets and gathering the list of patches for each set into an initial list of recommended patches and checking each patch to see if there are patches that are flagged in the patch database as needing to be installed with this patch. If a patch doesn't have a dependency, this check is immaterial. At step 385, all patches having dependency requirements are listed for the user unless the dependency is already installed or recommended. All the listed dependencies not already installed or recommended are added to the list of recommended patches.
In
In
Should changes to the patch list be required at a later date, for example, if the engineer runs into conflicts, removes patches from the master list, wants to add patches, or runs into new dependencies, the final master list must be reanalyzed.. Reanalyzing means carrying some information forward, and starting the process at the beginning, skipping a few steps (step 640). If the engineer doesn't want to make changes to the final master list, then the list of patches is delivered to the patch ordering mechanism (Xpatches).
At step 650, a tracking id is provided after delivering the list of patches to the ordering mechanism, prompting the user for a tracking id. A large text box is then displayed with the list of patches that will be sent to the customer along with a patch/patch set cross-reference table. Sometimes the user will only want to receive an email with the list of patches that would be sent, and doesn't want to finish up the request at this moment. If that's the case, the user has entered the word email when prompted for the tracking id. A tracking id of email sends the email list of patches, but does not perform any further processing.
Finally, the Patch Request Queue is updated with the request ID from Xpatches, and in particular, update the entry with the tracking id (step 660). The patch request is moved from Patch Request Queue to the Patch Queue History and the Pistil is moved from the home directory to the old_PSIfile directory (steps 665 and 670).
While the invention has been described and illustrated with reference to specific embodiments including a datasheet filled out by a user or by an interviewer, those skilled in the art will recognize that modification and variations may be made such that the invention is equally applicable to automated systems in which a datasheet or the like can be filled out remotely. Additionally, the invention provides for risk segmentation such that customers can be categorized into how much risk they are willing to take for system modifications. A customers risk tolerance to change is employed for ascertain which patches to recommend. Factors from the parent lab and factors from the patch itself are employed to predict the level of risk associated with that patch and impact the creation of recommended patch sets.
Smith, Randolph C., Chan, Kay, Macias, Abbey, Marakovits, Eric, Richards, Linda, Ritzer, Janet, Spotts, Roger, Stapleton, Lisa, Titman, Mary Beth
Patent | Priority | Assignee | Title |
10019501, | Dec 18 2006 | International Business Machines Corporation | Data store synchronization utilizing synchronization logs |
10026064, | Sep 13 2013 | Microsoft Technology Licensing, LLC | Automatically recommending updates based on stored lifecycle information |
10042625, | Mar 04 2015 | International Business Machines Corporation | Software patch management incorporating sentiment analysis |
10078508, | Sep 19 2014 | BEIJING BAIDU NETCOM SCIENCE TECHNOLOGY CO , LTD | Information providing method, device, and apparatus |
10114632, | Mar 04 2015 | International Business Machines Corporation | Software patch management incorporating sentiment analysis |
10127397, | Jul 16 2003 | PKWare, Inc. | Method for strongly encrypting .zip files |
10229130, | Mar 09 2000 | PKWare, Inc. | Systems and methods for manipulating and managing computer archive files |
10268473, | Sep 13 2013 | Microsoft Technology Licensing, LLC | Update installer with process impact analysis |
10372435, | Sep 19 2013 | International Business Machines Corporation | System, method and program product for updating virtual machine images |
10558454, | Jun 04 2018 | Palantir Technologies Inc | Constraint-based upgrade and deployment |
10592229, | Dec 30 2005 | United Services Automobile Association | Method and system for restoring software |
10607024, | Jul 16 2003 | PKWare, Inc. | Method for strongly encrypting .ZIP files |
10664598, | Aug 15 2016 | American Megatrends, Inc | Firmware security patch deployment |
10949394, | Mar 09 2000 | PKWare, Inc. | Systems and methods for manipulating and managing computer archive files |
11042367, | Dec 18 2018 | PalantirTechnologies Inc. | Systems and methods for coordinating the deployment of components to defined user groups |
11074057, | Feb 14 2013 | KYNDRYL, INC | System and method for determining when cloud virtual machines need to be updated |
11074060, | Nov 15 2018 | VMware, Inc. | Automated detection of patch criticality on customer environment |
11080037, | Mar 04 2015 | International Business Machines Corporation | Software patch management incorporating sentiment analysis |
11113045, | May 29 2008 | Red Hat, Inc. | Image install of a network appliance |
11132259, | Sep 30 2019 | EMC IP HOLDING COMPANY LLC | Patch reconciliation of storage nodes within a storage cluster |
11347494, | Dec 13 2019 | EMC IP HOLDING COMPANY LLC | Installing patches during upgrades |
11442719, | Dec 18 2018 | PALANTIR TECHNOLOGIES INC. | Systems and methods for coordinating the deployment of components to defined user groups |
11461487, | Jul 16 2003 | PKWare, Inc. | Method for strongly encrypting .ZIP files |
11544050, | Jul 18 2019 | Amazon Technologies, Inc | Software patch automation |
11586428, | Jun 04 2018 | PALANTIR TECHNOLOGIES INC. | Constraint-based upgrade and deployment |
11762652, | Dec 18 2018 | PALANTIR TECHNOLOGIES INC. | Systems and methods for coordinating the deployment of components to defined user groups |
6763517, | Feb 12 2001 | Oracle America, Inc | Automated analysis of kernel and user core files including searching, ranking, and recommending patch files |
6912711, | May 25 2000 | International Business Machines Corporation | Method of applying an update to a contained collection of program and data files based upon versions |
6915512, | Nov 29 1999 | Fujitsu Limited | Software editing with indication of format and processing state of each process of the software |
6952823, | Sep 01 1998 | PKWARE, INC | Software patch generator using compression techniques |
6954928, | Aug 08 2001 | VALTRUS INNOVATIONS LIMITED | Method for selecting a set of patches to update a system of programs |
6996815, | Nov 29 2000 | Microsoft Technology Licensing, LLC | Method and software tools for intelligent service pack installation |
7185334, | Nov 29 2000 | Microsoft Technology Licensing, LLC | Method and software tool for intelligent operating system installation |
7206384, | Sep 23 2002 | UNIFY, INC | System and method for automating communications system software upgrades |
7343529, | Apr 30 2004 | NETAPP INC | Automatic error and corrective action reporting system for a network storage appliance |
7398524, | Dec 22 2005 | Apparatus and method for subtractive installation | |
7451440, | Jan 09 2004 | Hewlett Packard Enterprise Development LP | Patch application that enables the identification of patches for installation on a computer system in a reactive manner |
7478383, | Mar 23 2004 | Toshiba Corporation; Toshiba Tec Kabushiki Kaisha | System and method for remotely securing software updates of computer systems |
7509636, | Dec 15 2003 | Microsoft Technology Licensing, LLC | System and method for updating files utilizing delta compression patching |
7552430, | Aug 31 2004 | Microsoft Technology Licensing, LLC | Patch sequencing |
7552431, | Aug 31 2004 | Microsoft Technology Licensing, LLC | Multiple patching in a single installation transaction |
7552474, | Mar 01 2004 | International Business Machines Corporation | Detecting the presence of an installation on a data processing system based on the relative storage locations of one or more files |
7594219, | Jul 24 2003 | International Business Machines Corporation | Method and apparatus for monitoring compatibility of software combinations |
7693961, | Jun 30 2000 | Sharp Kabushiki Kaisha | Method and system for supplying programs |
7703090, | Aug 31 2004 | Microsoft Technology Licensing, LLC | Patch un-installation |
7712094, | Dec 22 2005 | Method and apparatus for replicating a panoplex onto a storage medium from a master | |
7735078, | Oct 30 2003 | Oracle America, Inc | System and method for software patching for cross-platform products |
7747998, | Aug 31 2004 | Microsoft Technology Licensing, LLC | Elevated patching |
7765538, | Oct 29 2004 | Hewlett Packard Enterprise Development LP | Method and apparatus for determining which program patches to recommend for installation |
7793099, | Mar 09 2001 | PKWARE, INC | Method and system for encryption of file characteristics of .ZIP files |
7793114, | Dec 04 2006 | LinkedIn Corporation | Method for forecasting risks associated with software packages |
7814473, | Oct 27 2004 | Oracle International Corporation | Feature usage based target patching |
7823148, | May 22 2002 | Oracle America, Inc | System and method for performing patch installation via a graphical user interface |
7844579, | Mar 09 2000 | PKWare, Inc. | System and method for manipulating and managing computer archive files |
7870547, | Aug 10 2005 | Cisco Technology, Inc.; Cisco Technology, Inc | Method and apparatus for managing patchable software systems |
7890465, | Mar 09 2000 | PKWare, Inc. | Systems and methods for manipulating and managing computer archive files |
7895434, | Jul 16 2003 | PKWARE, INC | Method and system for multiple asymmetric encryption of .ZIP files |
7945906, | Nov 29 2000 | Microsoft Technology Licensing, LLC | Method and software tools for intelligent service pack installation |
7975264, | Jan 23 2007 | Oracle International Corporation | Deploying patches in batch mode to fix errors in pre-installed software |
7984434, | May 21 2003 | Altera Corporation | Nondestructive patching mechanism |
8028271, | Mar 12 2007 | WIND RIVER SYSTEMS, INC | Patch-aware editor |
8055617, | Mar 24 2003 | International Business Machines Corporation | Enterprise console |
8060871, | Mar 30 2006 | Microsoft Technology Licensing, LLC | Servicing software through versioning |
8065672, | Jan 23 2007 | Oracle International Corporation | Simplifying rollback to prior versions of patches used to fix errors in pre-installed software |
8087014, | Oct 26 2000 | Qualcomm Incorporated; QUALCOMM INCORPORATED, A DELAWARE CORPORATION | Method and apparatus for configuration management for a computing device |
8090942, | Mar 09 2001 | PKWARE, INC | Method and system for asymmetrically encrypting .ZIP files |
8099437, | Dec 22 2005 | Method and apparatus for selective file erasure using metadata modifications | |
8122502, | Mar 01 2004 | International Business Machines Corporation | Detecting the presence of an installation on a data processing system based on the relative storage locations of one or more files |
8225108, | Jul 16 2003 | PKWARE, INC | Method and system for mixed symmetric and asymmetric encryption of .ZIP files |
8225304, | Mar 23 2004 | Kabushiki Kaisha Toshiba; Toshiba Tec Kabushiki Kaisha | System and method for remotely securing software updates of computer systems |
8230482, | Mar 09 2000 | PKWare, Inc. | System and method for manipulating and managing computer archive files |
8245185, | Dec 22 2005 | System and method for software delivery | |
8261353, | Aug 02 2005 | International Business Machines Corporation | Method, apparatus, and program product for autonomic patch deployment based on autonomic patch risk assessment and policies |
8266615, | Dec 22 2005 | Method and apparatus for delivering percepta | |
8286159, | Dec 22 2005 | Method and apparatus for gryphing a data storage medium | |
8321855, | Feb 14 2006 | Fujitsu Limited | Patch application apparatus and program |
8321859, | Dec 22 2005 | Method and apparatus for dispensing on a data-storage medium customized content comprising selected assets | |
8381037, | Oct 09 2003 | International Business Machines Corporation | Method and system for autonomic execution path selection in an application |
8418164, | May 29 2008 | Red Hat, Inc.; Red Hat, Inc | Image install of a network appliance |
8458488, | Dec 31 2003 | International Business Machines Corporation | Method and system for diagnosing operation of tamper-resistant software |
8468515, | Nov 17 2000 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Initialization and update of software and/or firmware in electronic devices |
8479189, | Nov 17 2000 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Pattern detection preprocessor in an electronic device update generation system |
8495157, | Mar 07 2007 | International Business Machines Corporation | Method and apparatus for distributed policy-based management and computed relevance messaging with remote attributes |
8521781, | Dec 22 2005 | Apparatus and method for selective file erasure using metadata modifications | |
8526940, | Aug 17 2004 | Qualcomm Incorporated | Centralized rules repository for smart phone customer care |
8555273, | Sep 17 2003 | Qualcomm Incorporated | Network for updating electronic devices |
8578361, | Apr 21 2004 | Qualcomm Incorporated | Updating an electronic device with update agent code |
8589592, | Dec 11 2007 | Red Hat, Inc.; Red Hat, Inc | Efficient object distribution |
8615619, | Jan 14 2004 | International Business Machines Corporation | Qualifying collection of performance monitoring events by types of interrupt when interrupt occurs |
8661406, | Dec 22 2005 | Method and system for software delivery | |
8677348, | Oct 17 2005 | Cisco Technology, Inc.; Cisco Technology, Inc | Method and apparatus for determining least risk install order of software patches |
8683458, | Nov 30 2007 | Red Hat, Inc; Red Hat, Inc. | Automatic full install upgrade of a network appliance |
8689190, | Sep 30 2003 | International Business Machines Corporation | Counting instruction execution and data accesses |
8752044, | Jul 27 2006 | Qualcomm Incorporated | User experience and dependency management in a mobile device |
8782089, | Dec 22 2005 | Selective file erasure using metadata modifications and apparatus | |
8782664, | Jan 14 2004 | International Business Machines Corporation | Autonomic hardware assist for patching code |
8819655, | Sep 17 2007 | CA, INC | Systems and methods for computer program update protection |
8819668, | Feb 08 2007 | Microsoft Technology Licensing, LLC | Accessible limited distribution release software change catalog |
8893110, | Jun 08 2006 | Qualcomm Incorporated | Device management in a network |
8935658, | Dec 22 2005 | Digital asset delivery system and method | |
8959582, | Mar 09 2000 | PKWARE, INC | System and method for manipulating and managing computer archive files |
8966110, | Sep 14 2009 | International Business Machines Corporation | Dynamic bandwidth throttling |
9009694, | May 22 2002 | Oracle America, Inc. | Pre-verification and sequencing of patches |
9038051, | Oct 31 2006 | VALTRUS INNOVATIONS LIMITED | Selecting patch solutions based on availability of information regarding patches previously installed on user system |
9058612, | May 27 2011 | AVAST SOFTWARE S R O | Systems and methods for recommending software applications |
9063818, | Mar 16 2011 | GOOGLE LLC | Automated software updating based on prior activity |
9081638, | Jul 27 2006 | Qualcomm Incorporated | User experience and dependency management in a mobile device |
9098721, | Jul 16 2003 | PKWare, Inc. | Method for strongly encrypting .ZIP files |
9152602, | Mar 07 2007 | International Business Machines Corporation | Mechanisms for evaluating relevance of information to a managed device and performing management operations using a pseudo-agent |
9171005, | Dec 22 2005 | System and method for selective file erasure using metadata modifcations | |
9176971, | Dec 22 2005 | Method and apparatus for subtractive installation | |
9213535, | Oct 31 2006 | Hewlett Packard Enterprise Development LP | Pre-computing computer software patch solutions |
9294377, | Mar 19 2004 | International Business Machines Corporation | Content-based user interface, apparatus and method |
9298443, | Feb 14 2013 | KYNDRYL, INC | System and method for determining when cloud virtual machines need to be updated |
9317695, | Sep 25 2013 | VERACODE, INC | System and method for automated remedying of security vulnerabilities |
9383992, | Nov 21 2012 | International Business Machines Corporation | Enterprise wide software version recommendation |
9383993, | Nov 21 2012 | International Business Machines Corporation | Enterprise wide software version recommendation |
9563417, | Dec 29 2006 | International Business Machines Corporation | Patch management automation tool for UNIX, APARXML |
9600262, | Sep 19 2013 | International Business Machines Corporation | System, method and program product for updating virtual machine images |
9606787, | Dec 30 2005 | UNITED SERVICES AUTOMOBILE ASSOCIATION USAA | Method and system for restoring software |
9626176, | Sep 13 2013 | Microsoft Technology Licensing, LLC | Update installer with technical impact analysis |
9665359, | Sep 13 2013 | Microsoft Technology Licensing, LLC | Automatically resolving conflicts after installation of selected updates in a computer system |
9703543, | Sep 13 2013 | Microsoft Technology Licensing, LLC | Update installer with process impact analysis |
9824223, | Sep 25 2013 | Veracode, Inc. | System and method for automated remedying of security vulnerabilities |
9830142, | Sep 13 2013 | Microsoft Technology Licensing, LLC | Automatic installation of selected updates in multiple environments |
9880832, | Mar 06 2015 | SAP SE | Software patch evaluator |
9886444, | Mar 09 2000 | PKWare, Inc. | Systems and methods for manipulating and managing computer archive files |
9983864, | Feb 14 2013 | KYNDRYL, INC | System and method for determining when cloud virtual machines need to be updated |
Patent | Priority | Assignee | Title |
5357629, | Sep 16 1991 | Pitney Bowes Inc. | System for recording structured read only data table revisions and forming a directory to the latest revisions of table elements |
5481713, | May 06 1993 | Apple Inc | Method and apparatus for patching code residing on a read only memory device |
5678039, | Sep 30 1994 | Borland Software Corporation | System and methods for translating software into localized versions |
5797016, | Oct 29 1996 | CA, INC | Regeneration agent for back-up software |
5966540, | Feb 06 1997 | International Business Machines Corp. | Hosted machine code installation |
6071317, | Dec 11 1997 | HANGER SOLUTIONS, LLC | Object code logic analysis and automated modification system and method |
6073214, | Nov 27 1995 | Microsoft Technology Licensing, LLC | Method and system for identifying and obtaining computer software from a remote computer |
6115646, | Dec 18 1997 | Nortel Networks Limited | Dynamic and generic process automation system |
6135651, | May 29 1997 | Intel Corporation | Patching apparatus and method for upgrading modem software code |
6161218, | Jan 16 1996 | Sun Microsystems Inc. | Software patch architecture |
6202207, | Jan 28 1998 | FINJAN BLUE, INC | Method and a mechanism for synchronized updating of interoperating software |
6289509, | Sep 01 1998 | PKWARE, INC | Software patch generator |
6327706, | Apr 08 1998 | DELL USA, L P | Method of installing software on and/or testing a computer system |
6338149, | Jul 31 1998 | WESTINGHOUSE ELECTRIC CO LLC | Change monitoring system for a computer system |
6347398, | Dec 12 1996 | Microsoft Technology Licensing, LLC | Automatic software downloading from a computer network |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 29 1999 | Hewlett-Packard Company | (assignment on the face of the patent) | / | |||
Oct 06 1999 | TITMAN, MARY BETH | Hewlett-Packard Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010382 | /0430 | |
Oct 06 1999 | STAPLETON, LISA | Hewlett-Packard Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010382 | /0430 | |
Oct 06 1999 | RITZER, JANET | Hewlett-Packard Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010382 | /0430 | |
Oct 06 1999 | RICHARDS, LINDA | Hewlett-Packard Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010382 | /0430 | |
Oct 12 1999 | MARAKOVITS, ERIC | Hewlett-Packard Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010382 | /0430 | |
Oct 12 1999 | SPOTTS, ROGER | Hewlett-Packard Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010382 | /0430 | |
Oct 12 1999 | SMITH, RANDOLPH C | Hewlett-Packard Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010382 | /0430 | |
Oct 18 1999 | MACIAS, ABBEY | Hewlett-Packard Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010382 | /0430 | |
Oct 19 1999 | CHAN, KAY | Hewlett-Packard Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010382 | /0430 | |
Jan 31 2003 | Hewlett-Packard Company | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 026945 | /0699 | |
Oct 27 2015 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Hewlett Packard Enterprise Development LP | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 037079 | /0001 |
Date | Maintenance Fee Events |
May 05 2006 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
May 05 2010 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Apr 28 2014 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Nov 05 2005 | 4 years fee payment window open |
May 05 2006 | 6 months grace period start (w surcharge) |
Nov 05 2006 | patent expiry (for year 4) |
Nov 05 2008 | 2 years to revive unintentionally abandoned end. (for year 4) |
Nov 05 2009 | 8 years fee payment window open |
May 05 2010 | 6 months grace period start (w surcharge) |
Nov 05 2010 | patent expiry (for year 8) |
Nov 05 2012 | 2 years to revive unintentionally abandoned end. (for year 8) |
Nov 05 2013 | 12 years fee payment window open |
May 05 2014 | 6 months grace period start (w surcharge) |
Nov 05 2014 | patent expiry (for year 12) |
Nov 05 2016 | 2 years to revive unintentionally abandoned end. (for year 12) |