Patents by Inventor Umesh Madan

Umesh Madan 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: 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: 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
  • Patent number: 6778980
    Abstract: Methods and apparatuses for searching electronically-stored information are described. Specifically, in a network providing for electronic commerce, a computer system provides a user with access to a set of electronic commerce pages, category pages and databases for locating products electronically. To locate products electronically, the user performs a search using multiple words. Different forms of the words in the search request are used to generate search hits, and hit vectors containing bits corresponding to the words comprising each search hit are used to indicate the search hits.
    Type: Grant
    Filed: September 27, 2001
    Date of Patent: August 17, 2004
    Assignee: Drugstore.com
    Inventors: Umesh Madan, Geary Eppley
  • Publication number: 20030229674
    Abstract: A scalable event notification system is provided. The event notification system manages the set of topics available for notification via a topic manager network. The event notification system transmits event notifications to event consumers via a subscription manager network. The configuration and operation of the subscription manager network may to reconfigured in response to changing load and fault conditions to facilitate the timely delivery of event notifications. The notification to subscribers also includes mechanisms to provide individual privacy and non-tampering of notifications. Notification may dynamically be delivered to alternative locations and localized to accommodate different natural languages.
    Type: Application
    Filed: June 10, 2002
    Publication date: December 11, 2003
    Applicant: Microsoft Corporation
    Inventors: Luis Felipe Cabrera, Umesh Madan, John P. Shewchuk, David Alan Wortendyke