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: 8214340
    Abstract: An observation system includes mechanisms for efficiently tracking the state of source components, which include functions, arguments, or values, etc. In one implementation, an observing component requests that a source component processes a request. The observation system then identifies all possible components in a dependency chain for the request, and all such components that are configured for change notifications. A dependency registry stores a representation of each identified component that is configured for change notifications. Any time any component configured for change notifications changes, including indirectly related components, the observing component can be immediately notified of the change, without having to reprocess the entire set of component dependencies.
    Type: Grant
    Filed: January 28, 2011
    Date of Patent: July 3, 2012
    Assignee: Microsoft Corporation
    Inventors: Clemens A. Szyperski, Geoffrey M. Kizer, Joshua R. Williams, Anthony J. Moore
  • Patent number: 8191042
    Abstract: Declarative definition and composition of activities of a continuation based runtime. When formulating such a declarative activity of a continuation-based runtime, the activity may be formulated in accordance with a declarative activity schema and include a properties portion that declaratively defines one or more interface parameters of the declarative activity, and a body portion that declaratively defines an execution behavior of the declarative activity. The declarative activities may be hierarchically structured such that a parent declarative activity may use one or more child activities to define its behavior, where one or more of the child activities may also be defined declaratively.
    Type: Grant
    Filed: April 1, 2008
    Date of Patent: May 29, 2012
    Assignee: Microsoft Corporation
    Inventors: Edmund Samuel Victor Pinto, Kenneth David Wolf, Geoffrey M. Kizer, Donald F. Box
  • Patent number: 8181155
    Abstract: Allowing a continuation based runtime to resolve different types of location expressions, value expressions, and/or locations. This may be accomplished using a different class for each particular type. The location expression classes may each have a common method used for all of the location expression classes. The value expression classes may each have a common method, and the locations may also each have a common method. This allows the resolution of such location and value expressions to be treated in a unified fashion regardless of the type of location expression, or the type of value expression. Also, the location may be treated in a unified manner regardless of the type of location.
    Type: Grant
    Filed: February 29, 2008
    Date of Patent: May 15, 2012
    Assignee: Microsoft Corporation
    Inventors: Edmund Samuel Victor Pinto, Kenneth David Wolf, Robert Brian Schmidt, Nathan C. Talbert, Geoffrey M. Kizer
  • Publication number: 20110131191
    Abstract: An observation system includes mechanisms for efficiently tracking the state of source components, which include functions, arguments, or values, etc. In one implementation, an observing component requests that a source component processes a request. The observation system then identifies all possible components in a dependency chain for the request, and all such components that are configured for change notifications. A dependency registry stores a representation of each identified component that is configured for change notifications. Any time any component configured for change notifications changes, including indirectly related components, the observing component can be immediately notified of the change, without having to reprocess the entire set of component dependencies.
    Type: Application
    Filed: January 28, 2011
    Publication date: June 2, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Clemens A. Szyperski, Geoffrey M. Kizer, Joshua R. Williams, Anthony J. Moore
  • Patent number: 7899798
    Abstract: An observation system includes mechanisms for efficiently tracking the state of source components, which include functions, arguments, or values, etc. In one implementation, an observing component requests that a source component processes a request. The observation system then identifies all possible components in a dependency chain for the request, and all such components that are configured for change notifications. A dependency registry stores a representation of each identified component that is configured for change notifications. Any time any component configured for change notifications changes, including indirectly related components, the observing component can be immediately notified of the change, without having to reprocess the entire set of component dependencies.
    Type: Grant
    Filed: February 25, 2008
    Date of Patent: March 1, 2011
    Assignee: Microsoft Corporation
    Inventors: Clemens A. Szyperski, Geoffrey M. Kizer, Joshua R. Williams, Anthony J. Moore
  • Patent number: 7882120
    Abstract: Determining compatibility of data structures. A method may be practiced in a computing environment. The method includes accessing a first type defined in a mark-up object. The first type includes a first structure including a first plurality of fields. A second type defined in a mark-up object is accessed. The second type includes a second structure including a second plurality of fields. The first structure and the second structure are compared. Based on the comparison, a determination is made that the first type is compatible with the second type.
    Type: Grant
    Filed: January 14, 2008
    Date of Patent: February 1, 2011
    Assignee: Microsoft Corporation
    Inventors: Donald F. Box, Brian F. Chapman, Martin J. Gudgin, Michael J. Hillberg, Charles P. Jazdzewski, Natasha H. Jethanandani, Geoffrey M. Kizer, Robert A. Relyea, Jeffrey C. Schlimmer, Joel West
  • Patent number: 7860900
    Abstract: A signaling system of the present invention provides a synchronized approach to delivering, reporting, and/or otherwise processing status changes in a software dependency chain. In a first phase, the signaling system identifies all dependencies between software components, and further sets a binary indicator of each node in a first representation. After identifying any changes in a source node, the system (e.g., a value is updated), the system updates each binary indicator to a second setting. In a second phase, the system initiates all listeners in the dependency chain in an essentially progressive order from source node, to intermediate node, and end-node, etc. Once all listeners have had a chance to perform one or more processes based on the updated value, the system can discard the dependency graph, allowing a new dependency graph to be built for subsequent value changes.
    Type: Grant
    Filed: February 25, 2008
    Date of Patent: December 28, 2010
    Assignee: Microsoft Corporation
    Inventors: Clemens A. Szyperski, Geoffrey M. Kizer, Joshua R. Williams, John D. Doty
  • Publication number: 20100313184
    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: June 5, 2009
    Publication date: December 9, 2010
    Applicant: Microsoft Corporation
    Inventors: Niklas Gustafsson, Geoffrey M. Kizer
  • Publication number: 20100169862
    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: Application
    Filed: December 29, 2008
    Publication date: July 1, 2010
    Applicant: Microsoft Corporation
    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: 20100153930
    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: Application
    Filed: December 16, 2008
    Publication date: June 17, 2010
    Applicant: Microsoft Corporation
    Inventors: John Robert Lambert, Kenneth D. Wolf, Geoffrey M. Kizer
  • Publication number: 20100070983
    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: Application
    Filed: September 16, 2008
    Publication date: March 18, 2010
    Applicant: Microsoft Corporation
    Inventors: JOHN DAVID DOTY, Geoffrey M. Kizer, Jeffrey C. Schlimmer
  • Publication number: 20090300648
    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: Application
    Filed: May 29, 2008
    Publication date: December 3, 2009
    Applicant: Microsoft Corporation
    Inventors: Donald F. Box, Geoffrey M. Kizer, Kenneth David Wolf, Jeffrey C. Schlimmer, Edmund Samuel Victor Pinto
  • Publication number: 20090222794
    Abstract: Allowing a continuation based runtime to resolve different types of location expressions, value expressions, and/or locations. This may be accomplished using a different class for each particular type. The location expression classes may each have a common method used for all of the location expression classes. The value expression classes may each have a common method, and the locations may also each have a common method. This allows the resolution of such location and value expressions to be treated in a unified fashion regardless of the type of location expression, or the type of value expression. Also, the location may be treated in a unified manner regardless of the type of location.
    Type: Application
    Filed: February 29, 2008
    Publication date: September 3, 2009
    Applicant: Microsoft Corporation
    Inventors: Edmund Samuel Victor Pinto, Kenneth David Wolf, Robert Brian Schmidt, Nathan C. Talbert, Geoffrey M. Kizer
  • Publication number: 20090222827
    Abstract: Declarative definition and composition of activities of a continuation based runtime. When formulating such a declarative activity of a continuation-based runtime, the activity may be formulated in accordance with a declarative activity schema and include a properties portion that declaratively defines one or more interface parameters of the declarative activity, and a body portion that declaratively defines an execution behavior of the declarative activity. The declarative activities may be hierarchically structured such that a parent declarative activity may use one or more child activities to define its behavior, where one or more of the child activities may also be defined declaratively.
    Type: Application
    Filed: April 1, 2008
    Publication date: September 3, 2009
    Applicant: Microsoft Corporation
    Inventors: Edmund Samuel Victor Pinto, Kenneth David Wolf, Geoffrey M. Kizer, Donald F. Box
  • Publication number: 20090216793
    Abstract: A signaling system of the present invention provides a synchronized approach to delivering, reporting, and/or otherwise processing status changes in a software dependency chain. In a first phase, the signaling system identifies all dependencies between software components, and further sets a binary indicator of each node in a first representation. After identifying any changes in a source node, the system (e.g., a value is updated), the system updates each binary indicator to a second setting. In a second phase, the system initiates all listeners in the dependency chain in an essentially progressive order from source node, to intermediate node, and end-node, etc. Once all listeners have had a chance to perform one or more processes based on the updated value, the system can discard the dependency graph, allowing a new dependency graph to be built for subsequent value changes.
    Type: Application
    Filed: February 25, 2008
    Publication date: August 27, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Clemens A. Szyperski, Geoffrey M. Kizer, Joshua R. Williams, John D. Doty
  • Publication number: 20090216782
    Abstract: An observation system includes mechanisms for efficiently tracking the state of source components, which include functions, arguments, or values, etc. In one implementation, an observing component requests that a source component processes a request. The observation system then identifies all possible components in a dependency chain for the request, and all such components that are configured for change notifications. A dependency registry stores a representation of each identified component that is configured for change notifications. Any time any component configured for change notifications changes, including indirectly related components, the observing component can be immediately notified of the change, without having to reprocess the entire set of component dependencies.
    Type: Application
    Filed: February 25, 2008
    Publication date: August 27, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Clemens A. Szyperski, Geoffrey M. Kizer, Joshua R. Williams, Anthony J. Moore
  • Publication number: 20090182760
    Abstract: Determining compatibility of data structures. A method may be practiced in a computing environment. The method includes accessing a first type defined in a mark-up object. The first type includes a first structure including a first plurality of fields. A second type defined in a mark-up object is accessed. The second type includes a second structure including a second plurality of fields. The first structure and the second structure are compared. Based on the comparison, a determination is made that the first type is compatible with the second type.
    Type: Application
    Filed: January 14, 2008
    Publication date: July 16, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Donald F. Box, Brian F. Chapman, Martin J. Gudgin, Michael J. Hillberg, Charles P. Jazdzewski, Natasha H. Jethanandani, Geoffrey M. Kizer, Robert A. Relyea, Jeffrey C. Schlimmer, Joel West
  • Publication number: 20080320503
    Abstract: A server system in typical operation has a process manager, multiple listeners (each to receive requests for its protocols) and multiple worker processes that are each able to handle requests in multiple protocols. At server start-up, each listener connects with the process manager via a pipe published by the process manager. The listener then receives information via the process manager that includes information defining the application(s) for which that listener is to “listen” and associating application(s) to application pool(s). When the listener receives a request for such an application, the listener starts a queue for the associated application pool. The listener may use a hierarchical matching scheme to determine the associated application or application pool from the requested application. The process manager launches an appropriate worker process to handle requests in the listener's protocol. The worker process then makes a connection with the listener.
    Type: Application
    Filed: August 25, 2008
    Publication date: December 25, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Emily Kruglick, Geoffrey M. Kizer, Shai Kariv, Lance E. Olson, Erik B. Christensen, Kenneth D. Wolf, Dmitry Robsman, Shanku Shivabrata Niyogi
  • Patent number: 7467388
    Abstract: Allowing queue messages to be pulled by one or more applications. A method may be practiced, for example, in a computing environment including applications configured to receive messages from queues. The method includes correlating applications to queues by correlating queue names to application locations. A queue is monitored to discover new messages in the queue. The method further includes receiving a notification that a new message has been added to the queue. An indication is provided to an activation service to allow the activation service to activate an application correlated to the queue and to allow the application to pull the new message from the queue.
    Type: Grant
    Filed: November 22, 2005
    Date of Patent: December 16, 2008
    Assignee: Microsoft Corporation
    Inventors: David O. Driver, Geoffrey M. Kizer, Krishnan Srinivasan, Uday S. Hedge
  • Patent number: 7418709
    Abstract: A server system in typical operation has a process manager, multiple listeners (each to receive requests for its protocols) and multiple worker processes that are each able to handle requests in multiple protocols. At server start-up, each listener connects with the process manager via a pipe published by the process manager. The listener then receives information via the process manager that includes information defining the application(s) for which that listener is to “listen” and associating application(s) to application pool(s). When the listener receives a request for such an application, the listener starts a queue for the associated application pool. The listener may use a hierarchical matching scheme to determine the associated application or application pool from the requested application. The process manager launches an appropriate worker process to handle requests in the listener's protocol. The worker process then makes a connection with the listener.
    Type: Grant
    Filed: August 31, 2004
    Date of Patent: August 26, 2008
    Assignee: Microsoft Corporation
    Inventors: Emily Kruglick, Geoffrey M. Kizer, Shai Kariv, Lance E. Olson, Erik B. Christensen, Kenneth D. Wolf, Dmitry Robsman, Shanku Shivabrata Niyogi