Patents by Inventor Gregory W. Nichols

Gregory W. Nichols 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: 10067835
    Abstract: Some embodiments of the invention provide techniques whereby a user may perform a system reset (e.g., to address system performance and/or reliability degradation, such as which may be caused by unused applications that unnecessarily consume system resources, an attempted un-install of an application that left remnants of the application behind, and/or other causes). In some embodiments, performing a system reset replaces a first instance of an operating system on the system with a new instance of the operating system, and removes any applications installed on the system, without disturbing the user's data.
    Type: Grant
    Filed: June 7, 2016
    Date of Patent: September 4, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Desmond T. Lee, Vinit Ogale, Keshava Prasad Subramanya, Sri Sai Kameswara Pavan Kumar Kasturi, Hongliu Zheng, Yunan Yuan, Gregory W. Nichols, Stephan Doll, Kiran Kumar Dowluru, Calin Negreanu
  • Publication number: 20160292039
    Abstract: Some embodiments of the invention provide techniques whereby a user may perform a system reset (e.g., to address system performance and/or reliability degradation, such as which may be caused by unused applications that unnecessarily consume system resources, an attempted un-install of an application that left remnants of the application behind, and/or other causes). In some embodiments, performing a system reset replaces a first instance of an operating system on the system with a new instance of the operating system, and removes any applications installed on the system, without disturbing the user's data.
    Type: Application
    Filed: June 7, 2016
    Publication date: October 6, 2016
    Inventors: Desmond T. Lee, Vinit Ogale, Keshava Prasad Subramanya, Sri Sai Kameswara Pavan Kumar Kasturi, Hongliu Zheng, Yunan Yuan, Gregory W. Nichols, Stephan Doll, Kiran Kumar Dowluru, Calin Negreanu
  • Patent number: 9367400
    Abstract: Some embodiments of the invention provide techniques whereby a user may perform a system reset (e.g., to address system performance and/or reliability degradation, such as which may be caused by unused applications that unnecessarily consume system resources, an attempted un-install of an application that left remnants of the application behind, and/or other causes). In some embodiments, performing a system reset replaces a first instance of an operating system on the system with a new instance of the operating system, and removes any applications installed on the system, without disturbing the user's data.
    Type: Grant
    Filed: August 13, 2014
    Date of Patent: June 14, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Desmond T. Lee, Vinit Ogale, Keshava Prasad Subramanya, Sri Sai Kameswara Pavan Kumar Kasturi, Hongliu Zheng, Yunan Yuan, Gregory W. Nichols, Stephan Doll, Kiran Kumar Dowluru, Calin Negreanu
  • Publication number: 20140351640
    Abstract: Some embodiments of the invention provide techniques whereby a user may perform a system reset (e.g., to address system performance and/or reliability degradation, such as which may be caused by unused applications that unnecessarily consume system resources, an attempted un-install of an application that left remnants of the application behind, and/or other causes). In some embodiments, performing a system reset replaces a first instance of an operating system on the system with a new instance of the operating system, and removes any applications installed on the system, without disturbing the user's data.
    Type: Application
    Filed: August 13, 2014
    Publication date: November 27, 2014
    Inventors: Desmond T. Lee, Vinit Ogale, Keshava Prasad Subramanya, Sri Sai Kameswara Pavan Kumar Kasturi, Hongliu Zheng, Yunan Yuan, Gregory W. Nichols, Stephan Doll, Kiran Kumar Dowluru, Calin Negreanu
  • Patent number: 8819487
    Abstract: Some embodiments of the invention provide techniques whereby a user may perform a system reset (e.g., to address system performance and/or reliability degradation, such as which may be caused by unused applications that unnecessarily consume system resources, an attempted un-install of an application that left remnants of the application behind, and/or other causes). In some embodiments, performing a system reset replaces a first instance of an operating system on the system with a new instance of the operating system, and removes any applications installed on the system, without disturbing the user's data.
    Type: Grant
    Filed: June 30, 2013
    Date of Patent: August 26, 2014
    Assignee: Microsoft Corporation
    Inventors: Desmond T. Lee, Vinit Ogale, Keshava Prasad Subramanya, Sri Sai Kameswara Pavan Kumar Kasturi, Hongliu Zheng, Yunan Yuan, Gregory W. Nichols, Stephan Doll, Kiran Kumar Dowluru, Calin Negreanu
  • Patent number: 8799337
    Abstract: Some embodiments of the invention provide techniques for performing system reset and/or system restore operations. Some embodiments store a record of any changes performed to a data file stored on a virtual hard disk using differencing virtual disks that are captured over time. To restore the file to the state in which it existed at any particular point in time, embodiments of the invention may allow for rolling back the system to a differencing virtual disk captured at or before that time and setting aside blocks of the differencing virtual disk chain captured after that point. To perform a system reset, the system may be rolled back to the parent virtual hard disk, by setting aside all of the blocks of the differencing virtual disk chain. Some embodiments of the invention provide for separating information on the system into a plurality of entities, and maintaining a separate set of differencing virtual disks for each entity.
    Type: Grant
    Filed: December 15, 2010
    Date of Patent: August 5, 2014
    Assignee: Microsoft Corporation
    Inventors: Desmond T. Lee, Vinit Ogale, Keshava Prasad Subramanya, Sri Sai Kameswara Pavan Kumar Kasturi, Hongliu Zheng, Yunan Yuan, Gregory W. Nichols, Stephan Doll, Kiran Kumar Dowluru
  • Patent number: 8645763
    Abstract: A system and method for generating a triage dump of useful memory data from a computer that encounters an error while executing one or more software programs. The computer system may identify data values within the triage dump that are characteristic of personal data. To protect the privacy of the software user the personal data may be poisoned by overwriting the data values with overwrite values. The overwrite values used to poison the data values may be predetermined, based on the data values themselves, or chosen at random. The triage dump may be sent to an external server to associated with the developer of the one or more software programs for analysis. When overwrite values are dynamically selected, the specific overwrite values used may be sent to the server in connection with a triage dump.
    Type: Grant
    Filed: September 12, 2011
    Date of Patent: February 4, 2014
    Assignee: Microsoft Corporation
    Inventors: Miklos Szegedi, Ryan S. Kivett, Gregory W. Nichols, Mikhail Basilyan, Jen-Lung Chiu, Genghis Karimov
  • Patent number: 8639973
    Abstract: Some embodiments of the invention provide techniques whereby a user may perform a system reset (e.g., to address system performance and/or reliability degradation, such as which may be caused by unused applications that unnecessarily consume system resources, an attempted un-install of an application that left remnants of the application behind, and/or other causes). In some embodiments, performing a system reset replaces a first instance of an operating system on the system with a new instance of the operating system, and removes any applications installed on the system, without disturbing the user's data.
    Type: Grant
    Filed: December 14, 2010
    Date of Patent: January 28, 2014
    Assignee: Microsoft Corporation
    Inventors: Desmond T. Lee, Vinit Ogale, Keshava Prasad Subramanya, Sri Sai Kameswara Pavan Kumar Kasturi, Hongliu Zheng, Yunan Yuan, Gregory W. Nichols, Stephan Doll, Kiran Kumar Dowluru, Calin Negreanu
  • Publication number: 20130290949
    Abstract: Some embodiments of the invention provide techniques whereby a user may perform a system reset (e.g., to address system performance and/or reliability degradation, such as which may be caused by unused applications that unnecessarily consume system resources, an attempted un-install of an application that left remnants of the application behind, and/or other causes). In some embodiments, performing a system reset replaces a first instance of an operating system on the system with a new instance of the operating system, and removes any applications installed on the system, without disturbing the user's data.
    Type: Application
    Filed: June 30, 2013
    Publication date: October 31, 2013
    Inventors: Desmond T. Lee, Vinit Ogale, Keshava Prasad Subramanya, Sri Sai Kameswara Pavan Kumar Kasturi, Hongliu Zheng, Yunan Yuan, Gregory W. Nichols, Stephan Doll, Kiran Kumar Dowluru, Calin Negreanu
  • Patent number: 8510523
    Abstract: A system and method for generating a triage dump of useful memory data from a computer that encounters an error while executing one or more software programs. The computer system may identify data values within the triage dump that are characteristic of personal data. To protect the privacy of the software user the personal data may be poisoned by overwriting the data values with overwrite values. The overwrite values used to poison the data values may be predetermined, based on the data values themselves, or chosen at random. The triage dump may be sent to an external server to associated with the developer of the one or more software programs for analysis. When overwrite values are dynamically selected, the specific overwrite values used may be sent to the server in connection with a triage dump.
    Type: Grant
    Filed: September 12, 2011
    Date of Patent: August 13, 2013
    Assignee: Microsoft Corporation
    Inventors: Miklos Szegedi, Ryan S. Kivett, Gregory W. Nichols, Mikhail Basilyan, Jen-Lung Chiu, Genghis Karimov
  • Publication number: 20130160126
    Abstract: A system is described for remediating a malicious modern application installed on an end user device. In an embodiment, the system includes an antimalware program executing on the end user device that can detect and attempt to remediate the malicious modern application, an operating system executing on the end user device that is configured to interact with the antimalware program for the purpose of facilitating the establishment of a connection between the end user device and an application support system in response to determining that the antimalware program has detected and attempted to remediate the malicious modern application, and the application support system that can perform remediation operations beyond those that can be performed by the antimalware program.
    Type: Application
    Filed: December 15, 2011
    Publication date: June 20, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Vishal Kapoor, Jason J. Joyce, Gregory W. Nichols, Joshua W. Dunn, Michael S. Jarrett, Adrian M. Marinescu, Marc E. Seinfeld, Axel Andrejs, Jayaraman Kalyana Sundaram
  • Publication number: 20130067178
    Abstract: A system and method for generating a triage dump of useful memory data from a computer that encounters an error while executing one or more software programs. The computer system may identify data values within the triage dump that are characteristic of personal data. To protect the privacy of the software user the personal data may be poisoned by overwriting the data values with overwrite values. The overwrite values used to poison the data values may be predetermined, based on the data values themselves, or chosen at random. The triage dump may be sent to an external server to associated with the developer of the one or more software programs for analysis. When overwrite values are dynamically selected, the specific overwrite values used may be sent to the server in connection with a triage dump.
    Type: Application
    Filed: September 12, 2011
    Publication date: March 14, 2013
    Applicant: Microsoft Corporation
    Inventors: Miklos Szegedi, Ryan S. Kivett, Gregory W. Nichols, Mikhail Basilyan, Jen-Lung Chiu, Genghis Karimov
  • Publication number: 20130067285
    Abstract: A system and method for generating a triage dump of useful memory data from a computer that encounters an error while executing one or more software programs. The computer system may identify data values within the triage dump that are characteristic of personal data. To protect the privacy of the software user the personal data may be poisoned by overwriting the data values with overwrite values. The overwrite values used to poison the data values may be predetermined, based on the data values themselves, or chosen at random. The triage dump may be sent to an external server to associated with the developer of the one or more software programs for analysis. When overwrite values are dynamically selected, the specific overwrite values used may be sent to the server in connection with a triage dump.
    Type: Application
    Filed: September 12, 2011
    Publication date: March 14, 2013
    Applicant: Microsoft Corporation
    Inventors: Miklos Szegedi, Ryan S. Kivett, Gregory W. Nichols, Mikhail Basilyan, Jen-Lung Chiu, Genghis Karimov
  • Publication number: 20120158665
    Abstract: Some embodiments of the invention provide techniques for performing system reset and/or system restore operations. Some embodiments store a record of any changes performed to a data file stored on a virtual hard disk using differencing virtual disks that are captured over time. To restore the file to the state in which it existed at any particular point in time, embodiments of the invention may allow for rolling back the system to a differencing virtual disk captured at or before that time and setting aside blocks of the differencing virtual disk chain captured after that point. To perform a system reset, the system may be rolled back to the parent virtual hard disk, by setting aside all of the blocks of the differencing virtual disk chain. Some embodiments of the invention provide for separating information on the system into a plurality of entities, and maintaining a separate set of differencing virtual disks for each entity.
    Type: Application
    Filed: December 15, 2010
    Publication date: June 21, 2012
    Applicant: Microsoft Corporation
    Inventors: Desmond T. Lee, Vinit Ogale, Keshava Prasad Subramanya, Sri Sai Kameswara Pavan Kumar Kasturi, Hongliu Zheng, Yunan Yuan, Gregory W. Nichols, Stephan Doll, Kiran Kumar Dowluru
  • Publication number: 20120158661
    Abstract: Some embodiments of the invention provide components and/or techniques that may assist in choosing a snapshot to which to roll back to address a system malfunction. For example, some embodiments of the invention may record various metrics describing the system's performance, reliability and/or functionality at the points at which various snapshots are taken, along any of numerous dimensions. When a user later indicates a desire to restore the system to a previous point, these metrics may be analyzed to choose a snapshot to which to roll back.
    Type: Application
    Filed: December 15, 2010
    Publication date: June 21, 2012
    Applicant: Microsoft Corporation
    Inventors: Desmond T. Lee, Vinit Ogale, Keshava Prasad Subramanya, Sri Sai Kameswara Pavan Kumar Kasturi, Hongliu Zheng, Yunan Yuan, Gregory W. Nichols, Stephan Doll, Kiran Kumar Dowluru, Wing Yu Christine Fok
  • Publication number: 20120151258
    Abstract: Some embodiments of the invention provide techniques whereby a user may perform a system reset (e.g., to address system performance and/or reliability degradation, such as which may be caused by unused applications that unnecessarily consume system resources, an attempted un-install of an application that left remnants of the application behind, and/or other causes). In some embodiments, performing a system reset replaces a first instance of an operating system on the system with a new instance of the operating system, and removes any applications installed on the system, without disturbing the user's data.
    Type: Application
    Filed: December 14, 2010
    Publication date: June 14, 2012
    Applicant: Microsoft Corporation
    Inventors: Desmond T. Lee, Vinit Ogale, Keshava Prasad Subramanya, Sri Sai Kameswara Pavan Kumar Kasturi, Hongliu Zheng, Yunan Yuan, Gregory W. Nichols, Stephan Doll, Kiran Kumar Dowluru, Calin Negreanu
  • Patent number: 7391312
    Abstract: A vertical can be a series of computer-executable instructions that, in response to an incident, collect information regarding that incident and transmit the information for analysis and possible helpful feedback to the user. A general purpose vertical can address types of incidents, such as crashes or hangs, across a variety of applications, while a custom vertical can be written to address application-specific incidents. Verticals can access underlying support mechanisms through an infrastructure, which can also enable applications to request that additional data be collected by the verticals, and set other preferences. Once the data is collected and transmitted, a vertical may receive feedback, that can be a request for additional information or feedback to the user. The feedback to the user can attempt to identify the incident and aid the user in recovering from it and avoiding it in the future.
    Type: Grant
    Filed: April 22, 2005
    Date of Patent: June 24, 2008
    Assignee: Microsoft Corporation
    Inventors: Shawn M. Murphy, Gabriel J. Aul, Hany Farag, Kinshuman Kinshuman, Corneliu I. Lupu, Gregory W. Nichols, Andre F. Vachon
  • Patent number: 6493871
    Abstract: A method and system for downloading software update data for installing a revised software product on a client computer minimizes the amount of update data to be transmitted over the network by downloading only those files needed to put the client computer in the state for installing the product. In the beginning of the downloading process, the client computer obtains from a setup server an initial setup package that includes a setup program and a list of files required for installing the software product. The setup program running on the client computer then determines whether some current or earlier versions of those files required for installation already exist on the client computer, and compiles a request list of files needed for updating the client computer. The client computer sends the request list to a download server, which maintains a collection of update files and patches. In response to the request list, the download server downloads updating files to the client.
    Type: Grant
    Filed: September 16, 1999
    Date of Patent: December 10, 2002
    Assignee: Microsoft Corporation
    Inventors: Thomas D. McGuire, Michael V. Sliger, Daniel C. Welch, Rajendra H. Vishnumurty, Gabriel J. Aul, Oliver I. Wallace, Gregory W. Nichols, Alan B. Auerbach