Patents by Inventor David A. Wortendyke
David A. 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: 20090046726Abstract: 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: ApplicationFiled: August 13, 2007Publication date: February 19, 2009Inventors: 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: 20080040333Abstract: 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: ApplicationFiled: October 22, 2007Publication date: February 14, 2008Applicant: Microsoft CorporationInventors: Umesh Madan, Geary Eppley, David Wortendyke
-
Publication number: 20080040381Abstract: 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: ApplicationFiled: October 22, 2007Publication date: February 14, 2008Applicant: Microsoft CorporationInventors: Umesh Madan, Geary Eppley, David Wortendyke
-
Patent number: 7287035Abstract: 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: GrantFiled: February 20, 2004Date of Patent: October 23, 2007Assignee: Microsoft CorporationInventors: Umesh Madan, Geary L. Eppley, David Wortendyke
-
Patent number: 7277885Abstract: 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: GrantFiled: February 18, 2004Date of Patent: October 2, 2007Assignee: Microsoft CorporationInventors: Ceary L. Eppley, Umesh Madan, David Wortendyke
-
Publication number: 20070226356Abstract: 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: ApplicationFiled: May 29, 2007Publication date: September 27, 2007Applicant: Microsoft CorporationInventors: David Levin, Erik Christensen, Saurab Nog, Donald Box, Christopher Kaler, Giovanni Della-Libera, Alfred Lee, David Wortendyke
-
Patent number: 7257817Abstract: 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: GrantFiled: November 27, 2001Date of Patent: August 14, 2007Assignee: Microsoft CorporationInventors: 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: 7254579Abstract: 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: GrantFiled: March 15, 2004Date of Patent: August 7, 2007Assignee: Microsoft CorporationInventors: Luis Felipe Cabrera, Geary L. Eppley, Jeffrey C. Schlimmer, David Wortendyke, Bradford H. Lovering, Craig A Critchley
-
Patent number: 7243157Abstract: 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: GrantFiled: February 20, 2004Date of Patent: July 10, 2007Assignee: Microsoft CorporationInventors: David Levin, Erik B. Christensen, Saurab Nog, Donald F. Box, Christopher G. Kaler, Giovanni M. Della-Libera, Alfred Lee, IV, David Wortendyke
-
Patent number: 7181464Abstract: 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: GrantFiled: February 20, 2004Date of Patent: February 20, 2007Assignee: Microsoft CorporationInventors: Umesh Madan, David A. Wortendyke, Geary L. Eppley
-
Publication number: 20060179425Abstract: 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: ApplicationFiled: February 4, 2005Publication date: August 10, 2006Applicant: Microsoft CorporationInventors: Jesus Scougall, Ryan Sturgell, Michael Marucheck, Alex DeJarnatt, Stephen Swartz, Michael Vernal, Eric Zinda, Stephen Millet, David Wortendyke
-
Publication number: 20060178152Abstract: 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: ApplicationFiled: February 4, 2005Publication date: August 10, 2006Applicant: Microsoft CorporationInventors: Bradford Lovering, David Wortendyke, Elliot Waingold, Erik Christensen, Kenneth Wolf, Michael Vernal, Shy Cohen, Stefan Pharies
-
Publication number: 20060174016Abstract: 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: ApplicationFiled: February 1, 2005Publication date: August 3, 2006Applicant: Microsoft CorporationInventors: 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: 20060150200Abstract: 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: ApplicationFiled: December 3, 2004Publication date: July 6, 2006Applicant: Microsoft CorporationInventors: 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: 20060123047Abstract: 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: ApplicationFiled: December 3, 2004Publication date: June 8, 2006Applicant: Microsoft CorporationInventors: Erik Christensen, Vaithiakingam Balayoghan, Michael Coulson, Ryan Sturgell, Natasha Jethanandani, Michael Marucheck, Douglas Purdy, Kenneth Wolf, Michael Vernal, Stefan Pharies, David Wortendyke
-
Publication number: 20050204051Abstract: 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: ApplicationFiled: March 15, 2004Publication date: September 15, 2005Inventors: 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: 20050203949Abstract: 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: ApplicationFiled: March 15, 2004Publication date: September 15, 2005Inventors: Luis Felipe Cabrera, Geary Eppley, Jeffrey Schlimmer, David Wortendyke, Bradford Lovering, Craig Critchley
-
Publication number: 20050198098Abstract: 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: ApplicationFiled: February 20, 2004Publication date: September 8, 2005Inventors: David Levin, Erik Christensen, Saurab Nog, Donald Box, Christopher Kaler, Giovanni Della-Libera, Alfred Lee, David Wortendyke
-
Publication number: 20050198390Abstract: 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: ApplicationFiled: January 23, 2004Publication date: September 8, 2005Inventors: Luis Cabrera, David Wortendyke, George Copeland, Erik Christensen, David Levin, Dhananjay Mahajan, Scott Seely, Daniel Roth
-
Publication number: 20050198065Abstract: 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: ApplicationFiled: February 19, 2004Publication date: September 8, 2005Inventors: Geary Eppley, Umesh Madan, David Wortendyke