Patents Represented by Attorney Microsoft Corporation
  • Patent number: 7149735
    Abstract: A method of estimating selectivity of a given string predicate in a database query. In the method selectivities of substrings of various substring lengths are estimated. For example, the selectivity of substrings between length l (or some constant q) to the length of the given string predicate may be estimated. The method then selects a candidate sub string for each sub string length based on estimated selectivities of the substrings. The estimated selectivities of the candidate substrings are combined. The combined estimated selectivity of the candidate substrings is returned as the estimated selectivity of the given string predicate.
    Type: Grant
    Filed: June 24, 2003
    Date of Patent: December 12, 2006
    Assignee: Microsoft Corporation
    Inventors: Surajit Chaudhuri, Venkatesh Ganti, Luis Gravano
  • Patent number: 7143421
    Abstract: The invention is embodied in software executable on a computer having a working memory with demand-loadable components initially stored outside of the working memory, each component having an entry point including a constructor for an object. Preferably, the demand-loadable components are initially provided in a memory within the computer or a location external of the computer. A Namespace in the working memory provides access in the working memory to the components as they become needed by applications running in the computer. The Namespace provides the access by managing demand-loading and unloading of the components in the working memory.
    Type: Grant
    Filed: March 31, 1999
    Date of Patent: November 28, 2006
    Assignee: Microsoft Corporation
    Inventors: Alessandro Forin, Johannes V. Helander, Andrew R. Raffman, Gilad Odinak
  • Patent number: 7143078
    Abstract: A system and method that manages and pre-optimizes incoming database queries by decomposing queries into component parts, and executing corresponding pre-compiled procedures. A requestor specifies search arguments and/or query options. Middle tier code cooperates with database code by decomposing the query operations into stages, one stage for each specified search argument. To improve performance, the stages are ordered such that the most selective searches are executed first, and if after any stage it is recognized that no results are possible, the search terminates without attempting further stages. As each stage is executed, a list of matching keys is maintained in the database. After completing the stages, the list is sorted as specified and returned to the middle tier, which then retrieves the details for each entity represented in the key list, and formats and returns the results to the client. Relatively complex queries may be submitted without executing ad-hoc queries.
    Type: Grant
    Filed: June 27, 2003
    Date of Patent: November 28, 2006
    Assignee: Microsoft Corporation
    Inventors: L. Roger Doherty, Charles R. Reeves, Jr., Eric Guthmann
  • Patent number: 7143131
    Abstract: A communication protocol service in support of TCP based communication is modified to improve the operational efficiency of a server for a particular type of client-server application. The service is modified to support connection pools and connection groups within the connection pools, to enable connections with clients to be grouped and share a common file descriptor. The service is provided with an API to allow an application server to create the connection pools, connection groups and connections. The API also include receive and send services adapted to support the connection pool and connection group architecture, and to allow explicit acknowledgement of received transmissions under control of the application server. Further, in various embodiments, the buffering architecture of the service, as well as acknowledgement of request packets by the service are also modified.
    Type: Grant
    Filed: September 6, 2001
    Date of Patent: November 28, 2006
    Assignee: Microsoft Corporation
    Inventors: L. Roger Soles, Dan Teodosiu, Joseph C. Pistritto, Xavier Boyen
  • Patent number: 7139790
    Abstract: A weak leader election approach to determine which of a number of redundant nodes is the leader node is disclosed. The redundant nodes exchange information particular to them, such as age information. Based on the information received from the other nodes, each node determines whether it is the leader. Where the information is age information, a criteria that can be used to make this determination is that the oldest node is the leader. Each redundant node knows only whether it is the leader node. Redundant nodes that are not the leader do not know which node is the leader node.
    Type: Grant
    Filed: August 17, 2000
    Date of Patent: November 21, 2006
    Assignee: Microsoft Corporation
    Inventors: Yi-Min Wang, Wilf G. Russell, Anish K. Arora
  • Patent number: 7139778
    Abstract: In a relational database system, a set of physical design structures is enumerated that optimizes database performance over a given workload consisting of workload entries that include queries and updates that have been executed against the database. An individual benefit is calculated for each candidate structure relevant to a given workload entry and these individual benefits are summed over the entries in the workload examined thus far. A workload entry is selected from the workload and a set of candidate structures relevant to the workload entry is identified.
    Type: Grant
    Filed: June 28, 2002
    Date of Patent: November 21, 2006
    Assignee: Microsoft Corporation
    Inventors: Surajit Chaudhuri, Vivek Narasayya, Mayur Datar
  • Patent number: 7137116
    Abstract: A method and system for performing a task on a computer is provided, in which the procedure is organized into multiple stages. Each stage of the task has an associated sub-task. Requests for the procedure are represented by “work packets” that stored in a holding area at each stage, such as a stack or a queue, until it is advantageous for a processor to execute them. Each work packet contains data and/or instructions for performing the sub-task of the stage. When a processor is available, it finds a stage having unexecuted work packets and executes a batch of work packets by repeatedly performing the sub-task of the stage. This repeated execution of a sub-task allows a processor to maximize its native time-saving mechanisms, such as cache. The invention may advantageously be used as an alternative to conventional thread-based programming.
    Type: Grant
    Filed: February 8, 2001
    Date of Patent: November 14, 2006
    Assignee: Microsoft Corporation
    Inventors: Michael A Parkes, James R. Larus
  • Patent number: 7134072
    Abstract: An architecture for processing an Extensible Markup Language (XML) document converts schema elements in the XML document to data type definition (DTD) objects that can be used to validate data elements in the XML document. The architecture utilizes a node factory design in which an XML parser calls one or more node factory interfaces to construct an in-memory tree representation of an XML document. One of the node factory interfaces is a schema node factory, which is a thin layer that receives calls from the parser to build nodes in the tree representation and translates those calls to calls to a schema builder. The schema builder is a table driven interface that converts the schema elements in the XML document into DTD objects. The DTD objects are then used to validate the data elements as belonging to the schema. If valid, the data elements are used to construct the tree representation.
    Type: Grant
    Filed: October 13, 1999
    Date of Patent: November 7, 2006
    Assignee: Microsoft Corporation
    Inventors: Christopher J Lovett, Nanshan Zeng
  • Patent number: 7133362
    Abstract: In order to minimize the delay of the video images viewed by a network conference attendee, an intelligent buffering process (IB process) selectively discards video frames from at least one point, and in an embodiment, many network points, such as at “in” and/or “out” buffers of clients, servers, routers, etc. Packets of video frame data arrive at a buffer, which can fill to a predetermined limit if the packets cannot be forwarded due to delays or slow connections. To forward the most current video images, old frames in the buffer are discarded rather than forwarded. In a particular embodiment, when the buffer is full, the next arriving delta frame packet is discarded. To avoid distortion, each subsequent delta frame is discarded until a new key frame eventually arrives. If the buffer is still full when the key frame arrives, the buffer is purged and the new key frame is added.
    Type: Grant
    Filed: November 14, 2001
    Date of Patent: November 7, 2006
    Assignee: Microsoft Corporation
    Inventors: Lon-Chan Chu, Ido Ben-Shachar, Ivan J. Leichtling, Leonard Alan Collins, Claus T. Giloi, Yikang Xu
  • Patent number: 7133729
    Abstract: Power line monitoring is disclosed. The monitoring can be performed in conjunction with an automation system designed to control and monitor devices and sensors. Model-based power line monitoring uses a model of acceptable power line activity. Activity that does not conform to the model is tagged as indicating a potential problem. Pattern-based power line monitoring uses patterns of unacceptable power line activity. Activity that matches one of the patterns is also tagged as indicating a potential problem.
    Type: Grant
    Filed: August 17, 2000
    Date of Patent: November 7, 2006
    Assignee: Microsoft Corporation
    Inventors: Yi-Min Wang, Wilf G. Russell, Anish K. Arora
  • Patent number: 7134019
    Abstract: Disclosed is an authentication mechanism that enables an information recipient to ascertain that the information comes from the sender it purports to be from. This mechanism integrates a private/public key pair with selection by the sender of a portion of its address. The sender derives its address from its public key, for example, by using a hash of the key. The recipient verifies the association between the address and the sender's private key. The recipient may retrieve the key from an insecure resource and know that it has the correct key because only that key can produce the sender's address in the message. The hash may be made larger than the sender-selectable portion of the address. The recipient may cache public key/address pairs and use the cache to detect brute force attacks and to survive denial of service attacks. The mechanism may be used to optimize security negotiation algorithms.
    Type: Grant
    Filed: November 13, 2001
    Date of Patent: November 7, 2006
    Assignee: Microsoft Corporation
    Inventors: Art Shelest, David G. Thaler, Gregory O'Shea, Michael Roe, Brian D. Zill
  • Patent number: 7124198
    Abstract: A method and apparatus to ensure that protocol data units received out of order do not have to be buffered by a reassembly buffer in the performance path is presented. When an application or device requests to transfer data with another application or device, a framing protocol sends one or more complete protocol data units preceded by a framing header that is aligned with the transport header. The framing header contains information that allows the receiving application or device to determine where the protocol data unit should be placed so that successive protocol data units can be recovered when a previous protocol data unit has been received out of order.
    Type: Grant
    Filed: October 30, 2001
    Date of Patent: October 17, 2006
    Assignee: Microsoft Corporation
    Inventor: Jim Pinkerton
  • Patent number: 7124077
    Abstract: A method and system of performing postfiltering in the frequency domain to improve the quality of a speech signal, especially for synthesized speech resulting from codecs of low bit-rate, is provided. The method comprises LPC tilt computation and compensation methods and modules, a formant filter gain computation method and module, and an anti-aliasing method and module. The formant filter gain calculation employs an LPC representation, an all-pole modeling, a non-linear transformation and a phase computation. The LPC used for deriving the postfilter may be transmitted from an encoder or may be estimated from a synthesized or other speech signal in a decoder or receiver. The invention may be implemented in a linked decoder and encoder. A separate LPC evaluation unit that is responsible for processing and or deriving the LPC may be implemented within the invention.
    Type: Grant
    Filed: January 28, 2005
    Date of Patent: October 17, 2006
    Assignee: Microsoft Corporation
    Inventors: Hong Wang, Vladimir Cuperman, Allen Gersho, Hosam A. Khalil
  • Patent number: 7120897
    Abstract: A method and apparatus to create an intermediate language or source code file from a server-side resource or dynamic web page file using a hierarchically specified set of user controls. The source code can then be compiled into an executable class allowing for rapid generation of web page control objects that perform server-side functions, including the rendering of client responses. The code generation scheme of the present invention is capable of creating control objects connected in a hierarchy to handle event processing and the setting of attributes to the specific objects.
    Type: Grant
    Filed: July 10, 2001
    Date of Patent: October 10, 2006
    Assignee: Microsoft Corporation
    Inventors: David S. Ebbo, Scott D. Guthrie
  • Patent number: 7120129
    Abstract: A system and method for enabling a zero configuration nomadic wireless and wired computing environment presenting a just works experience is presented. The system examines predefined user preference or profile settings to determine to which of a competing number of wireless networks available it should connect, and what type of authentication should be used for such connection. Nomadic wireless computing between infrastructure wireless networks and ad hoc wireless networks may be accomplished without further user intervention required in an auto mode. Also, both infrastructure only and ad hoc only modes are available through the system of the invention. Further, the user may set a preference for infrastructure or ad hoc modes in the auto mode. With an infrastructure mode preference set, the system will automatically detect and transfer connectivity to a newly available infrastructure wireless network if the user was previously operating off-line or in ad hoc mode.
    Type: Grant
    Filed: March 13, 2001
    Date of Patent: October 10, 2006
    Assignee: Microsoft Corporation
    Inventors: Arun Ayyagari, Sachin C. Sheth, Krishna Ganugapati, Timothy M. Moore, Pradeep Bahl, Mihai S. Peicu, Florin Teodorescu
  • Patent number: 7120623
    Abstract: Methods of optimizing access to a relation queried through a number of predicates. The methods identify one or more candidate predicates of the selection condition that can be used to factorize the selection condition. A gain from using one or more of the candidate predicates to factorize the selection condition is computed. One or more of the candidate predicates that result in a positive gain are factored from the selection condition to produce a rewritten selection condition. The candidate predicates can be predicates that appear exactly in the selection condition more than once and/or merged predicates that may be predicates in the selection condition that overlap.
    Type: Grant
    Filed: August 29, 2002
    Date of Patent: October 10, 2006
    Assignee: Microsoft Corporation
    Inventors: Prasana Ganesan, Surajit Chaudhuri
  • Patent number: 7120624
    Abstract: A method for estimating the result of a query on a database having data records arranged in tables. The database has an expected workload that includes a set of queries that can be executed on the database. A sample is constructed by selecting data records for inclusion in the sample in a manner that minimizes an estimation error when the data records are acted upon by a query in the expected workload to provide an estimated result. The query accesses the sample and is executed on the sample, returning an estimated query result. The expected workload can be constructed by specifying a degree of overlap between records selected by queries in the given workload and records selected by queries in the expected workload.
    Type: Grant
    Filed: May 21, 2001
    Date of Patent: October 10, 2006
    Assignee: Microsoft Corporation
    Inventors: Surajit Chaudhuri, Vivek Narasayya, Guatam Das
  • Patent number: 7117503
    Abstract: A computer system and method uses script-based device drivers for operating hardware devices. The script-based driver architecture comprises a scripting driver, a script engine, and a driver script for a given hardware device, such as a scanner. The driver script is generally a text file containing a sequence of programming instructions defining the operational behavior of the hardware device. The scripting driver exports a set of objects whose functions can be called by the driver script to communicate with and control the device. When a request to operate the hardware device is received by the scripting driver, the script engine interprets the programming instructions in the driver script corresponding to the request and invokes the functions of the scripting driver objects called by the programming instructions to carry out the requested device operation.
    Type: Grant
    Filed: December 14, 2004
    Date of Patent: October 3, 2006
    Assignee: Microsoft Corporation
    Inventors: Franc J. Camara, Vladimir Sadovsky, Lyman Cooper Partin, Byron Changuion
  • Patent number: 7111246
    Abstract: Adware and viruses are examples of objects that may be embedded in a webpage or linked to a webpage. When such an object is detected to be associated with a webpage loading on a browser, an analysis may be performed to determine a trust level for the object. The object may be blocked in accordance with the trust level. A prompt may be displayed to advise a user that the object is being blocked, provide a description of the object, and to provide an opportunity to interactively accept or decline activation of an action for the object.
    Type: Grant
    Filed: February 17, 2004
    Date of Patent: September 19, 2006
    Assignee: Microsoft Corporation
    Inventors: Aaron Sauve, J. Craig Hally, Li-Hsin Huang, Tony Schreiner, Jeffrey Davis, Tom Pipinich, Jonathan Gass
  • Patent number: 7111037
    Abstract: A store of interfaced software objects are distributed between a server computer and multiple client computers to support an object oriented application communication environment that provides communication between multiple software applications. The application communication environment may include a central shared object store of interfaced software objects that operate on a server computer and communicate with one or more software applications on the server computer. A local shared object store of interfaced software objects operates on each client computer and communicates with the central shared object store and one or more software applications on that client computer. Changes to interfaced software objects in the local shared object stores are automatically and dynamically propagated to the interfaced software objects in the central shared object store.
    Type: Grant
    Filed: October 30, 2000
    Date of Patent: September 19, 2006
    Assignee: Microsoft Corporation
    Inventors: Harry R. Chesley, Steven M. Drucker, Lili Cheng