Abstract: Techniques and tools for coallocating objects and/or object fields for the sake of cache performance are described. For example, a tool improves cache performance by coallocating contemporaneously accessed heap objects. The tool analyzes object accesses to identify hot data streams in a profile run of a program. The tool directs allocations for objects in a given hot data steam to the same sequentially allocated arena, separating intervening allocations coming from other allocation sites. The tool enforces the solution by redirecting heap allocations to a run-time coallocation library. The tool and analysis extend to coallocation at object field granularity. The resulting field coallocation solution generalizes common data restructuring techniques and provides insight into object restructuring by breaking down the coallocation benefit on a per-technique basis.
Abstract: A computer-implemented simulated emboldening mechanism for emboldening an input overscaled bitmap to generate an emboldened overscaled bitmap. The simulated emboldening adjusts the number of subpixels to turn on in the direction of emboldening taking into account contextual information regarding surrounding subpixels. Since the emboldening works directly from an overscaled bitmap, and takes such contextual information into account, legibility and readability of the resulting emboldened character is enhanced.
Abstract: A technique for recalling data objects stored on media. A queue is created for each medium on which data objects are located, where each request to recall a data object is placed on the queue corresponding to the medium on which the data object is located. A queue is “active” when its corresponding medium is mounted and being used for recall; otherwise the queue is “non-active.” A thread is created for each active queue, where the thread retrieves from a medium the requested items on the active queue. When plural drives are available for mounting and reading media, plural queues may be active concurrently, so that the plural queues' respective threads may recall items from the plural media in parallel. Preferably, the requests on each queue are organized in an order such that the offset locations of the requested items form two monotonically increasing sequences.
Abstract: A system and method for efficiently executing a plurality of live parallel Internet content usage experiments using a large pool of randomly selected participating users (separated into control and test groups) while minimally disturbing offered content is provided. In an illustrative implementation, a content provider communicates the parameters for a content usage experiment to a content server. A complimentary test subject verification script operates on the content server that determines which client computing devices are to be included in the experiment group. In operation, a participating client computing device requests content from the content provider's server. The content provider's server executes the test subject verification script to determine if the client computing device is to be considered as a test subject. The content usage of the experiment content and non-experiment content is tracked and compared to each other to determine if the experiment content impacted content usage.
Type:
Grant
Filed:
December 20, 2000
Date of Patent:
March 11, 2008
Assignee:
Microsoft Corporation
Inventors:
Jules S. Cohen, Paul K. Kromann, Thomas S. Reeve
Abstract: The present invention provides for a distributed computing system that is capable of determining when data needs to be synced between two computer devices because data has changed on at least a remote device. More particularly, the present invention provides for a sync adapter that uses sync data to detect that a property on a device is new and needs to synchronize with corresponding data on another machine. The sync data is specific to the two devices in that the sync data mirrors data that was last synchronized between these two computing devices. Other example embodiments use the sync data to detect and mark data as low fidelity data for identifying any date and time information associated with the low fidelity data as potentially unreliable.
Abstract: A computer system models human memory by deriving associations between objects, events, and the context of the computer user or users. These associations can be dynamically generated, changing depending on the behavior of the user and context. Examples of areas in which this system can be used include time management (e.g., a calendar that presents time-based groupings of objects), people management (e.g., use analysis of user communications to rank importance of people to the user, groupings, and associations between people/groups and other objects such as documents, email), and general computer management (e.g., use analysis of user behavior to identify important objects and objects that are related to a current focus and context of the computer user).
Type:
Grant
Filed:
June 28, 2002
Date of Patent:
March 11, 2008
Assignee:
Microsoft Corporation
Inventors:
Shelly D. Farnham, Andrzej Turski, David P. Vronay, Lili Cheng, Sean U. Kelly, Cezary Marcjan, Richard F. Rashid
Abstract: Distribution displays for categories are provided which illuminate the distribution of continuous attributes over all cases in a category, and which provide a histogram of the population of the different states of categorical attributes. An array of such displays by attribute (in one dimension) and category (in another dimension) may be provided. Category diagram displays are also provided for visualizing the different categories, and their distributions, populations, and similarities. These are displayed through different shading of nodes and edges representing categories and the relationship between two categories, and through proximity of nodes.
Type:
Grant
Filed:
September 30, 2004
Date of Patent:
March 11, 2008
Assignee:
Microsoft Corporation
Inventors:
David Maxwell Chickering, Zhaohui Tang, David Earl Heckerman, Robert L. Rounthwaite, Alexei V. Bocharov, Scott Conrad Oveson
Abstract: Architecture for generating meaningful names for a flattened data structure. The architecture comprises a system that observes user activity associated with a hierarchical data structure, and then generates meaningful names derived from file and folder names or other character string data that are easier to navigate and understand by the user. The system includes a valuation component that facilitates applying the valuation metrics to each node of the data structure. A selection component selects the one or more nodes for the naming process. A naming component receives and processes the selected node information from the selection component and generates the name(s) for the one or more nodes for the given user. An output of the naming component is the flattened representation in the form of a meaningful name(s) for the data structure.
Abstract: A closed captioning configuration system is described. The system receives parameters of a digital video presentation and computes closed captioning parameters to drive a closed captions encoder, creating closed captions which are compatible with the presentation. In various implementations, the configuration system may be integrated into a video encoder, a closed captions encoder, or both. The configuration system, through analysis of the presentation parameters, can drive captioning for presentations which may differ by frame rate, interlacing, or frame encoding mode, and account for repetition of fields or frames.
Abstract: A computer being controlled is coupled via a communications bus to at least one other device comprising one or more authorized management devices. The one or more authorized management devices are coupled to a management port. Only management commands received from authorized management devices via the management port may be executed or otherwise responded to. Management commands received from other devices are ignored. In a preferred embodiment, the communication bus is an IEEE 1394 serial bus. In this manner, the present invention provides for the use of more direct communication technologies, such as the IEEE 394 serial bus, while simultaneously providing a greater degree of security than previously available.
Type:
Grant
Filed:
September 29, 2000
Date of Patent:
March 11, 2008
Assignee:
Microsoft Corporation
Inventors:
Georgios Chrysanthakopoulos, Pasquale DeMaio, Valerie R. See
Abstract: An active stream format is defined and adopted for a logical structure that encapsulates multiple data streams. The data streams may be of different media. The data of the data streams is partitioned into packets that are suitable for transmission over a transport medium. The packets may include error correcting information. The packets may also include clock licenses for dictating the advancement of a clock when the data streams are rendered. The format of ASF facilitates flexibility and choice of packet size and in specifying maximum bit rate at which data may be rendered. Error concealment strategies may be employed in the packetization of data to distribute portions of samples to multiple packets. Property information may be replicated and stored in separate packets to enhance its error tolerance. The format facilitates dynamic definition of media types and the packetization of data in such dynamically defined data types within the format.
Type:
Grant
Filed:
October 28, 2004
Date of Patent:
March 11, 2008
Assignee:
Microsoft Corporation
Inventors:
Steven P. Levi, Mark D. VanAntwerp, Craig M. Dowell, Chadd B. Knowlton
Abstract: Various systems and methods described above permit a user's content experience (e.g. music playing experience) to be monitored and for metadata describing this experience to be collected. This metadata can be dynamically updated as a user experiences media content and then used to impart to the user a personalized experience that is tailored to that specific user. A user's metadata can, in some instances, provided across a wide variety of computing devices on which the user may experience the media content, thus standardizing the user's personalized media experience. In addition, intelligent or “smart” playlists can be provided which, in some instances, can be dynamically and automatically updated to reflect current user experiences, thus providing a highly personalized and enjoyable content experience.
Type:
Grant
Filed:
June 3, 2005
Date of Patent:
March 11, 2008
Assignee:
Microsoft Corporation
Inventors:
Daniel Plastina, James M. Alkove, Kirt A. Debique, Scott Colville, Gabriel S. DeBacker
Abstract: The present invention is directed to a method and system for use in a computing environment to present and provide access to information that a user cares about. A scheme is provided for presenting frequently used controls and information in tiles within a sidebar. Tiles are hosted individually or in groups, within a sidebar, for interaction by a user. Tiles can be added or removed from the sidebar automatically or by user request. The present invention is further directed to a method for providing a scaleable and useable preview of tiles within a sidebar. Further still, the present invention is directed to maintaining an overflow area of icons for tiles that would not fit within the sidebar. The sidebar has content that dynamically adjusts in response to the addition, expansion, squishing or removal of tiles. Even Further, a user can customize the sidebar of the present invention.
Type:
Grant
Filed:
April 25, 2003
Date of Patent:
March 11, 2008
Assignee:
Microsoft Corporation
Inventors:
Justin Mann, Charles Cummins, Fabrice A. Debry, David A. Matthews, Hillel Noah Cooperman