Patents by Inventor David Wortendyke

David Wortendyke 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: 7950023
    Abstract: The present invention extends utilizing abstract descriptions to generate, exchange, and configure service and client runtimes. A computer system parses compiled code and potentially optional configuration information for implementing a service and converts the compiled code and any configuration information into an abstract service description. The abstract service description can then be converted into code document object model and service configuration information or exported as metadata. A corresponding service runtime can be initiated by calling a service initializer included in the abstract service description. The code document object model and configuration information and/or metadata can be transferred to another computer system. The other computer system can utilize the code document object model and configuration information and/or import the metadata to facilitate initialization of a compatible channel for communicating with the service runtime.
    Type: Grant
    Filed: February 4, 2005
    Date of Patent: May 24, 2011
    Assignee: Microsoft Corporation
    Inventors: Jesus Ruiz Scougall, Ryan Thomas Sturgell, Michael Jon Marucheck, Alex DeJarnett, Stephen T. Swartz, Michael Steven Vernal, Eric K. Zinda, Stephen J. Millet, David A. Wortendyke
  • Patent number: 7949787
    Abstract: Systems and methods for open content model Web service messaging in a networked computing environment are described. In one aspect, a transport neutral message is generated that includes message recipient, endpoint addressing information, and one or more reference properties. The reference properties include selectively opaque message context. The transport neutral message is bound to a transport protocol for communication to the message recipient. At least a portion of the selectively opaque message context is not directed to the message recipient.
    Type: Grant
    Filed: March 15, 2004
    Date of Patent: May 24, 2011
    Assignee: Microsoft Corporation
    Inventors: Donald F. Box, Christopher G. Kaler, David E. Langworthy, Steven E. Lucco, John Shewchuk, Luis Felipe Cabrera, Craig A Critchley, Geary L. Eppley, Bradford H. Lovering, Jeffrey C. Schlimmer, David Wortendyke, Henrik F. Nielsen
  • Patent number: 7921216
    Abstract: The present invention provides for an automated, user friendly way of constructing and using a binding object. A developer is presented with and selects binding elements that will ultimately be used to create a runtime communication channel for transporting a message between a client and service endpoint. After receiving the user input, metadata, a channel factory and listener factory are created. The metadata describes binding elements and provides an abstract representation of a protocol stack that implements communication aspects at runtime. The channel factory is configured to use the collection of metadata at runtime to generate the runtime communication channel. Further, the listener factory is configured to accept the runtime communication channel for de-multiplexing the communication aspects in order to process the message at a service endpoint. The present invention also provides for groupings of binding elements and standardized binding objects organized based on industry need.
    Type: Grant
    Filed: February 1, 2005
    Date of Patent: April 5, 2011
    Assignee: Microsoft Corporation
    Inventors: Craig A. Critchley, David A. Wortendyke, Elliot L. Waingold, Eric K. Zinda, Erik B. Christensen, Giovanni M. Della-Libera, Kenneth D. Wolf, Michael S. Vernal, Shy Cohen, Stefan H. Pharies, Stephen J. Millet, Stephen T. Swartz, Tomasz Janczuk, Uday S. Hegde, Yaniv Pessach
  • Patent number: 7921129
    Abstract: At least one implementation described herein relates to evaluating queries structured according to a first format against one or more objects structured according to a second, different format without serializing the object. Typically, evaluating an XML (eXtensible Markup Language) query against a CLR (Common Language Runtime) object required serializing the CLR object and deriving an XML construct from the serialized data. The query is then be evaluated against the XML construct. In the described implementations, significant system resources are realized by creating an infoset model that maps properties of an object to an object infoset. The query is then evaluated using the infoset to locate object values and, thus, no serialization is required. Dynamically generated IL is used and re-used to efficiently perform subsequent evaluation steps on similar queries.
    Type: Grant
    Filed: October 22, 2007
    Date of Patent: April 5, 2011
    Assignee: Microsoft Corporation
    Inventors: Umesh Madan, Geary L. Eppley, David Wortendyke
  • Patent number: 7899047
    Abstract: Methods and systems for providing a virtual network are disclosed. At least one layer of abstraction is created between network service applications and conventional network protocols by inserting an adaptive dispatcher between applications and network transport services on each machine in a network. The message protocol in the virtual network is extensible, allowing application programs to create new headers within any message as needed. The adaptive dispatcher contains handlers that route and dispatch messages within the virtual network based on arbitrary content within each message, including any combination of headers and/or data content. Each device on the virtual network has a virtual address to which messages are directed, allowing devices to move within the network without reconfiguring routing tables.
    Type: Grant
    Filed: August 13, 2007
    Date of Patent: March 1, 2011
    Assignee: Microsoft Corporation
    Inventors: Luis F. Cabrera, Erik B. Christensen, Giovanni M. Della-Libera, Christopher G. Kaler, David E. Levin, Bradford H. Lovering, Steven E. Lucco, Stephen J. Millet, John P. Shewchuk, Robert S. Wahbe, David A. Wortendyke
  • Patent number: 7882236
    Abstract: The present invention provides for a channel model capable of generating a runtime communication channel with pluggable modular channel components. These channel components implement one of a set of standard interfaces that allow processing details of communication semantics between components to be represented in a polymorphic way. A message and corresponding communication semantics are recursively passed through the channel components using the standard interface, thereby abstracting other modules and components from specific implementation details of how the communication semantics are performed. The message may then be sent to the next appropriate module for further processing, or the processing may be completed at that particular component or module. Note also that the message can also be de-multiplexed on the service side in a similar fashion as that described above.
    Type: Grant
    Filed: February 4, 2005
    Date of Patent: February 1, 2011
    Assignee: Microsoft Corporation
    Inventors: Bradford H. Lovering, David A. Wortendyke, Waingold L. Elliot, Erik B. Christensen, Kenneth D. Wolf, Michael S. Vernal, Shy Cohen, Stefan H. Pharies
  • Publication number: 20100325190
    Abstract: The present invention extends to methods, systems, and computer program products for using distributed queues in an overlay network. Embodiments of the invention can be used to replicate queue state (e.g., inserted and/or deleted messages) within an overlay network and can be used to continue a process at a different node within the overlay network based on replicated queue state. Accordingly, embodiments of the invention can be used to increase the availability of queue state, compensate for node failures within an overlay network, and promote replication of consistent queue state between nodes within an overlay network.
    Type: Application
    Filed: June 23, 2009
    Publication date: December 23, 2010
    Applicant: Microsoft Corporation
    Inventors: John Reed Riley, David A. Wortendyke, Michael J. Marucheck
  • Publication number: 20100322256
    Abstract: The present invention extends to methods, systems, and computer program products for using distributed timers in an overlay network. Embodiments of the invention can be used to replicate timers within an overlay network and can be used to make progress towards completing a portion of work within the overlay network based on a replicated timer. Accordingly, embodiments of the invention can be used to increase the availability of timer data as well as compensate for node failures within an overlay network.
    Type: Application
    Filed: June 23, 2009
    Publication date: December 23, 2010
    Applicant: Microsoft Corporation
    Inventors: John Reed Riley, David A. Wortendyke, Michael J. Marucheck
  • Publication number: 20100325219
    Abstract: The present invention extends to methods, systems, and computer program products for adding configurable messaging functionality to an infrastructure. Embodiments of the invention provide a common infrastructure for management and one way message routing that can accommodate a set of related but conceptually different message delivery protocols. Junctions can be simultaneous created and configured at a location within a namespace. As a result, messaging related functionality can be more efficiently and uniformly added to a namespace. Additionally, embodiments of the invention include junctions that indicate roles and store behaviors and constraints for roles locally. Thus, computer systems desiring to utilize messaging related functionality can access the junction and utilize messaging related functionality provided at the junction without having to refer to other locations in a namespace (e.g., to perform lookups).
    Type: Application
    Filed: June 22, 2009
    Publication date: December 23, 2010
    Applicant: Microsoft Corporation
    Inventors: Clemens F. Vasters, David A. Wortendyke
  • Publication number: 20100325300
    Abstract: The present invention extends to methods, systems, and computer program products for using HyperText Transfer Protocol communication as a transport for bi-directional data streams. Embodiments of the invention facilitate passing otherwise blocked TCP communication through a firewall. Embodiments of the invention can be used to pass legitimate TCP communication through a firewall even though a firewall is configured to block the legitimate TCP communication.
    Type: Application
    Filed: June 22, 2009
    Publication date: December 23, 2010
    Applicant: Microsoft Corporation
    Inventors: Clemens F. Vasters, David A. Wortendyke, Qian Wang
  • Publication number: 20100262717
    Abstract: The present invention extends to methods, systems, and computer program products for optimizing access to federation infrastructure-based resources. Various different layers within a federation infrastructure can signal location change events indicating the hosting location and/or access location for a resource is to be optimized. In response to a location change event, redirection information for accessing the resource is updated within the federation infrastructure. The redirection information is used to redirect resource access requests to appropriately optimized locations within the federation infrastructure. Redirecting resource access requests reduces communication within the federation infrastructure.
    Type: Application
    Filed: June 22, 2010
    Publication date: October 14, 2010
    Applicant: Microsoft Corporation
    Inventors: Craig A. Critchley, David A. Wortendyke, Michael J. Marucheck, Richard L. Hasha
  • Patent number: 7792852
    Abstract: At least one implementation described herein relates to evaluating queries structured according to a first format against one or more objects structured according to a second, different format without serializing the object. Typically, evaluating an XML (eXtensible Markup Language) query against a CLR (Common Language Runtime) object required serializing the CLR object and deriving an XML construct from the serialized data. The query is then be evaluated against the XML construct. In the described implementations, significant system resources are realized by creating an infoset model that maps properties of an object to an object infoset. The query is then evaluated using the infoset to locate object values and, thus, no serialization is required. Dynamically generated IL is used and re-used to efficiently perform subsequent evaluation steps on similar queries.
    Type: Grant
    Filed: October 22, 2007
    Date of Patent: September 7, 2010
    Assignee: Microsoft Corporation
    Inventors: Umesh Madan, Geary L. Eppley, David Wortendyke
  • Patent number: 7664728
    Abstract: Implementations described herein relate to evaluating multiple queries represented in an opcode tree having opcode nodes and branch nodes. Each opcode node comprises an opcode that is a part of an opcode block derived from compilation of a query, the opcode block consisting of a linear sequence of opcodes. Opcode nodes are arranged in the tree according to location of its corresponding opcode in the opcode block with opcodes that occur earlier in the opcode block being represented at a higher tree level than subsequent opcodes. Only one opcode node corresponds to a common opcode block segment that is included in multiple queries. Executing the opcode tree against an input evaluates each of the multiple queries represented in the opcode tree.
    Type: Grant
    Filed: February 20, 2004
    Date of Patent: February 16, 2010
    Assignee: Microsoft Corporation
    Inventors: David Wortendyke, Umesh Madan, Geary L. Eppley
  • Patent number: 7664023
    Abstract: A method includes advertising a policy characterizing communication properties supported by a node. The policy may be distributed to another node in response to a request for the policy. Policy expressions in the policy include one or more assertions that may be grouped and related to each other in a plurality of ways. A system includes a policy generator for generating at least one policy characterizing properties of a node. A policy retriever retrieves a policy from another node and a message generator generates a message to the other node, wherein the message conforms to the policy from the other node.
    Type: Grant
    Filed: May 29, 2007
    Date of Patent: February 16, 2010
    Assignee: Microsoft Corporation
    Inventors: David Levin, Erik B. Christensen, Saurab Nog, Donald F. Box, Christopher G. Kaler, Giovanni M. Della-Libera, Alfred Lee, IV, David Wortendyke
  • Patent number: 7644064
    Abstract: At least one implementation described herein relates to using multiple filter engines to optimize query processing. A filter engine comprises a general matcher and at least one optimized matcher, a matcher being a filter engine in its own right. When the filter engine receives an input, the input is analyzed to determine if it can be handled by the optimized matcher. While the general matcher is fully compliant with a query language, the optimized matcher only handles a subset of the query language. Therefore, inputs that can be processed in the optimized matcher are compared against fewer filters, making the filtering process more efficient. The filter engine may also process only a portion of an input in the optimized matcher and another portion of the input in the general matcher, which reduces processing overhead.
    Type: Grant
    Filed: February 19, 2004
    Date of Patent: January 5, 2010
    Assignee: Microsoft Corporation
    Inventors: Geary L. Eppley, Umesh Madan, David Wortendyke
  • Patent number: 7584170
    Abstract: A conversion method for converting numeric multi-dimensional database members to textual representations may be provided. The conversion may allow textual representations for the numeric dimension members to be sorted and converted back into numeric representations with accuracy. All numeric and date data may be transformed during conversion, such that the textual representation of the numeric and date data is properly sorted as a text string, in the same order as it would be sorted as a number. Accurate reverse-conversion (i.e., from textual representation to numeric representation) may also be provided. The reverse-conversion may include converting into text, information that may be necessary to support a precision required by the relevant convention of the numeric representation and a convention for determining the data type of the textual representations of values. The textual representation may be configured to sort by value independent of the numeric data-types.
    Type: Grant
    Filed: March 14, 2005
    Date of Patent: September 1, 2009
    Assignee: Microsoft Corporation
    Inventors: Michael J. Coulson, David Wortendyke, Kevin Grealish
  • Patent number: 7565451
    Abstract: Mechanisms in which upon receiving a message, the message is passed through one or more receiving path components that are positioned in the receiving path of the message prior to being passed to a dispatching component. One or more of the receiving path components may modify the message to include information that may be helpful to the dispatching component in order to perform the dispatch. The dispatching component receives modified message, and uses information from the modified message (including potentially the modification itself) to perform the dispatch. Since the message is modified to include additional information helpful to the dispatching component, the dispatching component may be more flexible in identifying the processing that should occur with the message. Accordingly, specialized and flexible processing may be enabled that is ideally suited for the message.
    Type: Grant
    Filed: January 23, 2004
    Date of Patent: July 21, 2009
    Assignee: Microsoft Corporation
    Inventors: Luis Felipe Cabrera, David A. Wortendyke, George P. Copeland, Erik B. Christensen, David E. Levin, Dhananjay M. Mahajan, Scott Christopher Seely, Daniel W. Roth
  • Patent number: 7558917
    Abstract: An inverse query engine system having a cache integrated therein and methods for maintaining the cache are described herein. Entities storing filters in the inverse query engine cache thus do not have to maintain an individual cache to maintain the filters. The inverse query engine system cache is maintained within a bounded size by removing expired filters from the cache and trimming the cache to an optimal size when the cache reaches a maximum size. In the event that filter size cannot be determined efficiently, weights may be associated with filters stored in the cache, each weight identifying an estimate of a filter size. The weights are used to determine cache size and to maintain the cache size within particular bounds.
    Type: Grant
    Filed: February 13, 2004
    Date of Patent: July 7, 2009
    Assignee: Microsoft Corporation
    Inventors: Umesh Madan, Geary L. Eppley, David Wortendyke
  • Patent number: 7539691
    Abstract: Implementations described herein relate to using a filter engine opcode tree for evaluating multiple queries. The opcode tree includes opcode nodes and branch nodes. Each opcode node includes one or more computer instructions resulting from compiling a query. Executing the opcode tree a single time evaluates each of multiple queries represented in the opcode tree. When a new opcode node is added to the tree, the context of the opcode tree and the structure of the new opcode are taken into account when modifying a branch node or an opcode node. In certain situation, a branch node is optimized to include an indexed lookup function such as a hash function, to optimize processing of opcode nodes that depend from the branch node. Adding and removing nodes to/from the opcode tree can be handled by a filter engine component or by an opcode object being added to/removed from the tree.
    Type: Grant
    Filed: February 20, 2004
    Date of Patent: May 26, 2009
    Assignee: Microsoft Corporation
    Inventors: David Wortendyke, Umesh Madan, Geary L. Eppley
  • Patent number: 7512957
    Abstract: A web services namespace pertains to an infrastructure for enabling creation of a wide variety of applications. The infrastructure provides a foundation for building message-based applications of various scale and complexity. The infrastructure or framework provides APIs for basic messaging, secure messaging, reliable messaging and transacted messaging. In some embodiments, the associated APIs are factored into a hierarchy of namespaces in a manner that balances utility, usability, extensibility and versionability.
    Type: Grant
    Filed: December 3, 2004
    Date of Patent: March 31, 2009
    Assignee: Microsoft Corporation
    Inventors: Shy Cohen, Geary L. Eppley, Douglas M. Purdy, James E. Johnson, Stephen J. Millet, Stephen T. Swartz, Vijay K. Gajjala, Aaron Abraham Stern, Alexander Martin DeJarnatt, Alfred M. Lee, IV, Anand Rjagopalan, Anastasios Kasiolas, Chaitanya D. Upadhyay, Christopher G. Kaler, Craig Andrew Critchley, David Edwin Levin, David Owen Driver, David Wortendyke, Douglas A. Walter, Elliot Lee Waingold, Erik Bo Christensen, Erin P. Honeycutt, Eugene Shvets, Evgeny Osovetsky, Giovanni M. Della-Libera, Jesus Ruiz-Scougall, John David Doty, Jonathan T. Wheeler, Kapil Gupta, Kenneth David Wolf, Krishnan Srinivasan, Lance E. Olson, Matthew Thomas Tavis, Mauro Ottaviani, Max Attar Feingold, Michael James Coulson, Michael Jon Marucheck, Michael Steven Vernal, Michael Thomas Dice, Mohamed-Hany Essam Ramadan, Mohammad Makarechian, Natasha Harish Jethanandani, Richard Dievendorff, Richard Douglas Hill, Ryan Thomas Sturgell, Saurab Nog, Scott Christopher Seely, Serge Sverdlov, Siddhartha Puri, Sowmyanarayanan K. Srinivasan, Stefan Batres, Stefan Harrington Pharies, Tirunelveli Vishwanath, Tomasz Janczuk, Uday S. Hegde, Umesh Madan, Vaithialingam B. Balayogan, Vipul Arunkant Modi, Yaniv Pessach, Yasser Shohoud