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).

  • Publication number: 20090046726
    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: Application
    Filed: August 13, 2007
    Publication date: February 19, 2009
    Inventors: Luis Felipe 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
  • Publication number: 20080040381
    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: Application
    Filed: October 22, 2007
    Publication date: February 14, 2008
    Applicant: Microsoft Corporation
    Inventors: Umesh Madan, Geary Eppley, David Wortendyke
  • Publication number: 20080040333
    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: Application
    Filed: October 22, 2007
    Publication date: February 14, 2008
    Applicant: Microsoft Corporation
    Inventors: Umesh Madan, Geary Eppley, David Wortendyke
  • Patent number: 7287035
    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: February 20, 2004
    Date of Patent: October 23, 2007
    Assignee: Microsoft Corporation
    Inventors: Umesh Madan, Geary L. Eppley, David Wortendyke
  • Patent number: 7277885
    Abstract: At least one implementation described herein relates to maintaining filters according to hierarchical data associated with the filters. The filters are maintained in a tree structure that is used to match inputs with filters. A filter hierarchy is an in-memory tree of string segments where each node corresponds to a string segment and references zero or more filters. When an input is received, a path associated with the input is parsed into string segments and the tree is traversed according to the string segments to locate nodes that match the input (primary matching). The input is then compared to filters referenced by matching nodes to locate filters that match the input (secondary matching). As a result, the input is tested against significantly fewer filters and greater efficiency is achieved over typical systems. Also, the primary matching process returns filters in a sorted order which facilitates the secondary matching process.
    Type: Grant
    Filed: February 18, 2004
    Date of Patent: October 2, 2007
    Assignee: Microsoft Corporation
    Inventors: Ceary L. Eppley, Umesh Madan, David Wortendyke
  • Publication number: 20070226356
    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: Application
    Filed: May 29, 2007
    Publication date: September 27, 2007
    Applicant: Microsoft Corporation
    Inventors: David Levin, Erik Christensen, Saurab Nog, Donald Box, Christopher Kaler, Giovanni Della-Libera, Alfred Lee, David Wortendyke
  • Patent number: 7257817
    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: November 27, 2001
    Date of Patent: August 14, 2007
    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: 7254579
    Abstract: Systems and methods for using endpoint references in a publish-subscribe system are described. In one aspect, an endpoint reference is created by a component of the pub-sub system. The endpoint reference includes an endpoint address and one or more contexts. Each context is directed to a respective component of the pub-sub system. Each context is transparent to the respective component, and selectively opaque to all other pub-sub system components.
    Type: Grant
    Filed: March 15, 2004
    Date of Patent: August 7, 2007
    Assignee: Microsoft Corporation
    Inventors: Luis Felipe Cabrera, Geary L. Eppley, Jeffrey C. Schlimmer, David Wortendyke, Bradford H. Lovering, Craig A Critchley
  • Patent number: 7243157
    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: February 20, 2004
    Date of Patent: July 10, 2007
    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: 7181464
    Abstract: An inverse query engine that uses an instruction tree to represents the queries to be applied against input, instead of applying each query individually. Each node in the instruction tree represents executable code. Each branch of the instruction tree when executed from the root node to a terminating branch node represents the instructions to be executed to process that query against the input. The instruction tree is forward-only in that once a node in a tree is processed against an input, that executable code associated with that node is not ever processed again for that node. Accordingly, processing resources and time is conserved.
    Type: Grant
    Filed: February 20, 2004
    Date of Patent: February 20, 2007
    Assignee: Microsoft Corporation
    Inventors: Umesh Madan, David A. Wortendyke, Geary L. Eppley
  • Publication number: 20060179425
    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: Application
    Filed: February 4, 2005
    Publication date: August 10, 2006
    Applicant: Microsoft Corporation
    Inventors: Jesus Scougall, Ryan Sturgell, Michael Marucheck, Alex DeJarnatt, Stephen Swartz, Michael Vernal, Eric Zinda, Stephen Millet, David Wortendyke
  • Publication number: 20060178152
    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: Application
    Filed: February 4, 2005
    Publication date: August 10, 2006
    Applicant: Microsoft Corporation
    Inventors: Bradford Lovering, David Wortendyke, Elliot Waingold, Erik Christensen, Kenneth Wolf, Michael Vernal, Shy Cohen, Stefan Pharies
  • Publication number: 20060174016
    Abstract: The present invention provides for an automated, user friendly way of constructing and using a binding object. A developer is presenting 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-multiplex 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 binging objects organized based on industry need.
    Type: Application
    Filed: February 1, 2005
    Publication date: August 3, 2006
    Applicant: Microsoft Corporation
    Inventors: Craig Critchley, David Wortendyke, Elliot Waingold, Eric Zinda, Erik Christensen, Giovanni Della-Libera, Kenneth Wolf, Michael Vernal, Shy Cohen, Stefan Pharies, Stephen Millet, Stephen Swartz, Tomasz Janczuk, Uday Hegde, Yaniv Pessach
  • Publication number: 20060150200
    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: Application
    Filed: December 3, 2004
    Publication date: July 6, 2006
    Applicant: Microsoft Corporation
    Inventors: Shy Cohen, Geary Eppley, Douglas Purdy, James Johnson, Stephen Millet, Stephen Swartz, Vijay Gajjala, Aaron Stern, Alexander DeJarnatt, Alfred Lee, Anand Rjagopalan, Anastasios Kasiolas, Chaitanya Upadhyay, Christopher Kaler, Craig Critchley, David Levin, David Driver, David Wortendyke, Douglas Walter, Elliot Waingold, Erik Christensen, Erin Honeycutt, Eugene Shvets, Evgeny Osovetsky, Giovanni Della-Libera, Jesus Ruiz-Scougall, John Doty, Jonathan Wheeler, Kapil Gupta, Kenneth Wolf, Krishnan Srinivasan, Lance Olson, Matthew Tavis, Mauro Ottaviani, Max Feingold, Michael Coulson, Michael Marucheck, Michael Vernal, Michael Dice, Mohamed-Hany Ramadan, Mohammad Makarechian, Natasha Jethanandani, Richard Dievendorff, Richard Hill, Ryan Sturgell, Saurab Nog, Scott Seely, Serge Sverdlov, Siddhartha Puri, Sowmyanarayanan Srinivasan, Stefan Batres, Stefan Pharies, Tirunelveli Vishwanath, Tomasz Janczuk, Uday Hegde, Umesh Madan, Vaithialingam Balayogan, Vipul Modi, Yaniv Pessach, Yasser Shohoud
  • Publication number: 20060123047
    Abstract: The present invention extends to using Simple Object Access Protocol (“SOAP”) to exchange typed objects, such as, for example, parameters for invoking methods. A computer system accesses typed object parameters corresponding to a typed object. The typed object is annotated with one or one more message contract attributes of a message contract model defining a mapping between typed object parameters and corresponding SOAP elements. The computer system utilizes the message contract attributes to map the typed object parameters into a SOAP element and inserts the SOAP element into a SOAP envelope. A receiving computer system accessing the SOAP element and utilizes the message contract attributes to map the SOAP element back into the typed object parameters.
    Type: Application
    Filed: December 3, 2004
    Publication date: June 8, 2006
    Applicant: Microsoft Corporation
    Inventors: Erik Christensen, Vaithiakingam Balayoghan, Michael Coulson, Ryan Sturgell, Natasha Jethanandani, Michael Marucheck, Douglas Purdy, Kenneth Wolf, Michael Vernal, Stefan Pharies, David Wortendyke
  • Publication number: 20050204051
    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: Application
    Filed: March 15, 2004
    Publication date: September 15, 2005
    Inventors: Donald Box, Christopher Kaler, David Langworthy, Steven Lucco, John Shewchuk, Luis Cabrera, Craig Critchley, Geary Eppley, Bradford Lovering, Jeffrey Schlimmer, David Wortendyke, Henrik Nielsen
  • Publication number: 20050203949
    Abstract: Systems and methods for using endpoint references in a publish-subscribe system are described. In one aspect, an endpoint reference is created by a component of the pub-sub system. The endpoint reference includes an endpoint address and one or more contexts. Each context is directed to a respective component of the pub-sub system. Each context is transparent to the respective component, and selectively opaque to all other pub-sub system components.
    Type: Application
    Filed: March 15, 2004
    Publication date: September 15, 2005
    Inventors: Luis Felipe Cabrera, Geary Eppley, Jeffrey Schlimmer, David Wortendyke, Bradford Lovering, Craig Critchley
  • Publication number: 20050198390
    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: Application
    Filed: January 23, 2004
    Publication date: September 8, 2005
    Inventors: Luis Cabrera, David Wortendyke, George Copeland, Erik Christensen, David Levin, Dhananjay Mahajan, Scott Seely, Daniel Roth
  • Publication number: 20050198065
    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: Application
    Filed: February 19, 2004
    Publication date: September 8, 2005
    Inventors: Geary Eppley, Umesh Madan, David Wortendyke
  • Publication number: 20050198098
    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: Application
    Filed: February 20, 2004
    Publication date: September 8, 2005
    Inventors: David Levin, Erik Christensen, Saurab Nog, Donald Box, Christopher Kaler, Giovanni Della-Libera, Alfred Lee, David Wortendyke