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: 10417011Abstract: 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: GrantFiled: December 19, 2016Date of Patent: September 17, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
-
Patent number: 9916136Abstract: 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: GrantFiled: May 27, 2016Date of Patent: March 13, 2018Assignee: Microsoft Technology Licensing, LLCInventors: 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: 9817857Abstract: 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: GrantFiled: January 23, 2015Date of Patent: November 14, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Gaurav Seth, Jianchun Xu, Koundinya Veluri, Geoffrey M. Kizer
-
Patent number: 9760380Abstract: 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: GrantFiled: March 14, 2012Date of Patent: September 12, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Gaurav Seth, Jianchun Xu, Geoffrey M. Kizer
-
Patent number: 9690604Abstract: 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: GrantFiled: January 17, 2017Date of Patent: June 27, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Niklas Gustafsson, Geoffrey M. Kizer
-
Publication number: 20170168843Abstract: 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: ApplicationFiled: December 19, 2016Publication date: June 15, 2017Inventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
-
Publication number: 20170123776Abstract: 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: ApplicationFiled: January 17, 2017Publication date: May 4, 2017Applicant: Microsoft Technology Licensing, LLCInventors: Niklas Gustafsson, Geoffrey M. Kizer
-
Patent number: 9547511Abstract: 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: GrantFiled: June 5, 2009Date of Patent: January 17, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Niklas Gustafsson, Geoffrey M. Kizer
-
Patent number: 9529608Abstract: 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: GrantFiled: March 13, 2014Date of Patent: December 27, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
-
Publication number: 20160274869Abstract: 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: ApplicationFiled: May 27, 2016Publication date: September 22, 2016Inventors: 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: 9354847Abstract: 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: GrantFiled: December 29, 2008Date of Patent: May 31, 2016Assignee: Microsoft Technology Licensing, LLCInventors: 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: 20150142854Abstract: 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: ApplicationFiled: January 23, 2015Publication date: May 21, 2015Inventors: Gaurav Seth, Jianchun Xu, Koundinya Veluri, Geoffrey M. Kizer
-
Patent number: 8954475Abstract: 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: GrantFiled: November 10, 2011Date of Patent: February 10, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Gaurav Seth, Jianchun Xu, Koundinya Veluri, Geoffrey M. Kizer
-
Publication number: 20140196053Abstract: 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: ApplicationFiled: March 13, 2014Publication date: July 10, 2014Inventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
-
Patent number: 8694961Abstract: 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: GrantFiled: April 3, 2012Date of Patent: April 8, 2014Assignee: Microsoft CorporationInventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
-
Publication number: 20130263087Abstract: 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: ApplicationFiled: April 3, 2012Publication date: October 3, 2013Applicant: Microsoft CorporationInventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
-
Patent number: 8522260Abstract: 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: GrantFiled: September 16, 2008Date of Patent: August 27, 2013Assignee: Microsoft CorporationInventors: John David Doty, Geoffrey M. Kizer, Jeffrey C. Schlimmer
-
Publication number: 20130124573Abstract: 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: ApplicationFiled: November 10, 2011Publication date: May 16, 2013Applicant: MICROSOFT CORPORATIONInventors: Gaurav Seth, Jianchun Xu, Koundinya Veluri, Geoffrey M. Kizer
-
Patent number: 8336035Abstract: 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: GrantFiled: December 16, 2008Date of Patent: December 18, 2012Assignee: Microsoft CorporationInventors: John Robert Lambert, Kenneth D. Wolf, Geoffrey M. Kizer
-
Patent number: 8276165Abstract: 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: GrantFiled: May 29, 2008Date of Patent: September 25, 2012Assignee: Microsoft CorporationInventors: Donald F. Box, Geoffrey M. Kizer, Kenneth David Wolf, Jeffrey C. Schlimmer, Edmund Samuel Victor Pinto