Patents by Inventor Geoffrey M. Kizer

Geoffrey M. Kizer 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: 10417011
    Abstract: Methods, systems, and products are provided for thread-agile dynamic programming language (‘DPL’) program execution. Thread-agile DPL program execution may be carried out by receiving, in a message queue, a message for an instance of a DPL program and determining whether the host application has a stored state object for the instance of the DPL program identified by the message. If the host application has a stored state object for the DPL program, thread-agile DPL program execution may also carried out by retrieving the state object; preparing a thread available from a thread pool for execution of the instance of the DPL program in dependence upon the state object and an execution context for the instance of the DPL program; providing, to an execution engine for executing the DPL program, the state object and the prepared thread; and passing the message to the execution engine.
    Type: Grant
    Filed: December 19, 2016
    Date of Patent: September 17, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
  • Patent number: 9916136
    Abstract: Interfaces for a continuation-based runtime. Some embodiments described herein are directed to a framework using continuation based runtime interface that pertain to an infrastructure for enabling the creation of a wide variety of continuation-based programs that perform a wide-array of tasks. The infrastructure provides a foundation for building continuation-based, declarative applications of various scale and complexity.
    Type: Grant
    Filed: May 27, 2016
    Date of Patent: March 13, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Kenneth D. Wolf, Edmund Samuel Victor Pinto, Robert Brian Schmidt, Donald F. Box, Geoffrey M. Kizer, Nathan C. Talbert, Kavita Kamani, Alberto Arias Maestro, David Robert Cliffe, Tirunelveli R. Vishwanath, HongMei Ge, Stephen Jared Maine, Alexander Martin DeJarnatt
  • Patent number: 9817857
    Abstract: Techniques are described herein that are capable of deep cloning (a.k.a. deep copying) objects using a binary format. A deep clone of a designated object includes references to other objects (and potentially copies of the other objects) included in the designated object. A binary representation of each object in an object graph is generated to provide a binary clone of the object graph. Objects created by a dynamic language engine are called dynamic language objects. Objects created by a host (e.g., that hosts the dynamic language engine) are called host objects. Each host object is associated with an intermediate representation thereof via a property bag that describes properties of that host object. Each intermediate representation is understandable by the dynamic language engine. A binary representation of each dynamic language object and each host object may be generated in accordance with the binary format to provide the binary clone.
    Type: Grant
    Filed: January 23, 2015
    Date of Patent: November 14, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Gaurav Seth, Jianchun Xu, Koundinya Veluri, Geoffrey M. Kizer
  • Patent number: 9760380
    Abstract: Aspects of the subject matter described herein relate to serializing and de-serializing objects. In aspects, a serialization engine uses a grammar to serialize data into a binary representation. The serialization engine may call upon a host serialization engine to serialize embedded object that are not directly supported by the environment hosting the serialization engine. The serialization engine may encode the grammar used to serialize the data into the serialized data for use in de-serializing the data. After the object is serialized, the serialized data may be de-serialized when desired by using the grammar. The grammar is such that it causes embedded objects and relationships to be preserved in the serialized representation of the object.
    Type: Grant
    Filed: March 14, 2012
    Date of Patent: September 12, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Gaurav Seth, Jianchun Xu, Geoffrey M. Kizer
  • Patent number: 9690604
    Abstract: A language-based model to support asynchronous operations set forth in a synchronous syntax is provided. The asynchronous operations are transformed in a compiler into an asynchronous pattern, such as an APM-based pattern (or asynchronous programming model based pattern). The ability to compose asynchronous operations comes from the ability to efficiently call asynchronous methods from other asynchronous methods, pause them and later resume them, and effectively implementing a single-linked stack. One example includes support for ordered and unordered compositions of asynchronous operations. In an ordered composition, each asynchronous operation is started and finished before another operation in the composition is started. In an unordered composition, each asynchronous operation is started and completed independently of the operations in the unordered composition.
    Type: Grant
    Filed: January 17, 2017
    Date of Patent: June 27, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Niklas Gustafsson, Geoffrey M. Kizer
  • Publication number: 20170168843
    Abstract: Methods, systems, and products are provided for thread-agile dynamic programming language (‘DPL’) program execution. Thread-agile DPL program execution may be carried out by receiving, in a message queue, a message for an instance of a DPL program and determining whether the host application has a stored state object for the instance of the DPL program identified by the message. If the host application has a stored state object for the DPL program, thread-agile DPL program execution may also carried out by retrieving the state object; preparing a thread available from a thread pool for execution of the instance of the DPL program in dependence upon the state object and an execution context for the instance of the DPL program; providing, to an execution engine for executing the DPL program, the state object and the prepared thread; and passing the message to the execution engine.
    Type: Application
    Filed: December 19, 2016
    Publication date: June 15, 2017
    Inventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
  • Publication number: 20170123776
    Abstract: A language-based model to support asynchronous operations set forth in a synchronous syntax is provided. The asynchronous operations are transformed in a compiler into an asynchronous pattern, such as an APM-based pattern (or asynchronous programming model based pattern). The ability to compose asynchronous operations comes from the ability to efficiently call asynchronous methods from other asynchronous methods, pause them and later resume them, and effectively implementing a single-linked stack. One example includes support for ordered and unordered compositions of asynchronous operations. In an ordered composition, each asynchronous operation is started and finished before another operation in the composition is started. In an unordered composition, each asynchronous operation is started and completed independently of the operations in the unordered composition.
    Type: Application
    Filed: January 17, 2017
    Publication date: May 4, 2017
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Niklas Gustafsson, Geoffrey M. Kizer
  • Patent number: 9547511
    Abstract: A language-based model to support asynchronous operations set forth in a synchronous syntax is provided. The asynchronous operations are transformed in a compiler into an asynchronous pattern, such as an APM-based pattern (or asynchronous programming model based pattern). The ability to compose asynchronous operations comes from the ability to efficiently call asynchronous methods from other asynchronous methods, pause them and later resume them, and effectively implementing a single-linked stack. One example includes support for ordered and unordered compositions of asynchronous operations. In an ordered composition, each asynchronous operation is started and finished before another operation in the composition is started. In an unordered composition, each asynchronous operation is started and completed independently of the operations in the unordered composition.
    Type: Grant
    Filed: June 5, 2009
    Date of Patent: January 17, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Niklas Gustafsson, Geoffrey M. Kizer
  • Patent number: 9529608
    Abstract: Methods, systems, and products are provided for thread-agile dynamic programming language (‘DPL’) program execution. Thread-agile DPL program execution may be carried out by receiving, in a message queue, a message for an instance of a DPL program and determining whether the host application has a stored state object for the instance of the DPL program identified by the message. If the host application has a stored state object for the DPL program, thread-agile DPL program execution may also carried out by retrieving the state object; preparing a thread available from a thread pool for execution of the instance of the DPL program in dependence upon the state object and an execution context for the instance of the DPL program; providing, to an execution engine for executing the DPL program, the state object and the prepared thread; and passing the message to the execution engine.
    Type: Grant
    Filed: March 13, 2014
    Date of Patent: December 27, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
  • Publication number: 20160274869
    Abstract: Interfaces for a continuation-based runtime. Some embodiments described herein are directed to a framework using continuation based runtime interface that pertain to an infrastructure for enabling the creation of a wide variety of continuation-based programs that perform a wide-array of tasks. The infrastructure provides a foundation for building continuation-based, declarative applications of various scale and complexity.
    Type: Application
    Filed: May 27, 2016
    Publication date: September 22, 2016
    Inventors: Kenneth D. Wolf, Edmund Samuel Victor Pinto, Robert Brian Schmidt, Donald F. Box, Geoffrey M. Kizer, Nathan C. Talbert, Kavita Kamani, Alberto Arias Maestro, David Robert Cliffe, Tirunelveli R. Vishwanath, HongMei Ge, Stephen Jared Maine, Alexander Martin DeJarnatt
  • Patent number: 9354847
    Abstract: Namespace for continuation-based runtime. Some embodiments described herein are directed to a framework using continuation based runtime namespaces that pertain to an infrastructure for enabling the creation of a wide variety of continuation-based programs that perform a wide-array of tasks. The infrastructure provides a foundation for building continuation-based, declarative applications of various scale and complexity. In some embodiments, the associated application programming interfaces (APIs) are factored into a hierarchy of namespaces in a manner that balances utility, usability, extensibility, and versionability.
    Type: Grant
    Filed: December 29, 2008
    Date of Patent: May 31, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Kenneth D. Wolf, Edmund Samuel Victor Pinto, Robert Brian Schmidt, Donald F. Box, Geoffrey M. Kizer, Nathan C. Talbert, Kavita Kamani, Alberto Arias Maestro, David Robert Cliffe, Tirunelveli R. Vishwanath, HongMei Ge, Stephen Jared Maine, Alexander Martin DeJarnatt
  • Publication number: 20150142854
    Abstract: Techniques are described herein that are capable of deep cloning (a.k.a. deep copying) objects using a binary format. A deep clone of a designated object includes references to other objects (and potentially copies of the other objects) included in the designated object. A binary representation of each object in an object graph is generated to provide a binary clone of the object graph. Objects created by a dynamic language engine are called dynamic language objects. Objects created by a host (e.g., that hosts the dynamic language engine) are called host objects. Each host object is associated with an intermediate representation thereof via a property bag that describes properties of that host object. Each intermediate representation is understandable by the dynamic language engine. A binary representation of each dynamic language object and each host object may be generated in accordance with the binary format to provide the binary clone.
    Type: Application
    Filed: January 23, 2015
    Publication date: May 21, 2015
    Inventors: Gaurav Seth, Jianchun Xu, Koundinya Veluri, Geoffrey M. Kizer
  • Patent number: 8954475
    Abstract: Techniques are described herein that are capable of deep cloning (a.k.a. deep copying) objects using a binary format. A deep clone of a designated object includes references to other objects (and potentially copies of the other objects) included in the designated object. A binary representation of each object in an object graph is generated to provide a binary clone of the object graph. Objects created by a dynamic language engine are called dynamic language objects. Objects created by a host (e.g., that hosts the dynamic language engine) are called host objects. Each host object is associated with an intermediate representation thereof via a property bag that describes properties of that host object. Each intermediate representation is understandable by the dynamic language engine. A binary representation of each dynamic language object and each host object may be generated in accordance with the binary format to provide the binary clone.
    Type: Grant
    Filed: November 10, 2011
    Date of Patent: February 10, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Gaurav Seth, Jianchun Xu, Koundinya Veluri, Geoffrey M. Kizer
  • Publication number: 20140196053
    Abstract: Methods, systems, and products are provided for thread-agile dynamic programming language (‘DPL’) program execution. Thread-agile DPL program execution may be carried out by receiving, in a message queue, a message for an instance of a DPL program and determining whether the host application has a stored state object for the instance of the DPL program identified by the message. If the host application has a stored state object for the DPL program, thread-agile DPL program execution may also carried out by retrieving the state object; preparing a thread available from a thread pool for execution of the instance of the DPL program in dependence upon the state object and an execution context for the instance of the DPL program; providing, to an execution engine for executing the DPL program, the state object and the prepared thread; and passing the message to the execution engine.
    Type: Application
    Filed: March 13, 2014
    Publication date: July 10, 2014
    Inventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
  • Patent number: 8694961
    Abstract: Methods are provided for thread-agile script execution. Thread-agile script execution may be carried out by receiving, in a message queue, a message for an instance of a script and determining whether the web browser has a stored state object for the instance of the script identified by the message. If the web browser has a stored state object for the script, thread-agile script execution may be carried out by retrieving the state object; preparing a thread available from a thread pool for execution of the instance of the script in dependence upon the state object and an execution context for the instance of the script; providing, to an execution engine for executing the script, the state object and the prepared thread; and passing the message to the execution engine.
    Type: Grant
    Filed: April 3, 2012
    Date of Patent: April 8, 2014
    Assignee: Microsoft Corporation
    Inventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
  • Publication number: 20130263087
    Abstract: Methods, systems, and products are provided for thread-agile dynamic programming language (‘DPL’) program execution. Thread-agile DPL program execution may be carried out by receiving, in a message queue, a message for an instance of a DPL program and determining whether the host application has a stored state object for the instance of the DPL program identified by the message. If the host application has a stored state object for the DPL program, thread-agile DPL program execution may also carried out by retrieving the state object; preparing a thread available from a thread pool for execution of the instance of the DPL program in dependence upon the state object and an execution context for the instance of the DPL program; providing, to an execution engine for executing the DPL program, the state object and the prepared thread; and passing the message to the execution engine.
    Type: Application
    Filed: April 3, 2012
    Publication date: October 3, 2013
    Applicant: Microsoft Corporation
    Inventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
  • Patent number: 8522260
    Abstract: The integration of two runtimes. The integration may be accomplished via the sharing of all or a portion of the environments of each of the runtimes with each other. For instance, as one runtime executes a particular application, control may be passed at an appropriate point to the second runtime. The second runtime may pass control back to the first runtime at an appropriate time. This passing of control between runtimes may happen perhaps a number of times during the execution of the application. The applications might be expressed entirely declaratively in a manner that integrates both runtimes as the application executes. Thus, the application may take advantage of the strengths of each runtime at the appropriate time.
    Type: Grant
    Filed: September 16, 2008
    Date of Patent: August 27, 2013
    Assignee: Microsoft Corporation
    Inventors: John David Doty, Geoffrey M. Kizer, Jeffrey C. Schlimmer
  • Publication number: 20130124573
    Abstract: Techniques are described herein that are capable of deep cloning (a.k.a. deep copying) objects using a binary format. A deep clone of a designated object includes references to other objects (and potentially copies of the other objects) included in the designated object. A binary representation of each object in an object graph is generated to provide a binary clone of the object graph. Objects created by a dynamic language engine are called dynamic language objects. Objects created by a host (e.g., that hosts the dynamic language engine) are called host objects. Each host object is associated with an intermediate representation thereof via a property bag that describes properties of that host object. Each intermediate representation is understandable by the dynamic language engine. A binary representation of each dynamic language object and each host object may be generated in accordance with the binary format to provide the binary clone.
    Type: Application
    Filed: November 10, 2011
    Publication date: May 16, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Gaurav Seth, Jianchun Xu, Koundinya Veluri, Geoffrey M. Kizer
  • Patent number: 8336035
    Abstract: Embodiments described herein are directed to allowing a user to extend the functionality of a software code interpretation system. In one embodiment, a computer system receives user-defined conversion rules from a user for converting dynamic language code to continuation-based abstract memory representations. The computer system identifies portions of software code that are to be converted from dynamic language abstract memory representations into continuation-based abstract memory representations, where the identified code portions include undefined, extensible input primitives. The computer system also generates a dynamic, extensible set of output primitives interpretable by a continuation-based code interpretation system using the received conversion rules and converts the identified code portions including the undefined, extensible input primitives from dynamic language abstract memory representations into continuation-based abstract memory representations using the generated set of output primitives.
    Type: Grant
    Filed: December 16, 2008
    Date of Patent: December 18, 2012
    Assignee: Microsoft Corporation
    Inventors: John Robert Lambert, Kenneth D. Wolf, Geoffrey M. Kizer
  • Patent number: 8276165
    Abstract: Activity callbacks in a continuation-based runtime. At framework-definition time, a framework activity is authored. The framework activity may have an environmental logic portion the processes input or output parameters whose values will be supplied to and/or received from an activity callback. The framework activity also includes a callback invocation portion that, during execution time, will actually provide parameter value(s) to and/or receive parameter value(s) from the activity callback. The framework activity serves as a framework that operates with any activity callback that has one or more characteristics. Such activity callbacks may not even be defined at framework-definition time. Instead, the framework activity may be used multiple times in the same applications, or in different applications to thereby provide core framework functionality, while allowing application developers to plug in activity callbacks that meet the custom needs of the application.
    Type: Grant
    Filed: May 29, 2008
    Date of Patent: September 25, 2012
    Assignee: Microsoft Corporation
    Inventors: Donald F. Box, Geoffrey M. Kizer, Kenneth David Wolf, Jeffrey C. Schlimmer, Edmund Samuel Victor Pinto