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: 20050187979
    Abstract: A concept for providing a data structure handing process is described. The concept includes determining a size of a data structure, selecting a data streaming protocol when the size exceeds a predetermined limit and selecting a buffered data protocol otherwise.
    Type: Application
    Filed: February 9, 2004
    Publication date: August 25, 2005
    Inventors: Erik Christensen, Kenneth Wolf, Michael Coulson, David Wortendyke, Douglas Walter, Mike Vernal
  • Publication number: 20050187906
    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: Application
    Filed: February 20, 2004
    Publication date: August 25, 2005
    Inventors: Umesh Madan, David Wortendyke, Geary Eppley
  • Publication number: 20050187947
    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: Application
    Filed: February 20, 2004
    Publication date: August 25, 2005
    Inventors: David Wortendyke, Umesh Madan, Geary Eppley
  • Publication number: 20050187908
    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: February 20, 2004
    Publication date: August 25, 2005
    Inventors: Umesh Madan, Geary Eppley, David Wortendyke
  • Publication number: 20050187907
    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: Application
    Filed: February 20, 2004
    Publication date: August 25, 2005
    Inventors: David Wortendyke, Umesh Madan, Geary Eppley
  • Publication number: 20050182754
    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: Application
    Filed: February 13, 2004
    Publication date: August 18, 2005
    Inventors: Umesh Madan, Geary Eppley, David Wortendyke
  • Publication number: 20050182756
    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: Application
    Filed: February 18, 2004
    Publication date: August 18, 2005
    Inventors: Ceary Eppley, Umesh Madan, David Wortendyke
  • Publication number: 20050165768
    Abstract: The present invention provides a conversion method for converting numeric multi-dimensional database dimension members to textual representations. The conversion is specifically designed to enable the textual representations of the numeric dimension members to be properly sorted and converted back into numeric representations with accuracy. All numeric and date data is 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. The present invention also provides a means for accurate reverse-conversion (i.e., from textual representation to numeric representation) by first converting into text the information necessary to support the precision required by the relevant convention of the numeric representation. The present invention also provides a convention for determining the data type of the textual representations of values of various data types.
    Type: Application
    Filed: March 14, 2005
    Publication date: July 28, 2005
    Applicant: Microsoft Corporation
    Inventors: Michael Coulson, David Wortendyke, Kevin Grealish
  • Patent number: 6907435
    Abstract: The present invention provides a conversion method for converting numeric multi-dimensional database dimension members to textual representations. The conversion is specifically designed to enable the textual representations of the numeric dimension members to be properly sorted and converted back into numeric representations with accuracy. All numeric and date data is 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. The present invention also provides a means for accurate reverse-conversion (i.e., from textual representation to numeric representation) by first converting into text the information necessary to support the precision required by the relevant convention of the numeric representation. The present invention also provides a convention for determining the data type of the textual representations of values of various data types.
    Type: Grant
    Filed: February 27, 2001
    Date of Patent: June 14, 2005
    Assignee: Microsoft Corporation
    Inventors: Michael J. Coulson, David Wortendyke, Kevin David James Grealish
  • Publication number: 20040024807
    Abstract: Information is disseminated, with weak consistency, across multiple computer systems. Update operations may be described in terms of a directed acyclic graph of update dependencies. Using techniques similar to operations logging, state information is recorded and preserved through information units at a particular update operation's primary site. Subsequent processing of these information units at the primary site then initiates dissemination of the state information to zero or more dependent sites. Accordingly, an update operation may happen first at its primary site. Then, in a delayed manner, the state information may be updated in the dependent sites thereby eventually synchronizing the over-all state of the system. Upon cessation of update operations of this type, the system will eventually reach a self-consistent stable state.
    Type: Application
    Filed: July 31, 2002
    Publication date: February 5, 2004
    Applicant: Microsoft Corporation
    Inventors: Luis Felipe Cabrera, David A. Wortendyke
  • Publication number: 20030101284
    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: November 27, 2001
    Publication date: May 29, 2003
    Applicant: 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: 6526399
    Abstract: A database grouping and display system that groups a database by row and column in response to a user input. The database grouping and display system displays a raw, ungrouped database and allows a user to manipulate it as desired. The system displays the raw database and any manipulation results within a window of a web browser, thus allowing data analysis to be performed with the use of a common and inexpensive program. A user may group a database in order to group record entries within the database by common data entry. The user may group the record entries by row, by column, or by row and column. Each record entry grouping is referred to as a “metacell.” The database grouping and display system may further summarize the contents of each metacell and present a summary result along with the display of the metacell. This summary value is typically invoked for all metacells, but may alternately apply to a single row, column, or metacell, or for the entire document.
    Type: Grant
    Filed: June 15, 1999
    Date of Patent: February 25, 2003
    Assignee: Microsoft Corporation
    Inventors: Michael J. Coulson, Jay L. Massena, David A. Wortendyke
  • Publication number: 20020120806
    Abstract: The present invention provides a conversion method for converting numeric multi-dimensional database dimension members to textual representations. The conversion is specifically designed to enable the textual representations of the numeric dimension members to be properly sorted and converted back into numeric representations with accuracy. All numeric and date data is 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. The present invention also provides a means for accurate reverse-conversion (i.e., from textual representation to numeric representation) by first converting into text the information necessary to support the precision required by the relevant convention of the numeric representation. The present invention also provides a convention for determining the data type of the textual representations of values of various data types.
    Type: Application
    Filed: February 27, 2001
    Publication date: August 29, 2002
    Applicant: Microsoft Corporation
    Inventors: Michael J. Coulson, David Wortendyke, Kevin David James Grealish