Patents by Inventor Kenneth D. Wolf

Kenneth D. Wolf 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).

  • 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
  • Patent number: 9122461
    Abstract: Partitioning continuation based runtime programs. Embodiments may include differentiating activities of a continuation based runtime program between public children activities and implementation children activities. The continuation based runtime program is partitioned into visibility spaces. The visibility spaces have boundaries based on implementation children activities. The continuation based runtime program is partially processes at a visibility space granularity.
    Type: Grant
    Filed: December 11, 2009
    Date of Patent: September 1, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nathan C. Talbert, Kenneth D. Wolf, Edmund Samuel Victor Pinto
  • Publication number: 20150143334
    Abstract: A rendezvous abstraction that is used to correlate messages within message exchange. The rendezvous abstraction may be instantiated to correlate messages regardless of the type of message exchange pattern, and regardless of the underlying protocols used to communication message. Messages exchanges of primitive protocols are modeled as unilateral message exchanges. The rendezvous abstraction is used to correlate messages of the unilateral message exchange, and serves as an abstraction that is used to represented the rendezvous point where the message of the message exchange pattern are handled. Accordingly, instead of focusing on the protocol-specific mechanisms for correlation, if even available, the application author may simply work with a standard rendezvous abstraction.
    Type: Application
    Filed: October 20, 2014
    Publication date: May 21, 2015
    Inventors: Edmund Samuel Victor Pinto, Kenneth D. Wolf, Nicholas A. Allen, Stefan Batres, Justin David Brown, Donald F. Box
  • Patent number: 8898144
    Abstract: Processing messages. Messages are processed based on a characteristic derived from information in messages, metadata about messages, or other information external to messages. Values for one or more pieces of information are received. At least one of the values for one or more pieces of information is associated with a first message. Queries are received. The queries specify one or more of the pieces of information. At least a portion of the plurality of values for the one or more pieces of information is processed in conjunction with the one or more queries to create one or more normalized characteristics for the first message. The one or more normalized characteristics for the first message are in a same format irrespective of the format of the pieces of information. The first message, and/or other messages, is processed based on at least one of the one or more normalized characteristics.
    Type: Grant
    Filed: June 20, 2013
    Date of Patent: November 25, 2014
    Assignee: Microsoft Corporation
    Inventors: Nicholas A. Allen, Stefan R. Batres, Justin D. Brown, Jayteerth N. Katti, Stephen Maine, Edmund S. V. Pinto, Kenneth D. Wolf
  • Patent number: 8868532
    Abstract: A rendezvous abstraction that is used to correlate messages within message exchange. The rendezvous abstraction may be instantiated to correlate messages regardless of the type of message exchange pattern, and regardless of the underlying protocols used to communication message. Messages exchanges of primitive protocols are modeled as unilateral message exchanges. The rendezvous abstraction is used to correlate messages of the unilateral message exchange, and serves as an abstraction that is used to represented the rendezvous point where the message of the message exchange pattern are handled. Accordingly, instead of focusing on the protocol-specific mechanisms for correlation, if even available, the application author may simply work with a standard rendezvous abstraction.
    Type: Grant
    Filed: August 8, 2008
    Date of Patent: October 21, 2014
    Assignee: Microsoft Corporation
    Inventors: Edmund Samuel Victor Pinto, Kenneth D. Wolf, Nicholas A. Allen, Stefan Batres, Justin David Brown
  • Patent number: 8869107
    Abstract: Techniques are described herein that are capable of executing a computer program in accordance with a declarative dynamic control flow in a continuation-based runtime. A declarative dynamic control flow identifies a set of continuations. A representation of logic that corresponds to the declarative dynamic control flow is provided in accordance with execution of the computer program in the continuation-based runtime. The declarative dynamic control flow identifies a set of continuations. Each continuation identifies a respective rule, which defines a respective event, and a respective action, which is to be performed upon occurrence of the respective event. A determination is made that a specified event occurs. The set of continuations is dynamically modified based on occurrence of the specified event.
    Type: Grant
    Filed: January 12, 2012
    Date of Patent: October 21, 2014
    Assignee: Microsoft Corporation
    Inventors: John A. Taylor, Leon E. Welicki, Kenneth D. Wolf, Justin D. Brown
  • Patent number: 8856454
    Abstract: Interaction between a client and a service in which the service responds to requests from the client. In addition to responding to specific client requests, the service also anticipates or speculates about what the client may request in the future. Rather than await the client request (that may or may not ultimately be made), the service provides the unrequested anticipatory data to the client in the same data stream as the response data that actual responds to the specific client requests. The client may then use the anticipatory data to fully or partially respond to future requests from the client, if the client does make the request anticipated by the service. Thus, in some cases, latency may be reduced when responding to requests in which anticipatory data has already been provided. The service may give priority to the actual requested data, and gives secondary priority to the anticipatory data.
    Type: Grant
    Filed: June 24, 2013
    Date of Patent: October 7, 2014
    Assignee: Microsoft Corporation
    Inventors: Nicholas Alexander Allen, Kenneth D. Wolf
  • Patent number: 8806142
    Abstract: Interaction between a client and a service in which the service responds to requests from the client. In addition to responding to specific client requests, the service also anticipates or speculates about what the client may request in the future. Rather than await the client request (that may or may not ultimately be made), the service provides the unrequested anticipatory data to the client in the same data stream as the response data that actual responds to the specific client requests. The client may then use the anticipatory data to fully or partially respond to future requests from the client, if the client does make the request anticipated by the service. Thus, in some cases, latency may be reduced when responding to requests in which anticipatory data has already been provided. The service may give priority to the actual requested data, and gives secondary priority to the anticipatory data.
    Type: Grant
    Filed: June 24, 2013
    Date of Patent: August 12, 2014
    Assignee: Microsoft Corporation
    Inventors: Nicholas Alexander Allen, Kenneth D. Wolf
  • Patent number: 8739183
    Abstract: Embodiments described herein provide for allowing processing code of a message to attach state thereto. More specifically, as a SOAP message is processed, various states known as properties (e.g., message security, message identifier, etc.) can be attached to the message for various purposes. In other words, embodiments provide for a properties object that represents a set of processing-level annotations to a message. These properties (representing the processing state of the headers or other portions of the message) can then be used by other component or modules for further processing purposes. Typically, these properties can then be removed (or sustained if desired) prior to transporting the SOAP message on the wire.
    Type: Grant
    Filed: April 15, 2013
    Date of Patent: May 27, 2014
    Assignee: Microsoft Corporation
    Inventors: Douglas M. Purdy, Erik B. Christensen, Kenneth D. Wolf, Elliot L. Waingold
  • Patent number: 8719841
    Abstract: The present invention extends to methods, systems, and computer program products for coordinating application state and communication medium state. Embodiments of the invention provide mechanisms by which a dispatcher can enable application code to coordinate changes in application state with the consumption of messages from a communication medium. The coordination can be automatic where the dispatcher performs the coordination, or manual, where the coordination is performed more expressly by application code. Embodiments also include mechanisms by which applications targeting an execution (e.g., continuation based) runtime may compose alternative state transitions in the application with a peek lock protocol.
    Type: Grant
    Filed: October 23, 2009
    Date of Patent: May 6, 2014
    Assignee: Microsoft Corporation
    Inventors: Edmund Samuel Victor Pinto, Nicholas A. Allen, Karthik Raman, Kenneth D. Wolf
  • Patent number: 8689239
    Abstract: In one embodiment, a computer system accesses an event associated with an activity, where the activity has been executed by a runtime as part of a software application. The runtime includes a software hook configured to listen for event stream operation indications from the user. The computer system tags the accessed event with an additional portion of identification information that uniquely identifies the executed activity. The computer system receives an event stream operation indication from the user indicating that event transmission for an identified event stream is to be dynamically enabled or disabled and identifies the user-indicated event stream using the tagged identification information. The computer system also dynamically performs the indicated event stream operation on the identified event stream according to the user's indication.
    Type: Grant
    Filed: May 20, 2009
    Date of Patent: April 1, 2014
    Assignee: Microsoft Corporation
    Inventors: John Anthony Taylor, Igor Sedukhin, Gilles C. J. A. Zunino, Amol Sudhakar Kulkarni, Haoran Andy Wu, Sumit Mohanty, Kenneth D. Wolf, Timothy Glenn MacNary, Michael Josef Krejcik
  • Patent number: 8683432
    Abstract: In an embodiment, a computer system instantiates a parent activity configured for execution in a continuation based runtime. The parent activity includes various child activities configured to perform pulses of work. The parent activity is also configured to add execution properties to an execution context. The computer system adds execution properties to the parent activity's execution context to generate a modified execution context which includes execution properties that extend the functionality of the parent and child activities. The added execution properties include corresponding identifiers that identify the added execution properties. The computer system also executes the parent activity including the various child activities within the modified execution context in the continuation based runtime.
    Type: Grant
    Filed: March 20, 2009
    Date of Patent: March 25, 2014
    Assignee: Microsoft Corporation
    Inventors: Nathan C. Talbert, Kenneth D. Wolf
  • Publication number: 20130290469
    Abstract: Interaction between a client and a service in which the service responds to requests from the client. In addition to responding to specific client requests, the service also anticipates or speculates about what the client may request in the future. Rather than await the client request (that may or may not ultimately be made), the service provides the unrequested anticipatory data to the client in the same data stream as the response data that actual responds to the specific client requests. The client may then use the anticipatory data to fully or partially respond to future requests from the client, if the client does make the request anticipated by the service. Thus, in some cases, latency may be reduced when responding to requests in which anticipatory data has already been provided. The service may give priority to the actual requested data, and gives secondary priority to the anticipatory data.
    Type: Application
    Filed: June 24, 2013
    Publication date: October 31, 2013
    Inventors: Nicholas Alexander Allen, Kenneth D. Wolf
  • Publication number: 20130282986
    Abstract: Interaction between a client and a service in which the service responds to requests from the client. In addition to responding to specific client requests, the service also anticipates or speculates about what the client may request in the future. Rather than await the client request (that may or may not ultimately be made), the service provides the unrequested anticipatory data to the client in the same data stream as the response data that actual responds to the specific client requests. The client may then use the anticipatory data to fully or partially respond to future requests from the client, if the client does make the request anticipated by the service. Thus, in some cases, latency may be reduced when responding to requests in which anticipatory data has already been provided. The service may give priority to the actual requested data, and gives secondary priority to the anticipatory data.
    Type: Application
    Filed: June 24, 2013
    Publication date: October 24, 2013
    Inventors: Nicholas Alexander Allen, Kenneth D. Wolf
  • Publication number: 20130282655
    Abstract: Processing messages. Messages are processed based on a characteristic derived from information in messages, metadata about messages, or other information external to messages. Values for one or more pieces of information are received. At least one of the values for one or more pieces of information is associated with a first message. Queries are received. The queries specify one or more of the pieces of information. At least a portion of the plurality of values for the one or more pieces of information is processed in conjunction with the one or more queries to create one or more normalized characteristics for the first message. The one or more normalized characteristics for the first message are in a same format irrespective of the format of the pieces of information. The first message, and/or other messages, is processed based on at least one of the one or more normalized characteristics.
    Type: Application
    Filed: June 20, 2013
    Publication date: October 24, 2013
    Inventors: Nicholas A. Allen, Stefan R. Batres, Justin D. Brown, Jayteerth N. Katti, Stephen Maine, Edmund S.V. Pinto, Kenneth D. Wolf
  • Patent number: 8533357
    Abstract: A mechanism for sending structured data using a corresponding byte stream. Upon accessing structured data such as a Simple Object Access Protocol (SOAP) envelope, a byte stream is generated. The byte stream includes bytes that represent the structured data, as well as a collection of bytes that represents properties about the byte stream such as, for example, a mode of communication. The byte stream may then be passed to a communication module (e.g., a TCP or Named Pipes module) capable of receiving and transmitting the byte stream.
    Type: Grant
    Filed: December 3, 2004
    Date of Patent: September 10, 2013
    Assignee: Microsoft Corporation
    Inventors: Kenneth D. Wolf, Michael Steven Vernal, Christopher G. Kaler, Elliot Lee Waingold, Erik Bo Christensen, Jeffrey C. Schlimmer, Martin James Gudgin, Siddhartha Puri
  • Publication number: 20130232226
    Abstract: Embodiments described herein provide for allowing processing code of a message to attach state thereto. More specifically, as a SOAP message is processed, various states known as properties (e.g., message security, message identifier, etc.) can be attached to the message for various purposes. In other words, embodiments provide for a properties object that represents a set of processing-level annotations to a message. These properties (representing the processing state of the headers or other portions of the message) can then be used by other component or modules for further processing purposes. Typically, these properties can then be removed (or sustained if desired) prior to transporting the SOAP message on the wire.
    Type: Application
    Filed: April 15, 2013
    Publication date: September 5, 2013
    Applicant: Microsoft Corporation
    Inventors: Douglas M. Purdy, Erik B. Christensen, Kenneth D. Wolf, Elliot L. Waingold
  • Publication number: 20130185694
    Abstract: Techniques are described herein that are capable of executing a computer program in accordance with a declarative dynamic control flow in a continuation-based runtime. A declarative dynamic control flow identifies a set of continuations. A representation of logic that corresponds to the declarative dynamic control flow is provided in accordance with execution of the computer program in the continuation-based runtime. The declarative dynamic control flow identifies a set of continuations. Each continuation identifies a respective rule, which defines a respective event, and a respective action, which is to be performed upon occurrence of the respective event. A determination is made that a specified event occurs. The set of continuations is dynamically modified based on occurrence of the specified event.
    Type: Application
    Filed: January 12, 2012
    Publication date: July 18, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: John A. Taylor, Leon E. Welicki, Kenneth D. Wolf, Justin D. Brown
  • Patent number: 8473455
    Abstract: Messages are processed based on a characteristic derived from information in messages, metadata about messages, or other information external to messages. Values for one or more pieces of information are received. At least one of the values for one or more pieces of information is associated with a first message. Queries are received. The queries specify one or more of the pieces of information. At least a portion of the plurality of values for the one or more pieces of information is processed in conjunction with the one or more queries to create one or more normalized characteristics for the first message. The one or more normalized characteristics for the first message are in a same format irrespective of the format of the pieces of information. The first message, and/or other messages, is processed based on at least one of the one or more normalized characteristics.
    Type: Grant
    Filed: September 3, 2008
    Date of Patent: June 25, 2013
    Assignee: Microsoft Corporation
    Inventors: Nicholas A. Allen, Stefan R. Batres, Justin D. Brown, Jayteerth N. Katti, Stephen Maine, Edmund S. V. Pinto, Kenneth D. Wolf