Patents Represented by Attorney Microsoft Corporation
  • Patent number: 7065553
    Abstract: A database of objects is distributed between a server computer and multiple client computers as an object oriented virtual world environment (VWE) with multimedia presentation features. A primary database is maintained on the server and includes at least one entry for each object disposed within the VWE. In one implementation a presentation virtual world environment has a multi-user virtual presentation room object (ShowRoom) in which presentation or information element objects (ShowItems) are presented from a server to multiple viewers at multiple client computers. The presentation room object and presentation element objects are global objects in that they are provided from server to client computers as part of a presentation VWE. The presentation element objects provide a model representing a presentation in the presentation VWE.
    Type: Grant
    Filed: August 23, 2000
    Date of Patent: June 20, 2006
    Assignee: Microsoft Corporation
    Inventors: Harry R. Chesley, Greg Kimberly, Anoop Gupta, Manuel Vellon, Steven M. Drucker
  • Patent number: 7062537
    Abstract: An automated workflow services system can accommodate a wide variety of workflow scenarios. A composition service, a constraint service, and a tracking service can be provided to client programs. The composition service can support client-directed instantiation of actions for activity flows. Activity flows can be based on an activity model, constructed on an ad hoc basis, or a combination thereof. Actions can be added to an activity flow at execution time of the activity flow. The tracking service can track messages to and from the actions.
    Type: Grant
    Filed: December 19, 2003
    Date of Patent: June 13, 2006
    Assignee: Microsoft Corporation
    Inventors: Imran Aziz, Kong-Kat Wong, Hugh A. Teegan
  • Patent number: 7061489
    Abstract: The described systems and methods are directed at interactively rendering graphics using precomputed radiance transfer (PRT). A reflectance matrix that represents the reflectance of a particular object to be rendered is determined. Source lighting associated with the object is represented using basis functions. The reflectance matrix is factored into view and light components. A raw transfer matrix is determined based, in part, from the factored reflectance matrix and the source lighting. The raw transfer matrix is partitioned to obtain transfer matrices, which are used to render the object. The described systems and methods are capable of rendering glossy objects with well-defined shadows.
    Type: Grant
    Filed: September 27, 2004
    Date of Patent: June 13, 2006
    Assignee: Microsoft Corporation
    Inventors: John Michael Snyder, Peter-Pike J. Sloan, Xinguo Liu, Heung-Yeung Shum
  • Patent number: 7055146
    Abstract: A system and method are for inserting modifications into an executable program at the time an operating system loads the executable program for execution. The system includes a program modification database that provides a general depository of program changes in the form of substitute APIs and direct program patches. The system further comprises a program loader routine that identifies an entry in the program modification database corresponding to a program selected for execution on a computer system. The loader routine incorporates changes identified in the database entry associated with the selected program into a program segment (e.g., API) substitution table. After constructing the substitution table, each table entry includes a called API reference (e.g., its handle or address) and a reference to a substitute API.
    Type: Grant
    Filed: March 8, 2001
    Date of Patent: May 30, 2006
    Assignee: Microsoft Corporation
    Inventors: Philip G Durr, Donald J Munsil, Mark P Derbecker, Lindsay W Steventon
  • Patent number: 7050868
    Abstract: Players in a gaming environment, particularly, electronic on-line gaming environments, may be scored relative to each other or to a predetermined scoring system. The scoring of each player may be based on the outcomes of games between players who compete against each other in one or more teams of one or more players. Each player's score may be represented as a distribution over potential scores which may indicate a confidence level in the distribution representing the player's score. The score distribution for each player may be modeled with a Gaussian distribution and may be determined through a Bayesian inference algorithm. The scoring may be used to track a player's progress and/or standing within the gaming environment, used in a leaderboard indication of rank, and/or may be used to match players with each other in a future game.
    Type: Grant
    Filed: January 24, 2005
    Date of Patent: May 23, 2006
    Assignee: Microsoft Corporation
    Inventors: Thore K H Graepel, Ralf Herbrich
  • Patent number: 7007039
    Abstract: In a database system, a method of maintaining a self-tuning histogram having a plurality of existing rectangular shaped buckets arranged in a hierarchical manner and defined by at least two bucket boundaries, a bucket volume, and a bucket frequency. At least one new bucket is created in response to a query on the database. Each new bucket is contained within at least one existing bucket and the new bucket becomes a child bucket and the existing bucket containing it becomes a parent bucket. The boundaries of each new bucket correspond to a region of the database accessed by the query and the frequency of the new bucket is a number of data records returned by the query. Buckets may be merged based on a merge criterion such as similar bucket density when the total number of buckets exceeds the predetermined budget.
    Type: Grant
    Filed: June 14, 2001
    Date of Patent: February 28, 2006
    Assignee: Microsoft Corporation
    Inventors: Surajit Chaudhuri, Nicolas Bruno, Luis Gravano
  • Patent number: 7007083
    Abstract: Computer method and apparatus for communicating information between a plurality of client computers by means of a communications network. A data server computer coupled to the network communicates data from the data server computer to one or more of a plurality of client computers in response to a request for data by a client computer in the form of a hypertext transfer protocol update request. The data server computer sends the data made available from the data server computer in response to a data update request from one of the plurality of client computers to said data server computer. A communications server computer coupled to the communications network for communicating the fact that the data on the server has been updated by communicating a client to client message from the client computer that updated the data on the data server computer to other client computers thereby prompting said other client computers to request updated data from the data server computer.
    Type: Grant
    Filed: June 29, 2000
    Date of Patent: February 28, 2006
    Assignee: Microsoft Corporation
    Inventor: Harry R. Chesley
  • Patent number: 7007226
    Abstract: High-density computer display visualization formats provide improved visualization of large amounts of threaded information. These visualization formats are suitable for a wide variety of threaded information environments including newsgroups, threaded Web discussions, chats, e-mail inboxes, etc. In one implementation, the threaded message visualization represents each post with a generally one-dimensional or narrow entry line. The entry lines are horizontal and arranged vertically in substantially the same indented threading arrangement as the text of a conventional prior art visualization. In other implementations, the appearance (e.g., color), length, and position of entry lines can represent additional selected information while maintaining the generally one-dimensional character of the entry lines.
    Type: Grant
    Filed: September 9, 1999
    Date of Patent: February 28, 2006
    Assignee: Microsoft Corporation
    Inventors: Marc A. Smith, Steven M. Drucker, Rebecca Xiong
  • Patent number: 7006276
    Abstract: A MEMS optical display system includes an illumination source for providing illumination light, a collimating lens for receiving the illumination light and forming from it collimated illumination light, and a microlens array having an array of lenslets for receiving the illumination light from the collimating lens. The converging microlens array directs the illumination light through an array of pixel apertures in an aperture plate to a microelectrical mechanical reflector array positioned opposite the aperture plate. The microelectrical mechanical reflector array includes an array of microelectrical mechanical actuators that support reflectors in alignment with the array of pixel apertures and selectively orients the reflectors to direct the illumination light back through the pixel apertures (to form part of a display image) or against the aperture plate (to be blocked). The illumination light passing back through the pixel apertures passes through the microlens array and a beamsplitter to a display screen.
    Type: Grant
    Filed: October 5, 2004
    Date of Patent: February 28, 2006
    Assignee: Microsoft Corporation
    Inventors: Gary K. Starkweather, Michael J. Sinclair
  • Patent number: 7003574
    Abstract: A method and system for enhancing a load balancing network's ability to load balance sessions is presented. A session identifier is placed within the TCP packet to enable a new mechanism of load distribution and connection grouping within a load balancing system. Specifically, TCP is invoked by a user application to obtain a unique session identifier value. On receiving such a packet, the destination load balancing system hashes over at least the session identifier value, and the node corresponding to the results of the hash algorithm acquires the packet. This method of hashing ensures that the same node acquires all subsequently received TCP packets possessing the same session identifier regardless of the source IP address or source port information. The node then places an identical session identifier value in the form of a response session identifier in its TCP response packet.
    Type: Grant
    Filed: November 1, 2000
    Date of Patent: February 21, 2006
    Assignee: Microsoft Corporation
    Inventor: Pradeep Bahl
  • Patent number: 6996517
    Abstract: An infrastructure and a set of steps are disclosed for evaluating performance of computer systems. The infrastructure and method provide a flexible platform for carrying out analysis of various computer systems under various workload conditions. The flexible platform is achieved by allowing/supporting independent designation/incorporation of a workload specification and a system upon which the workload is executed. The analytical framework disclosed and claimed herein facilitates flexible/dynamic integration of various hardware models and workload specifications into a system performance analysis, and potentially streamlines development of customized computer software/system specific analyses. The disclosed performance technology infrastructure includes a workload specification interface facilitating designation of a particular computing instruction workload. The workload comprises a list of resource usage requests.
    Type: Grant
    Filed: August 4, 2000
    Date of Patent: February 7, 2006
    Assignee: Microsoft Corporation
    Inventor: Efstathios Papaefstathiou
  • Patent number: 6990653
    Abstract: A method and apparatus to create an intermediate language or source code file from a server-side resource or dynamic web page file. 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: May 18, 2000
    Date of Patent: January 24, 2006
    Assignee: Microsoft Corporation
    Inventors: Gary S. Burd, Kenneth B. Cooper, Scott D. Guthrie, David S. Ebbo, Mark T. Anders, Ted A. Peters
  • Patent number: 6988108
    Abstract: A system and method for use with a data mining application for a large database having a large number of records. A selection attribute is chosen from one of a plurality of attributes contained by records within the database. Records are scanned in the database and a randomizing function is applied to the selection attribute of each record to create a randomized record value. A selection criteria is then applied to identify records for inclusion within a subset of records (smaller than the original data set) by comparing the randomized record value of each record with the selection criteria. The subset of records having a randomized record value satisfying the selection criteria approximates the entire database but takes up less memory and can be evaluated or scanned much more quickly.
    Type: Grant
    Filed: January 26, 2005
    Date of Patent: January 17, 2006
    Assignee: Microsoft Corporation
    Inventors: Jeffrey R. Bernhardt, Ilya Vinarsky
  • Patent number: 6987520
    Abstract: An example-based filling system identifies appropriate filling material to replace a destination region in an image and fills the destination region using this material, thereby alleviating or minimizing the amount of manual editing required to fill a destination region in image. Tiles of image data are borrowed from the proximity of the destination region or some other source to generate new image data to fill in the region. Destination regions may be designated by user input (e.g., selection of an image region by a user) or by other means (e.g., specification of a color or feature to be replaced). In addition, the order in which the destination region is filled by example tiles may be configured to emphasize the continuity of linear structures and composite textures using a type of isophote-driven image-sampling process.
    Type: Grant
    Filed: June 3, 2003
    Date of Patent: January 17, 2006
    Assignee: Microsoft Corporation
    Inventors: Antonio Criminisi, Patrick Perez, Kentaro Toyama, Michel Gangnet, Andrew Blake
  • Patent number: 6985946
    Abstract: A method, system, and article of manufacture for providing an authentication and authorization pipeline for use in a web server to grant access to web resources to users. The server creates an entry within an userID to roles database for each user who may access resources present on the web server and creates an entry within the roles to resource database for each resource that may be accessed on the web server. The server then authenticates the identify of each user accessing a resource on the web server using a userID, one or more authentication parameters, and a resource access request, creates a data object having an authenticated userID and one or more roles corresponding to the authenticated userID obtained from the userID to roles database, and authorizes access to a resource identified within the resource access request if one or more roles within the data object correspond to an access role corresponding to the roles listed within the roles to resource database for the identified resource.
    Type: Grant
    Filed: May 12, 2000
    Date of Patent: January 10, 2006
    Assignee: Microsoft Corporation
    Inventors: Manu Vasandani, Dmitry Robsman, Bilal Alam
  • Patent number: 6983464
    Abstract: A method to dynamically reconfigure multimedia streaming processing modules using interfaces that allow applications and modules to seamlessly change the configuration of streaming modules. Reconfigurations are initiated by a processing module in a stream or by an application by sending a notification packet through the processing modules in the portion of the stream being changed that informs that modules that a change is being made and the modules to complete processing of its data. Modules affected by the change are stopped once the notification packet is received by all processing modules in the stream being changed and modules are then added, removed, or replaced and the portion of the stream being changed resumes processing the data stream. The modules at the beginning of the portion being changed can resume operation as soon as they are reconnected to other modules.
    Type: Grant
    Filed: July 31, 2000
    Date of Patent: January 3, 2006
    Assignee: Microsoft Corporation
    Inventors: Syon Bhattacharya, Robin Speed
  • Patent number: 6981051
    Abstract: A method and system for directing data transfers between applications and devices residing on different computers or devices using an adaptive flow control protocol has been described. When an application or device requests to transfer data with another application or device, adaptive flow control protocol adapts the way data is transferred by observing when an application that is receiving data posts a receive buffer and detects the receive buffer's size. Based upon the application's or device's behavior, the adaptive flow control protocol transfers the data in a mode that is best suited for the application.
    Type: Grant
    Filed: April 27, 2001
    Date of Patent: December 27, 2005
    Assignee: Microsoft Corporation
    Inventors: Vadim Eydelman, Khawar M. Zuberi, Michael T. Massa, Alessandro Forin
  • Patent number: 6977712
    Abstract: Energy efficient transmissive and transreflective display devices are described. Ambient light from a natural or artificial source is used to replace and/or supplement light normally supplied by a backlight. This is done by directing ambient light to the rear of a transmissive display panel. A window, light tunnel, or a reflective surface located in the rear or top of a display device may be used to direct the ambient light to the back of the display panel. A translucent diffuser and/or diffuse reflector are used to diffuse the ambient light to reduce the chance of bright spots appearing on the display. Additional energy efficiency is achieved by using one or more photo-sensors to detect the amount of light, incident on the front and/or rear of a display panel and by automatically adjusting the backlight intensity as a function of photo-sensor output. In this manner, backlight intensity can be minimized while maintaining the viewability of images shown on the display.
    Type: Grant
    Filed: June 16, 2004
    Date of Patent: December 20, 2005
    Assignee: Microsoft Corporation
    Inventors: J. Turner Whitted, Eric Horvitz, Michael J. Sinclair
  • Patent number: 6978312
    Abstract: A method and system for directing data transfers between applications and devices residing on different computers or devices using an adaptive flow control protocol has been described. When an application or device requests to transfer data with another application or device, the adaptive flow control protocol adapts the way data is transferred by observing when an application that is receiving data posts a receive buffer and detects the receive buffer's size. Based upon the application's or device's behavior, the adaptive flow control protocol transfers the data in a mode that is best suited for the application. A credit-based sequencing method is used to coordinate message transfers.
    Type: Grant
    Filed: April 27, 2001
    Date of Patent: December 20, 2005
    Assignee: Microsoft Corporation
    Inventors: Vadim Eydelman, Khawar M. Zuberi
  • Patent number: 6973650
    Abstract: A system for pipelined processing of program data uses a series of servers. A server is an event loop optimized for performing a particular task in the overall program. Servers perform their respective tasks in response to receiving work packets. A work packet is a data structure containing the data needed to perform that task. Each server has a queue of pending work packets. When there are work packets in a server's queue, the server performs the required function using the user context data contained in the packet, and may generate a reply code when complete. A server may run on a single CPU until all work packets in its queue have been processed, or it may also be shared among two or more CPUs. Each server performs its designated task for all users and thus, the general effect of this method is that each CPU performs a single task for all users, thereby insuring that the global context state for each task tends to remain in the cache of the CPU performing that task.
    Type: Grant
    Filed: November 9, 1999
    Date of Patent: December 6, 2005
    Assignee: Microsoft Corporation
    Inventors: Michael A. B. Parkes, Frederic O. Vicik