Patents by Inventor John Wesley Dyer

John Wesley Dyer 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: 20110191784
    Abstract: Methods, systems, and computer-readable media of processing observable events using join patterns are disclosed. A particular method includes receiving a first notification indicating an occurrence of a first observable event and a second notification indicating an occurrence of a second observable event. The method also includes determining that the first and second notifications satisfy a join pattern. The method may further include taking one or more actions in response to determining that the join pattern has been satisfied.
    Type: Application
    Filed: February 2, 2010
    Publication date: August 4, 2011
    Applicant: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Claudio Vittorio Russo
  • Publication number: 20110173621
    Abstract: A library of operators is provided for performing operations on push-based streams. The library may be implemented in a computing device. The library may be stored on a tangible machine-readable medium and may include instructions to be executed by one or more processors of a computing device. The library of operators may include groups of operators for performing various types of operations regarding push-based streams. The groups of operators may include, but not be limited to, standard sequence operators, other sequence operators, time operators, push-based operators, asynchronous operators, exception operators, functional operators, context operators, and event-specific operators.
    Type: Application
    Filed: January 13, 2010
    Publication date: July 14, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Jeffrey van Gogh, Danny van Velzen, Brian Beckman, Mark Shields
  • Publication number: 20110145734
    Abstract: A method for processing a computer action using a processor. The method includes receiving a first request to perform a first computer action, performing the first computer action and producing a first class representation of the first computer action.
    Type: Application
    Filed: December 10, 2009
    Publication date: June 16, 2011
    Applicant: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer
  • Publication number: 20110138403
    Abstract: Methods and devices are provided for defining push-based standard sequence operators based on respective duals of corresponding pull-based standard sequence operators. A push-based application program interface (API) may be defined based on mathematical duals of a corresponding pull-based API. The push-based API may include a library of routines, which further may include push-based standard sequence operators defined based on deriving mathematical duals of corresponding pull-based standard sequence operators. A protocol for processing a push-based collection may be defined as a mathematical dual of a protocol for processing a pull-based collection. In various embodiments, mathematical duality with respect to synchronous, pull-based, collections may be exploited to define operators for processing asynchronous push-based collections.
    Type: Application
    Filed: December 8, 2009
    Publication date: June 9, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Dragos A. Manolescu
  • Publication number: 20110107392
    Abstract: Architecture that a mathematical duality established herein between an asynchronous observable design pattern and a synchronous iterator design pattern. This provides a mechanism for processing multiple observable collection and asynchronous values associated with those collections, including situations where a single observable collection is directed to multiple subscribers or multiple observable collections are directed to a single subscriber. Operators are presented that facilitate multi-collection processing based on this proven duality. As a result of this duality concurrent asynchronous and event-driven programs can be elegantly formulated. Consequently, asynchronous and event-based programming can now be unified into single conceptual framework, based on sound mathematical principles such as monads and duality.
    Type: Application
    Filed: November 5, 2009
    Publication date: May 5, 2011
    Applicant: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer
  • Publication number: 20100325607
    Abstract: A compiler deployed as a component of an integrated development environment (“IDE”) is adapted to transform source code into target code that is correct by construction by complying with approved patterns described by an external configuration file which is utilized to parameterize the generation of the target code by a code generator. The approved patterns can express various design requirements, guidelines, policies, and the like that are acceptable for the target code to include as well as those which are unacceptable. A rules generator that applies regular tree grammar is configured to encapsulate the approved patterns in the external configuration file using a formal description that is machine-readable by the code generator. A source code translator is alternatively utilized to transform non-compliant source code into compliant source code that adheres to the approved patterns.
    Type: Application
    Filed: June 17, 2009
    Publication date: December 23, 2010
    Applicant: Microsoft Corporation
    Inventors: Erik Meijer, John Wesley Dyer
  • Publication number: 20100131921
    Abstract: Conversions can be applied to various asynchronous and/or concurrent mechanisms. In particular, such mechanism can be transformed into first-class events to facilitate processing with respect to first-class events including but not limited to querying. Both conventional events and asynchronous computations can be transformed to these events, for example by generating and linking a proxy event thereto.
    Type: Application
    Filed: November 25, 2008
    Publication date: May 27, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: John Wesley Dyer, Henricus Johannes Maria Meijer, Danny Van Velzen, Jeffrey Van Gogh, Mark Brian Shields
  • Publication number: 20100131556
    Abstract: Event processing is transformed into query processing. Furthermore, asynchronous computation can be modeled as an event processing. Moreover, any computation that is or can be represented as push-based can be unified under an event-based processing approach subject to processing with query operators. Query processing can be performed with respect to one or more streams of events, wherein events identify a response to a raised value, among other things.
    Type: Application
    Filed: November 25, 2008
    Publication date: May 27, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Jeffrey Van Gogh
  • Publication number: 20100131743
    Abstract: Event-based processing is employed in conjunction with lazy and stateless events. Addition of any handlers is deferred until a user-specified handler is identified. Furthermore, event handlers can be composed at this time including the same properties as underlying events. More specifically, handlers specified on composite events can be composed and propagated up to a one or more related source events. As a result, handlers are not accumulated on composite events thereby making them stateless while allowing equivalent functionality upon invocation of the composed top-level handler.
    Type: Application
    Filed: November 25, 2008
    Publication date: May 27, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Jeffrey Van Gogh, Mark Brian Shields
  • Publication number: 20100131745
    Abstract: An event-driven system enables handlers to be specified for success and failure, among other things. In other words, events can be explicitly encoded with an option of returning either a success or a failure result. In this manner, asynchronous programming and events can be unified. Multiple event streams can be employed to represent success and/or exceptional values. Alternatively, a disjoint union of regular and exceptional values can be employed with respect to a single event stream.
    Type: Application
    Filed: November 25, 2008
    Publication date: May 27, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Jeffrey Van Gogh
  • Publication number: 20100057822
    Abstract: An inverse transformation and/or identification thereof is transmitted to a receiver to enable interpretation of transformed data. Rather than requiring installation of a transform on a sender and an inverse transform on a receiver prior to communication, an appropriate inverse transformation can be provided to and executed by a receiving component as needed. In accordance with one aspect, a transformation and associated inverse are selected dynamically as a function of context to minimize or maximize some parameter, for instance.
    Type: Application
    Filed: August 27, 2008
    Publication date: March 4, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Dragos A. Manolescu, John Wesley Dyer, Henricus Johannes Maria Meijer
  • Publication number: 20100037213
    Abstract: Parsing functionality is automatically generated. In particular, abstract syntax tree types and/or other programmatic constructs are created automatically from a grammar specification in a manner that resembles hand-written code. An abstract syntax tree can subsequently be constructed as a function of the generated types. Further, a plurality of supporting functionality can be generated to consume or produce abstract syntax tree types, among other things.
    Type: Application
    Filed: August 7, 2008
    Publication date: February 11, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Thomas Meschter, Cyrus Najmabadi
  • Publication number: 20100037212
    Abstract: Immutable structures are employed to effect immutable parsing. In particular, an immutable parsing configuration, comprising a stack and lookahead buffer, is utilized by a parser to perform lexical and syntactical analysis of an input stream and optionally output an immutable parse tree or the like. Performance with respect to the immutable structures can be optimized utilizing sharing and lazy computation. In turn, immutability benefits are afforded with respect to parsing including safe sharing amongst services and/or across multiple threads as well as history preservation, among other things.
    Type: Application
    Filed: August 7, 2008
    Publication date: February 11, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Thomas Meschter, Cyrus Najmabadi
  • Publication number: 20100024030
    Abstract: Data transformation is lazily performed to facilitate reduced memory footprint, among other things. Rather than constituting an entire data structure, information is saved to enable iterative construction the structure. Moreover, an interface is afforded that appears to operate over a fully resolved structure but which is implemented on top of a restartable transformation mechanism that computes values in response to requests. These computed values could also be released based on one or more configurable policies.
    Type: Application
    Filed: July 23, 2008
    Publication date: January 28, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Thomas Meschter, Cyrus Najmabadi
  • Publication number: 20100023798
    Abstract: Error recovery and diagnosis is afforded for pushdown automata. Upon detection of an error, a recovery strategy is selected and dispatched to recover from the error to place an automaton in an error free state to enable continued processing. In one instance, recovery strategies can be specified and matched with respect to automaton configuration. Errors can be diagnosed as a function of the difference between a first error configuration and a second recovered configuration.
    Type: Application
    Filed: July 25, 2008
    Publication date: January 28, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Thomas Meschter, Cyrus Najmabadi
  • Publication number: 20100023924
    Abstract: Parse tables or like representations are augmented with extension points to enable call out to arbitrary code. Such parse tables can be automatically generated from a specification including fixed information along with information about extensibility points provided. The extensibility points enable incorporation of dynamic data into a fixed parse table. In one instance, this allows a parser to determine if a character is acceptable at the time of execution rather than when the parse table was defined.
    Type: Application
    Filed: July 23, 2008
    Publication date: January 28, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Thomas Meschter, Cyrus Najmabadi
  • Publication number: 20100010801
    Abstract: A plethora of strategies is afforded to facilitate conflict resolution and error recovery with respect to parsing, among other things. Grammar authors can select amongst a range of strategies or options on a case-by-case basis to address conflicts, ambiguities, errors, and the like. The strategies can be either static or dynamic. In one instance, code external to a parsing system can be invoked to resolve conflicts or recover from errors, and further enable change of strategy without requiring modification of the parser. Interaction between the parsing system and the external code can also be formalized to ensure general type safety of the system.
    Type: Application
    Filed: July 11, 2008
    Publication date: January 14, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Thomas Meschter, Cyrus Najmabadi
  • Publication number: 20090328016
    Abstract: Expression tree versatility and applicability are enhanced to facilitate programming across various program languages and execution contexts. An expression tree can represent programmatic code as data in a representation common to multiple process mechanisms. As a result, entire programs or portions thereof can be captured and processed by a numerous common language components. Further, language specific concepts can be reduced to the common representation to enable language independent employment.
    Type: Application
    Filed: June 27, 2008
    Publication date: December 31, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Timothy Yat Tim Ng, Robert Elliott Viehland, James Hugunin, Samuel Y. Ng, Matthew J. Warren, Anders Hejlsberg, Henricus Johannes Maria Meijer, John Wesley Dyer, Avner Y. Aharoni, John Benjamin Messerly, Martin Maly, William P. Chiles, Mads Torgersen
  • Publication number: 20090276795
    Abstract: Computer-based machines can be modeled after a virtual automaton. The virtual automaton defines processes that are not bound statically to particular behavior but rather perform a lookup at runtime to bind behavior to a specific process mechanism. In accordance with one aspect, binding can be dependent upon runtime context information such as object type. Instances of virtual automaton are provided in the context of graph processing including serialization of object graphs and scanning/parsing, among others.
    Type: Application
    Filed: April 30, 2008
    Publication date: November 5, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: John Wesley Dyer, Brian C. Beckman, Henricus Johannes Maria Meijer, Jeffrey Van Gogh
  • Publication number: 20090265719
    Abstract: Method interception is utilized to generate macros. A recorder is injected within application code. The recorder intercepts a call to a method, captures information, and calls the original method. A macro can be generated subsequently as a function of the captured information. In one instance, macros can be utilized to test the application code. Additionally, information capture and ultimately macro generation can be combined with a tier splitting mechanism.
    Type: Application
    Filed: April 18, 2008
    Publication date: October 22, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, Jeffrey Van Gogh, John Wesley Dyer