Patents by Inventor Bruce G. Payette

Bruce G. Payette 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: 10606569
    Abstract: Systems and methods for desired state configuration (DSC) are disclosed. DSC provides the ability to perform declarative configuration natively within a shell language and to use early-bound schematized data constructs embedded in a late-bound shell language. This allows declarative programming elements to be incorporated into imperative languages, such as scripts for configuration management. Script may combine the power of an imperative shell language with the ease of use of a declarative language and may use both imperative and declarative syntax in the same language.
    Type: Grant
    Filed: June 18, 2013
    Date of Patent: March 31, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jeffrey P. Snover, Bruce G. Payette, Kenneth M. Hansen, Narayanan Lakshmanan, Xiaoyong Zhou
  • Patent number: 10587461
    Abstract: A configuration management system provides a partitioned data model for collecting and representing configuration information from a diverse set of sources to allow easier modeling of very large, highly redundant sets of enterprise configuration information. The system partitions large configuration schema into logical subcomponents that can be combined, shared, and reused. The system also partitions instantiated data models into logical sub-models that can be combined, shared, reused, and incrementally updated. Each product team can provide its own configuration schema, which allows the domain experts in a particular field to provide reusable models for their products. These models may include sub-models that allow reuse of selected portions of the configuration schema. When the system stores data related to each portion of the model, it stores the data in a partitioned manner that makes incremental updates of each component of the model more straightforward and less resource intensive.
    Type: Grant
    Filed: August 16, 2017
    Date of Patent: March 10, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: James G. Robertson, Jeffrey P. Snover, Sameer S. Mutatkar, Rahim Maknojia, Liu Hong, Bruce G. Payette
  • Publication number: 20180136914
    Abstract: Systems and methods for extending a programming language with a set of extensions using a strict meta-model are disclosed. Embodiments provide a set of interfaces that allow a schema to be synthesized. Syntax is introduced into an existing programming language to allow the construction of schematized data objects. A schema processor module translates a schema representation into new keywords. A document generator module receives the set of keywords and produces output in a selected form. When code comprising the keyword extensions is parsed, data structure nodes represent keyword actions as a set of functions and implements those function calls with the original meta-data. A keyword definition comprises a name and an action to be taken at parse time and an action to be taken at runtime. The default action at parse time is to inject a function call into the code. The default action at runtime is to call the function.
    Type: Application
    Filed: January 12, 2018
    Publication date: May 17, 2018
    Inventors: Bruce G. Payette, Jason Shirk, Xiaoyong Zhou
  • Patent number: 9880820
    Abstract: Systems and methods for extending a programming language with a set of extensions using a strict meta-model are disclosed. Embodiments provide a set of interfaces that allow a schema to be synthesized. Syntax is introduced into an existing programming language to allow the construction of schematized data objects. A schema processor module translates a schema representation into new keywords. A document generator module receives the set of keywords and produces output in a selected form. When code comprising the keyword extensions is parsed, AST nodes represent keyword actions as a set of functions and implements those function calls with the original meta-data. A keyword definition comprises a name and an action to be taken at parse time and an action to be taken at runtime. The default action at parse time is to inject a function call into the code. The default action at runtime is to call the function.
    Type: Grant
    Filed: June 18, 2013
    Date of Patent: January 30, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Bruce G. Payette, Jason Shirk, Xiaoyong Zhou
  • Publication number: 20170346681
    Abstract: A configuration management system provides a partitioned data model for collecting and representing configuration information from a diverse set of sources to allow easier modeling of very large, highly redundant sets of enterprise configuration information. The system partitions large configuration schema into logical subcomponents that can be combined, shared, and reused. The system also partitions instantiated data models into logical sub-models that can be combined, shared, reused, and incrementally updated. Each product team can provide its own configuration schema, which allows the domain experts in a particular field to provide reusable models for their products. These models may include sub-models that allow reuse of selected portions of the configuration schema. When the system stores data related to each portion of the model, it stores the data in a partitioned manner that makes incremental updates of each component of the model more straightforward and less resource intensive.
    Type: Application
    Filed: August 16, 2017
    Publication date: November 30, 2017
    Inventors: James G. Robertson, Jeffrey P. Snover, Sameer S. Mutatkar, Rahim Maknojia, Liu Hong, Bruce G. Payette
  • Patent number: 9755890
    Abstract: A configuration management system provides a partitioned data model for collecting and representing configuration information from a diverse set of sources to allow easier modeling of very large, highly redundant sets of enterprise configuration information. The system partitions large configuration schema into logical subcomponents that can be combined, shared, and reused. The system also partitions instantiated data models into logical sub-models that can be combined, shared, reused, and incrementally updated. Each product team can provide its own configuration schema, which allows the domain experts in a particular field to provide reusable models for their products. These models may include sub-models that allow reuse of selected portions of the configuration schema. When the system stores data related to each portion of the model, it stores the data in a partitioned manner that makes incremental updates of each component of the model more straightforward and less resource intensive.
    Type: Grant
    Filed: November 25, 2013
    Date of Patent: September 5, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: James G. Robertson, Jeffrey P. Snover, Sameer S. Mutatkar, Rahim Maknojia, Liu Hong, Bruce G. Payette
  • Publication number: 20170187571
    Abstract: A configuration management system provides a partitioned data model for collecting and representing configuration information from a diverse set of sources to allow easier modeling of very large, highly redundant sets of enterprise configuration information. The system partitions large configuration schema into logical subcomponents that can be combined, shared, and reused. The system also partitions instantiated data models into logical sub-models that can be combined, shared, reused, and incrementally updated. Each product team can provide its own configuration schema, which allows the domain experts in a particular field to provide reusable models for their products. These models may include sub-models that allow reuse of selected portions of the configuration schema. When the system stores data related to each portion of the model, it stores the data in a partitioned manner that makes incremental updates of each component of the model more straightforward and less resource intensive.
    Type: Application
    Filed: November 25, 2013
    Publication date: June 29, 2017
    Inventors: James G. Robertson, Jeffrey P. Snover, Sameer S. Mutatkar, Rahim Maknojia, Liu Hong, Bruce G. Payette
  • Patent number: 9559902
    Abstract: Systems and methods for configuring applications and resources on distributed nodes or machines are disclosed. A node exposes a synchronization resource that corresponds to a desired state on a remote resource. The node evaluates a state of the remote resource. A test function may be defined to check whether the remote resource is in the desired state. A set function may also be defined to set a state of the synchronization resource when the remote resource is in the desired state. The node configures the synchronization resource when the remote resource is in the desired state. The synchronization resource may be configured, for example, using a resource provider. The node may evaluate the states of a plurality remote resources. The synchronization resource may be configured when one or more of the remote resources are in the desired state or when all of the remote resources are in the desired state.
    Type: Grant
    Filed: June 18, 2013
    Date of Patent: January 31, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Bruce G. Payette, Narayanan Lakshmanan, Nitin Gupta, Xuejian Pan, Sharath Gopalappa
  • Publication number: 20150149602
    Abstract: A configuration management system provides a partitioned data model for collecting and representing configuration information from a diverse set of sources to allow easier modeling of very large, highly redundant sets of enterprise configuration information. The system partitions large configuration schema into logical subcomponents that can be combined, shared, and reused. The system also partitions instantiated data models into logical sub-models that can be combined, shared, reused, and incrementally updated. Each product team can provide its own configuration schema, which allows the domain experts in a particular field to provide reusable models for their products. These models may include sub-models that allow reuse of selected portions of the configuration schema. When the system stores data related to each portion of the model, it stores the data in a partitioned manner that makes incremental updates of each component of the model more straightforward and less resource intensive.
    Type: Application
    Filed: November 25, 2013
    Publication date: May 28, 2015
    Applicant: Microsoft Corporation
    Inventors: James G. Robertson, Jeffrey P. Snover, Sameer S. Mutatkar, Rahim Maknojia, Liu Hong, Bruce G. Payette
  • Patent number: 8910166
    Abstract: A workflow scripting system is described herein that combines the features of workflows and scripts by automatically translating between the two models. Using the system, a script author can create workflows on the fly using familiar scripting language, and a workflow author can use scripting steps to perform actions. Workflows run in this manner can be setup to execute in their own process to improve robustness or efficiency. Operations in an enterprise environment frequently take a long time and are subject to interruptions. By adding reliability concepts of workflows to a shell environment, users of the system can write scripts to address common needs of large-scale computing environments. Thus, the workflow scripting system blends the available resources provided by workflow and scripting environments to provide a host of powerful, advanced capabilities to IT personnel.
    Type: Grant
    Filed: October 11, 2011
    Date of Patent: December 9, 2014
    Assignee: Microsoft Corporation
    Inventors: Miriam Rosenberg, Bruce G. Payette, Jeffrey P. Snover, Rahim Maknojia, Christine Moeller, Narayanan Lakshmanan, Hemant Mahawar, Constantin Oprea, Lee Holmes, Kenneth M. Hansen
  • Publication number: 20140359258
    Abstract: Systems and methods for desired state configuration (DSC) are disclosed. DSC provides the ability to perform declarative configuration natively within a shell language and to use early-bound schematized data constructs embedded in a late-bound shell language. This allows declarative programming elements to be incorporated into imperative languages, such as scripts for configuration management. Script may combine the power of an imperative shell language with the ease of use of a declarative language and may use both imperative and declarative syntax in the same language.
    Type: Application
    Filed: June 18, 2013
    Publication date: December 4, 2014
    Inventors: Jeffrey P. Snover, Bruce G. Payette, Kenneth M. Hansen, Narayanan Lakshmanan, Xiaoyong Zhou
  • Publication number: 20140359586
    Abstract: Systems and methods for extending a programming language with a set of extensions using a strict meta-model are disclosed. Embodiments provide a set of interfaces that allow a schema to be synthesized. Syntax is introduced into an existing programming language to allow the construction of schematized data objects. A schema processor module translates a schema representation into new keywords. A document generator module receives the set of keywords and produces output in a selected form. When code comprising the keyword extensions is parsed, AST nodes represent keyword actions as a set of functions and implements those function calls with the original meta-data. A keyword definition comprises a name and an action to be taken at parse time and an action to be taken at runtime. The default action at parse time is to inject a function call into the code. The default action at runtime is to call the function.
    Type: Application
    Filed: June 18, 2013
    Publication date: December 4, 2014
    Inventors: Bruce G. Payette, Jason Shirk, Xiaoyong Zhou
  • Publication number: 20140359096
    Abstract: Systems and methods for configuring applications and resources on distributed nodes or machines are disclosed. A node exposes a synchronization resource that corresponds to a desired state on a remote resource. The node evaluates a state of the remote resource. A test function may be defined to check whether the remote resource is in the desired state. A set function may also be defined to set a state of the synchronization resource when the remote resource is in the desired state. The node configures the synchronization resource when the remote resource is in the desired state. The synchronization resource may be configured, for example, using a resource provider. The node may evaluate the states of a plurality remote resources. The synchronization resource may be configured when one or more of the remote resources are in the desired state or when all of the remote resources are in the desired state.
    Type: Application
    Filed: June 18, 2013
    Publication date: December 4, 2014
    Inventors: Bruce G. Payette, Narayanan Lakshmanan, Nitin Gupta, Xuejian Pan, Sharath Gopalappa
  • Patent number: 8595334
    Abstract: A configuration management system provides a partitioned data model for collecting and representing configuration information from a diverse set of sources to allow easier modeling of very large, highly redundant sets of enterprise configuration information. The system partitions large configuration schema into logical subcomponents that can be combined, shared, and reused. The system also partitions instantiated data models into logical sub-models that can be combined, shared, reused, and incrementally updated. Each product team can provide its own configuration schema, which allows the domain experts in a particular field to provide reusable models for their products. These models may include sub-models that allow reuse of selected portions of the configuration schema. When the system stores data related to each portion of the model, it stores the data in a partitioned manner that makes incremental updates of each component of the model more straightforward and less resource intensive.
    Type: Grant
    Filed: March 3, 2010
    Date of Patent: November 26, 2013
    Assignee: Microsoft Corporation
    Inventors: James G. Robertson, Jeffrey P. Snover, Sameer S. Mutatkar, Rahim Maknojia, Liu Hong, Bruce G. Payette
  • Publication number: 20130067476
    Abstract: A workflow scripting system is described herein that combines the features of workflows and scripts by automatically translating between the two models. Using the system, a script author can create workflows on the fly using familiar scripting language, and a workflow author can use scripting steps to perform actions. Workflows run in this manner can be setup to execute in their own process to improve robustness or efficiency. Operations in an enterprise environment frequently take a long time and are subject to interruptions. By adding reliability concepts of workflows to a shell environment, users of the system can write scripts to address common needs of large-scale computing environments. Thus, the workflow scripting system blends the available resources provided by workflow and scripting environments to provide a host of powerful, advanced capabilities to IT personnel.
    Type: Application
    Filed: October 11, 2011
    Publication date: March 14, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Miriam Rosenberg, Bruce G. Payette, Jeffrey P. Snover, Rahim Maknojia, Christine Moeller, Narayanan Lakshmanan, Hemant Mahawar, Constantin Oprea, Lee Holmes, Kenneth M. Hansen
  • Patent number: 8230405
    Abstract: In an administrative tool environment, user input is supplied to an administrative tool framework for processing. The administrative tool framework maps user input to cmdlet objects. The cmdlet objects describe a grammar for parsing the user input and input objects to obtain expected input parameters. The input objects are emitted by one cmdlet and are available as input to another cmdlet. The input objects may be any precisely parseable input, such as .NET objects, plain strings, XML documents, and the like. The input objects are not live objects. The cmdlets may operate within the same process. Alternatively, one cmdlet may operate locally while another cmdlet operates remotely. The cmdlets may be provided by the administrative tool framework or may be provided by third party developers. The user input may be supplied to the framework via a host cmdlet.
    Type: Grant
    Filed: February 23, 2007
    Date of Patent: July 24, 2012
    Assignee: Microsoft Corporation
    Inventors: Jeffrey P. Snover, Daryl W. Wray, James W. Truher, III, Bruce G. Payette
  • Publication number: 20110208841
    Abstract: A configuration management system provides a partitioned data model for collecting and representing configuration information from a diverse set of sources to allow easier modeling of very large, highly redundant sets of enterprise configuration information. The system partitions large configuration schema into logical subcomponents that can be combined, shared, and reused. The system also partitions instantiated data models into logical sub-models that can be combined, shared, reused, and incrementally updated. Each product team can provide its own configuration schema, which allows the domain experts in a particular field to provide reusable models for their products. These models may include sub-models that allow reuse of selected portions of the configuration schema. When the system stores data related to each portion of the model, it stores the data in a partitioned manner that makes incremental updates of each component of the model more straightforward and less resource intensive.
    Type: Application
    Filed: March 3, 2010
    Publication date: August 25, 2011
    Applicant: Microsoft Corporation
    Inventors: James G. Robertson, Jeffrey P. Snover, Sameer S. Mutatkar, Rahim Maknojia, Liu Hong, Bruce G. Payette
  • Patent number: 7757282
    Abstract: The techniques and mechanisms described herein are directed to a taint mechanism. An object-based command declares a taint directive for a parameter within a command declaration. The taint directive is then associated with that parameter in a manner such that when an engine processes the command, the engine determines whether to process the command based on the taint directive and input for the parameter. The taint directive may specify that the input may be tainted or untainted. The command declaration may also include a taint parameter that specifies a taint characteristic for output from the command. The taint characteristic may be tainted, untainted, or propagated. Any type of object may become tainted. An untaint process may be applied to tainted data to obtain untainted data if an authorization check performed by the engine is successful.
    Type: Grant
    Filed: May 20, 2005
    Date of Patent: July 13, 2010
    Assignee: Microsoft Corporation
    Inventors: Bhalchandra S. Pandit, James W. Truher, III, Jeffrey P. Snover, Bruce G. Payette
  • Patent number: 7665074
    Abstract: The techniques and mechanisms described herein are directed at converting text into objects based on a template that describes the format of the text, where the format of the text is not in a standardized format. The objects then being available for further processing. The conversion mechanism converts the text into a dead object. The template comprises an object header indicator and a corresponding object header pattern. A new object is created based on the object header pattern identified within the text. In addition, the template comprises one or more field indicators each having a corresponding field pattern. The field pattern may be in a format of a regular expression. A field type and associated value are created from a string associated with the field pattern.
    Type: Grant
    Filed: November 29, 2004
    Date of Patent: February 16, 2010
    Assignee: Microsoft Corporation
    Inventors: Bhalchandra S. Pandit, Bruce G. Payette, James W. Truher
  • Patent number: 7624373
    Abstract: The techniques and mechanisms described herein are directed to a scripting security mechanism that minimizes security risks associated with interpreting a script written with a scripting language. An interpreter recognizes the scripting-language syntax within the script and processes each line that is designated within a data block using a restrictive set of operations. The restrictive set of operations are a subset of the total operations available for processing. If one of the lines within the data block attempts to perform an operation that is not within the restrictive set of operations, the interpreter provides an indication, such as an exception or message explaining the illegal operation. The interpreter also recognizes a list of export variables associated with the data block and exports only the variables identified in the list to an external environment if the export variable meets a constraint identified for it, if any.
    Type: Grant
    Filed: March 31, 2005
    Date of Patent: November 24, 2009
    Assignee: Microsoft Corporation
    Inventors: Bhalchandra S. Pandit, Bruce G. Payette, James W. Truher, III, Jeffrey P. Snover