Patents by Inventor David E. Kays

David E. Kays 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: 8869142
    Abstract: Sending installation information. A method may be performed, for example, in a network computing environment including one or more servers connected to one or more clients. The method includes signing a package including installation information. A hash of the package is created. A metadata data set is created. The metadata data set includes a description of the package, an identification for the package, applicability rules describing intended recipients of the installation information, the hash of the package, and installation instructions for the package. The metadata data set is sent to a target group of systems in the network computing environment.
    Type: Grant
    Filed: January 27, 2006
    Date of Patent: October 21, 2014
    Assignee: Microsoft Corporation
    Inventors: Christopher S. Gouge, Craig C. Marl, David C. Hennessey, David E. Kays, Edward F. Reus, Krishnan Rangarajan, Marc Shepard, Mazhar N. Mohammed, Steve P. Shih
  • Patent number: 7779406
    Abstract: Described is managing the changing of software implementations such as applications deployed to enterprise client users or machines. Precedence relationships between deployed applications are specified. To determine which applications to install for a given client, the precedence is applied to the subset of applications assigned or published to the client. At logon or machine reboot, an upgrade process evaluates the deployed applications and any upgrade relationships, setting applications for removal or installation. A user may also install an application that has been designated as optional. Also described is an application lifecycle model for replacing applications. For example, administrators can phase in upgrades as a pilot to a small group of users, roll out upgrades to a larger group, and then provide the application to all users. Upgrades may be mandatory or optional, and replaced programs may be removed and then replaced, or overlaid during installation.
    Type: Grant
    Filed: May 26, 2006
    Date of Patent: August 17, 2010
    Assignee: Microsoft Corporation
    Inventors: Stephen M. Blanding, Michael J. Cherry, David E. Kays, Jr., James S. Masson, Debi P. Mishra, Daniel Plastina
  • Patent number: 7747998
    Abstract: Allowing a non-privileged user to apply a patch to a software product. A patch is received from a non-privileged user. It is determined if the received patch may be elevated by the non-privileged user for applying to a target software product. The received patch is applied to the target software product if it is determined that the received patch may be elevated by the non-privileged user for applying to the target software product.
    Type: Grant
    Filed: August 31, 2004
    Date of Patent: June 29, 2010
    Assignee: Microsoft Corporation
    Inventors: Carolyn L. Napier, Christopher S. Gouge, David E. Kays, Rahul Thombre
  • Patent number: 7703090
    Abstract: Uninstalling a patch applied to a software product installed on a computer. A current state of a software product is identified. A desired state of the software product is determined. The desired state of the software product represents a state of the software product when a patch applied to the software product is removed from the software product. The patch is removed from the software product to transition the software product from the identified current state to the determined desired state.
    Type: Grant
    Filed: August 31, 2004
    Date of Patent: April 20, 2010
    Assignee: Microsoft Corporation
    Inventors: Carolyn L. Napier, Christopher S. Gouge, David E. Kays, Rahul Thombre
  • Patent number: 7631061
    Abstract: A method and system for managing and deploying applications across a computer network by assigning and publishing applications to user and computer policy recipients. Assigned applications are automatically applied via a script to the policy recipients, thereby ensuring that the recipient has an administrator-specified workstation configuration. Assigned applications are advertised so as to appear available to the user, by adding an application shortcut to the start menu, and by populating the machine registry with appropriate application information. Other applications may be published to users, whereby those applications are optionally available for use by users. Published application information is maintained in a centralized store of information on the network. Assigned and published applications may be installed on demand, such as when the application is activated.
    Type: Grant
    Filed: December 13, 2004
    Date of Patent: December 8, 2009
    Assignee: Microsoft Corporation
    Inventors: Mark Lucovsky, Michael J. Cherry, Daniel Plastina, Bharat Shah, Debi P. Mishra, David E. Kays, Markus Horstmann
  • Patent number: 7552430
    Abstract: Updating a software product by a plurality of patches. Sequencing data of each patch of the plurality of patches is received from a user such as a patch author. Each patch of the plurality of patches has a defined membership in a portion of the software product and has a defined order in the portion relative to one or more other patches that are members of the portion. The sequencing data indicates a portion of the software product of which the patch is a member and a relative ordering between the patch and one or more other members of the portion. A logical order of application for the plurality of patches is determined based on the received sequencing data. The plurality of patches is applied to the software product according to the determined logical order of application.
    Type: Grant
    Filed: August 31, 2004
    Date of Patent: June 23, 2009
    Assignee: Microsoft Corporation
    Inventors: Carolyn L. Napier, Christopher S. Gouge, David E. Kays, Rahul Thombre
  • Patent number: 7552431
    Abstract: Applying multiple patches to one or more software products. A plurality of patches is received from a user. A software product targeted by the received plurality of patches is determined. For the determined software product, one or more of the received plurality of patches that are applicable to the software product are identified. The identified one or more patches are applied to the software product as a function of a state of the software product in a single installation transaction.
    Type: Grant
    Filed: August 31, 2004
    Date of Patent: June 23, 2009
    Assignee: Microsoft Corporation
    Inventors: Carolyn L. Napier, Christopher S. Gouge, David E. Kays, Rahul Thombre
  • Patent number: 6950818
    Abstract: A method and system for implementing policy by accumulating policies for a policy recipient from policy objects associated with a hierarchically organized structure of containers, such as directory containers (sites, domains and organizational units) that includes the policy recipient. Based on administrator input, policy settings for the policy recipient may be accumulated into a specific order by inheriting policy from higher containers, which may enforce their policy settings over those of lower containers. Policy that is not enforced may be blocked at a container. The result is an accumulated set of group policy objects that are ordered by relative strength to resolve any policy conflicts. Policy may be applied to a policy recipient by calling extensions, such as an extension that layers the policy settings into the registry or an extension that uses policy information from the objects according to the ordering thereof.
    Type: Grant
    Filed: September 24, 2002
    Date of Patent: September 27, 2005
    Assignee: Microsoft Corporation
    Inventors: Michael W. Dennis, Michele L. Freed, Daniel Plastina, Eric R. Flo, David E. Kays, Jr., Robert E. Corrington
  • Patent number: 6836794
    Abstract: A method and system for managing and deploying applications across a computer network by assigning and publishing applications to user and computer policy recipients. Assigned applications are automatically applied via a script to the policy recipients, thereby ensuring that the recipient has an administrator-specified workstation configuration. Assigned applications are advertised so as to appear available to the user, by adding an application shortcut to the start menu, and by populating the machine registry with appropriate application information. Other applications may be published to users, whereby those applications are optionally available for use by users. Published application information is maintained in a centralized store of information on the network. Assigned and published applications may be installed on demand, such as when the application is activated.
    Type: Grant
    Filed: September 21, 1998
    Date of Patent: December 28, 2004
    Assignee: Microsoft Corporation
    Inventors: Mark Lucovsky, Michael J. Cherry, Daniel Plastina, Bharat Shah, Debi P. Mishra, David E. Kays, Jr., Markus Horstmann
  • Patent number: 6754896
    Abstract: A method and system for installing software implementations such as applications and COM classes as they are needed from an external source, such as a centralized network store. When a software implementation is needed, the system and method first look 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 locally, the present invention dynamically looks to a centralized class store of a network, to locate the needed implementation. When located, the implementation is downloaded and locally installed 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: October 4, 2002
    Date of Patent: June 22, 2004
    Assignee: Microsoft Corporation
    Inventors: Debi P. Mishra, David E. Kays, Jr., Markus Horstmann, Mark H. Lucovsky, Shannon J. Chan, Bharat A. Shah, Gregory A. Jensenworth
  • Patent number: 6751799
    Abstract: A computer network includes a client and a server which are preferably independently operable computers that cooperate to perform different procedures of an application program. The server executes its procedure in response to a remote procedure call transmitted over the computer network from the client. The remote procedure call typically includes one or more data structures or parameters used as arguments for executing the remote procedure. The server receives the remote procedure call at an RPC buffer. In accordance with the present invention, the server interprets the parameters while the remote procedure call resides in the RPC buffer whenever the selected format of the parameters of the remote procedure call matches the data structure format processed by the server.
    Type: Grant
    Filed: January 12, 2001
    Date of Patent: June 15, 2004
    Assignee: Microsoft Corporation
    Inventors: David E. Kays, Jr., Vibhas D. Chandorkar
  • Publication number: 20030126592
    Abstract: A method and system for installing software implementations such as applications and COM classes as they are needed from an external source, such as a centralized network store. When a software implementation is needed, the system and method first look 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 locally, the present invention dynamically looks to a centralized class store of a network, to locate the needed implementation. When located, the implementation is downloaded and locally installed 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: Application
    Filed: October 4, 2002
    Publication date: July 3, 2003
    Inventors: Debi P. Mishra, David E. Kays, Markus Horstmann, Mark H. Lucovsky, Shannon J. Chan, Bharat A. Shah, Gregory A. Jensenworth
  • Patent number: 6523166
    Abstract: A method and system for installing software implementations such as applications and COM classes as they are needed from an external source, such as a centralized network store. When a software implementation is needed, the system and method first look 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 locally, the present invention dynamically looks to a centralized class store of a network, to locate the needed implementation. When located, the implementation is downloaded and locally installed 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: February 18, 2003
    Assignee: Microsoft Corporation
    Inventors: Debi P. Mishra, David E. Kays, Jr., Markus Horstmann, Mark H. Lucovsky, Shannon J. Chan, Bharat A. Shah, Gregory A. Jensenworth
  • Publication number: 20030023587
    Abstract: A method and system for implementing policy by accumulating policies for a policy recipient from policy objects associated with a hierarchically organized structure of containers, such as directory containers (sites, domains and organizational units) that includes the policy recipient. Based on administrator input, policy settings for the policy recipient may be accumulated into a specific order by inheriting policy from higher containers, which may enforce their policy settings over those of lower containers. Policy that is not enforced may be blocked at a container. The result is an accumulated set of group policy objects that are ordered by relative strength to resolve any policy conflicts. Policy may be applied to a policy recipient by calling extensions, such as an extension that layers the policy settings into the registry or an extension that uses policy information from the objects according to the ordering thereof. Linking of group policy objects to one or more containers (e.g.
    Type: Application
    Filed: September 24, 2002
    Publication date: January 30, 2003
    Inventors: Michael W. Dennis, Michele L. Freed, Daniel Plastina, Eric R. Flo, David E. Kays, Robert E. Corrington
  • Patent number: 6466932
    Abstract: A method and system for implementing policy by accumulating policies for a policy recipient from policy objects associated with a hierarchically organized structure of containers, such as directory containers (sites, domains and organizational units) that includes the policy recipient. Based on administrator input, policy settings for the policy recipient may be accumulated into a specific order by inheriting policy from higher containers, which may enforce their policy settings over those of lower containers. Policy that is not enforced may be blocked at a container. The result is an accumulated set of group policy objects that are ordered by relative strength to resolve any policy conflicts. Policy may be applied to a policy recipient by calling extensions, such as an extension that layers the policy settings into the registry or an extension that uses policy information from the objects according to the ordering thereof. Linking of group policy objects to one or more containers (e.g.
    Type: Grant
    Filed: March 16, 1999
    Date of Patent: October 15, 2002
    Assignee: Microsoft Corporation
    Inventors: Michael W. Dennis, Michele L. Freed, Daniel Plastina, Eric R. Flo, David E. Kays, Jr., Robert E. Corrington
  • Publication number: 20010049752
    Abstract: A computer network includes a client and a server which are preferably independently operable computers that cooperate to perform different procedures of an application program. The server executes its procedure in response to a remote procedure call transmitted over the computer network from the client. The remote procedure call typically includes one or more data structures or parameters used as arguments for executing the remote procedure. The server receives the remote procedure call at an RPC buffer. In accordance with the present invention, the server interprets the parameters while the remote procedure call resides in the RPC buffer whenever the selected format of the parameters of the remote procedure call matches the data structure format processed by the server.
    Type: Application
    Filed: January 12, 2001
    Publication date: December 6, 2001
    Applicant: Microsoft Corporation
    Inventors: David E. Kays, Jr., Vibhas D. Chandorkar
  • Patent number: 6249822
    Abstract: A computer network includes a client and a server which are preferably independently operable computers that cooperate to perform different procedures of an application program. The server executes its procedure in response to a remote procedure call transmitted over the computer network from the client. The remote procedure call typically includes one or more data structures or parameters used as arguments for executing the remote procedure. The server receives the remote procedure call at an RPC buffer. In accordance with the present invention, the server interprets the parameters while the remote procedure call resides in the RPC buffer whenever the selected format of the parameters of the remote procedure call matches the data structure format processed by the server.
    Type: Grant
    Filed: April 24, 1995
    Date of Patent: June 19, 2001
    Assignee: Microsoft Corporation
    Inventors: David E. Kays, Jr., Vibhas D. Chandorkar