Patents Represented by Attorney Microsoft Corporation
  • Patent number: 8256001
    Abstract: One or more techniques and/or systems are disclosed for providing recommendations for an add-on to a base program operating on a computing device, thus allowing a user to make a more informed decision as to whether to allow the add-on to be installed or not. To make the recommendation, collection software is queried for information about an add-on when installation or instantiation of the add-on is detected on the computing device. Information about the add-on is collected by the collection software, which comprises one or more add-on detection programs. A recommendation for applying the add-on (or not) is generated using the collected information, where the recommendation comprises a ranking based on detection program prioritization.
    Type: Grant
    Filed: April 12, 2010
    Date of Patent: August 28, 2012
    Assignee: Microsoft Corporation
    Inventors: Douglas Edward Stamper, Tariq Sharif
  • Patent number: 8250523
    Abstract: It may be advantageous to facilitate communication between two types of source code. For example, a wrapper may be generated to translate between managed source code and native source code. Current techniques may translate a single type of native source code into a managed binary wrapper. However, as provided herein, a managed source code wrapper may be generated based upon a variety of native source code formats. A native binary descriptor describing a set of native code may be received. A provider may be selected based upon the format of the set of native code. The provider may be executed upon the native binary descriptor to produce a common native binary description. A managed source code wrapper may be generated based upon the common native binary description. Because the managed source code wrapper may be in a textual source code format, a developer may easily maintain and/or customize the wrapper.
    Type: Grant
    Filed: January 29, 2009
    Date of Patent: August 21, 2012
    Assignee: Microsoft Corporation
    Inventors: Matthew Hall, Michael Fanning
  • Patent number: 8248613
    Abstract: A mechanism is disclosed for capturing reflected rays from a surface. A first and second lens aligned along a same optical center axis are configured so that a beam of light collimated parallel to the lens center axis directed to a first side, is converged toward the lens center axis on a second side. A first light beam source between the first and second lenses directs a light beam toward the first lens parallel to the optical center axis. Second light beam source(s) on the second side of the first lens, direct a light beam toward a focal plane of the first lens at a desired angle. An image capturing component, at the second side of the second lens, has an image capture surface directed toward the second lens to capture images of the light reflected from a sample capture surface at the focal plane of the first lens.
    Type: Grant
    Filed: April 29, 2010
    Date of Patent: August 21, 2012
    Assignee: Microsoft Corporation
    Inventors: Jiaping Wang, Moshe Benezra, Xin Tong, John Michael Snyder, Baining Guo
  • Patent number: 8245005
    Abstract: Object relocation often involves a multi-word copy of the object from a source memory to a destination memory, followed by updating the references (e.g., pointers) to the object. However, during the relocation, other threads may write to portions of the object that have already been relocated, and the updates may be lost when the references are updated to point to the destination memory. The object relocation may therefore mark the words of the object during relocation with a relocation value to indicate transfer to the destination memory without locking the threads. The threads may be configured to check the value the source memory during object access, and to access the corresponding word of the destination memory if the source memory word comprises the relocation value. While the probability of a large (e.g., 64-bit) relocation value appearing in the object is small, safety measures are provided to detect and mitigate conflicts.
    Type: Grant
    Filed: March 3, 2008
    Date of Patent: August 14, 2012
    Assignee: Microsoft Corporation
    Inventors: Filip Pizlo, Erez Petrank, Bjarne Steensgaard
  • Patent number: 8244044
    Abstract: Image feature selection and extraction (e.g., for image classifier training) is accomplished in an integrated manner, such that higher-order features are merely developed from first-order features selected for image classification. That is, first-order image features are selected for image classification from an image feature pool, initially populated with pre-extracted first-order image features. The selected first-order classifying features are paired with previously selected first-order classifying features to generate higher-order features. The higher-order features are placed into the image feature pool as they are developed or “on-the-fly” (e.g., for use in image classifier training).
    Type: Grant
    Filed: April 25, 2008
    Date of Patent: August 14, 2012
    Assignee: Microsoft Corporation
    Inventors: Gang Hua, Paul Viola, David Liu
  • Patent number: 8239465
    Abstract: A method for generating one or more human interactive proofs (HIPs) is described herein. A HIP request may be received. One of a plurality of HIP engines may be selected using a randomization algorithm. Each HIP engine may have a distinct algorithm for generating the one or more HIPs. The one or more HIPs may be generated using the one of the plurality of HIP engines.
    Type: Grant
    Filed: February 19, 2009
    Date of Patent: August 7, 2012
    Assignee: Microsoft Corporation
    Inventors: Aparna Rangarajan, Ravi Kiran Poluri, Usman Ahmed Shami, Weisheng Li
  • Patent number: 8229509
    Abstract: An apparatus for communicating with a handheld device (e.g., a cellular telephone) is provided herein. A protective shroud is configured to enclose the handheld device and protect it against incidents that commonly cause damage to handheld devices. Integral to the protective shroud is at least one of an input component configured to receive user input and a wireless transceiver configured to transmit signals to and/or receive signals from the handheld device. In one example, where both the input component and the wireless transceiver are integral to the protective shroud, signals related to received user input (e.g., where the shroud serves as a keypad) may be transmitted to the handheld device even if the protective shroud is removed from the handheld device.
    Type: Grant
    Filed: February 27, 2009
    Date of Patent: July 24, 2012
    Assignee: Microsoft Corporation
    Inventors: Timothy S. Paek, Eric Norman Badger, Daniel Allen Rosenfeld
  • Patent number: 8224784
    Abstract: Computer tools and methods novelly combine periodic backup and restore features with migration features to transfer the components of a failed system to a new system. As well as backing up and transferring critical data files during the disaster recovery operation, an aspect of the present invention also transfers, inter alia, applications, user states, hardware settings, software settings, user preferences and other user settings, menus, and directories. In another aspect of the present invention, a network of shared end-user computers periodically backs up each individual end-user computer to a central instrumentality, in a novel manner to reduce storage and time requirements. That is, redundancies for the end-user computer backup files are eliminated or greatly reduced by only making reference to but not storing components that are generic to the system, and further for each previously stored component, only storing differential or incremental information, unless predefined conditions are met.
    Type: Grant
    Filed: August 13, 2004
    Date of Patent: July 17, 2012
    Assignee: Microsoft Corporation
    Inventor: David L. Henrickson
  • Patent number: 8225131
    Abstract: Today, data networks are ever increasing in size and complexity. For example, a datacenter may comprise hundreds of thousands of service endpoints configured to perform work. To reduce network wide degradation, a load balancer may send work requests to healthy service endpoints, as opposed to unhealthy and/or inoperative service endpoints. Accordingly, among other things, one or more systems and/or techniques for monitoring service endpoints, which may be scalable for large scale networks, are provided. In particular, a consistent hash function may be performed to generate a monitoring scheme comprising assignments of service endpoints to monitoring groups. In this way, multiple monitoring components may monitor a subset of endpoints to ascertain health status. Additionally, the monitoring components may communicate between one another so that a monitoring component may know heath statuses of service endpoints both assigned and not assigned to the monitoring component.
    Type: Grant
    Filed: June 17, 2010
    Date of Patent: July 17, 2012
    Assignee: Microsoft Corporation
    Inventors: Saurabh Mahajan, Vladimir Shubin, Kevin Thomas Damour, Thekkthalackal Varugis Kurien, Lihua Yuan
  • Patent number: 8219539
    Abstract: Techniques and systems are disclosed for returning temporally-aware results from an Internet-based search query. To determine if a query is temporally-based one or more query features are collected and input into a trained classifier, yielding a temporal classification for the query. Further, if a query is classified as temporal, the query results are shifted by determining an alternate set of results for the query, and returning one or more alternate results to one or more users. Based on user interactions with the one or more alternate results, the classifier can be updated, for example, by changing the query to a non-temporal query if the user interactions identify it as such.
    Type: Grant
    Filed: April 7, 2009
    Date of Patent: July 10, 2012
    Assignee: Microsoft Corporation
    Inventors: Alan Dale Halverson, Krishnaram Kenthapadi, Nina Mishra, Aleksandrs Slivkins, Umar Ali Syed
  • Patent number: 8219215
    Abstract: A device with controllable mechanical characteristics makes available a list of controllable characteristics for use by a controller or host computer. The list may include not only controllable characteristics but also the available range for each control, the impact of each adjustment, or both. The host computer can evaluate an operating state of the computer or electronic device and determine how best to set the device for compatible operation with the operating state. When controllable characteristics have multiple effects and/or interact with other controllable characteristics, macros may be developed to perform multiple settings as a group to achieve the desired outcome. The list may also be downloaded from a web service.
    Type: Grant
    Filed: May 22, 2008
    Date of Patent: July 10, 2012
    Assignee: Microsoft Corporation
    Inventors: David Burg, Vlad Sadovsky
  • Patent number: 8212818
    Abstract: Development environments are commonly used to facilitate the development of user interfaces (e.g. windows forms, web forms, etc.). Drawing objects are components that may be used within the development environment to provide visual enhancements to the user interface. An effective method for drawing one or more drawing objects is disclosed herein to draw the drawing objects as windowless shapes within a shape container. The shape container may be configured to participate in a windows message loop (e.g. event handling system), wherein the windowless shapes do not participate in the windows message loop (e.g. lack a windows handle). The shape container listens, for example, within the windows message loop for operations pertaining to windowless shapes, and executes the operations upon the windowless shapes. Computer resources may be efficiently allocated, for example to the graphical user interface during runtime, instead of the windowless shapes consuming resources to participate in the windows message loop.
    Type: Grant
    Filed: August 8, 2008
    Date of Patent: July 3, 2012
    Assignee: Microsoft Corporation
    Inventors: John W. Hart, II, John Z. Chen, Taosheng Hu, Scott Tucker, Wenhui Zhu, Chen Ji, Steven Michael Hoag, Paul Yuknewicz
  • Patent number: 8200475
    Abstract: A method for transliterating languages in a computer system is disclosed. The method includes using a phonetic mapping engine to map languages to phonetic strings and vice versa. A user unfamiliar with a keyboard layout for a particular language may type phonetic strings using a known keyboard layout of a language known to the user. The typed input is captured by a keyboard hook, and based on a predefined phonetic mapping scheme, can be converted to the desired language.
    Type: Grant
    Filed: February 13, 2004
    Date of Patent: June 12, 2012
    Assignee: Microsoft Corporation
    Inventor: Krishna V Kotipalli
  • Patent number: 8201155
    Abstract: User assemblies can be created by a compiler that can handle more than one type definition during execution. Local copies are created for respective authoritative types in a code library, and the local copies are marked with a local type identifier. An authoritative type identifier (e.g., a globally unique identifier (GUID)) is copied from the authoritative type to the local type, and functions and properties associated with the local type are also copied from the authoritative type. Authoritative types are resolved for requested types when a local assembly references a local type from a compiled user assembly. The local type can be identified by a local type identifier, and an authoritative type can be retrieved from the code library that has a same authoritative type identifier as the requested type. A local copy of the retrieved authoritative type can be copied to the local assembly under compilation. The compiler can then emit user assemblies that comprise merely local types.
    Type: Grant
    Filed: January 9, 2009
    Date of Patent: June 12, 2012
    Assignee: Microsoft Corporation
    Inventors: Avner Y. Aharoni, Samuel Y. Ng, Michael Shneerson, Edward T. Maurer, Raja Krishnaswamy, Kevin Halverson, Timothy Y. Ng, Aleksey V. Tsingauz
  • Patent number: 8201244
    Abstract: Automated malware signature generation is disclosed. Automated malware signature generation includes monitoring incoming unknown files for the presence of malware and analyzing the incoming unknown files based on both a plurality of classifiers of file behavior and a plurality of classifiers of file content. An incoming file is classified as having a particular malware classification based on the analyzing of incoming unknown files and a malware signature is generated for the incoming unknown file based on the particular malware classification. Access is provided to the malware signature.
    Type: Grant
    Filed: September 19, 2006
    Date of Patent: June 12, 2012
    Assignee: Microsoft Corporation
    Inventors: Ning Sun, Patrick Winkler, Chengyun Chu, Hong Jia, Jason Geffner, Tony Lee, Jigar Mody, Frank Swiderski
  • Patent number: 8196103
    Abstract: A system and method for an ejection failure mechanism is provided. The system receives a request to eject an ejectable resource, and, provides information associated with a failure of the ejection of the ejectable resource, if ejection of the ejectable resource is unsuccessful. The system thus provides a deterministic mechanism through which information associated with failure of the ejection of an ejectable resource can be communicated. As such, an initiator of the request to eject can receive information associated with a cause of the ejection failure.
    Type: Grant
    Filed: February 15, 2008
    Date of Patent: June 5, 2012
    Assignee: Microsoft Corporation
    Inventors: Adam B. Glass, Josh Oshins
  • Patent number: 8196118
    Abstract: Recording of functional steps resulting from actions in an application is desirable for performing functional testing or user interface automation of an application. However, certain events that may result from actions occurring in an application are often difficult to record, which may lead to playback failure. Further, a user's intent when performing an action is difficult to determine. In order to obtain effective playback, a reliable and efficient recording of an application's functional steps needs to occur. Injecting wrapper functions into an application and monitoring an event generator's state before and after an action has occurred may yield more reliable and effective results.
    Type: Grant
    Filed: March 27, 2008
    Date of Patent: June 5, 2012
    Assignee: Microsoft Corporation
    Inventors: Moshe Vainer, S Neeraja Reddy, Shiva Shankar Thangadurai, Dmitri Klementiev
  • Patent number: 8196140
    Abstract: Threads operating in a computing environment often invoke service functions, such as methods of a programming library. Such invocations may sometimes cause a blocking of the thread, which may be protracted. A long pendency of the service function invocation and blocking of the thread may be acceptable in some operating contexts, such as the ordinary processing of the thread, but may be unacceptable in other operating contexts, such as while performing a function evaluation during debugging. Such blocking may be mitigated by redirecting a service function to an abort function if the service function is capable of blocking the thread and the thread is operating in a safe mode. The thread may then be permitted to execute, and the potentially blocking service functions may be avoided, resulting in a function evaluation abort (e.g., an exception) rather than a blocked thread and a failed debugging scenario.
    Type: Grant
    Filed: January 11, 2008
    Date of Patent: June 5, 2012
    Assignee: Microsoft Corporation
    Inventors: Gregg B. Miskelly, Azeemullah Khan, Jonathan Michael Stall, Paul Matthew Pietrek
  • Patent number: 8190703
    Abstract: An enhancement to a web browser offers an extension mechanism for web applications to utilize client-side resources, thereby moving more extensibility and flexibility to the client-side. The web browser may expose some control interfaces to meet various requirements from web applications. Using the extension mechanism, the web applications are able to offload the cloud servers, function when offline, and improve performance. The extension mechanism also provides users with full control to the data passing through their web browsers.
    Type: Grant
    Filed: April 23, 2008
    Date of Patent: May 29, 2012
    Assignee: Microsoft Corporation
    Inventors: Shiding Lin, Lidong Zhou, Chandramohan A. Thekkath, Dahlia Malkhi, Zheng Zhang
  • Patent number: 8185613
    Abstract: An IP (Internet Protocol) address is a directly observable identifier of host network traffic in the Internet and a host's IP address can dynamically change. Analysis of traffic (e.g., network activity or application request) logs may be performed and a host tracking graph may be generated that shows hosts and their bindings to IP addresses over time. A host tracking graph may be used to determine host accountability. To generate a host tracking graph, a host is represented. Host representations may be application-dependent. In an implementation, application-level identifiers (IDs) such as user email IDs, messenger login IDs, social network IDs, or cookies may be used. Each identifier may be associated with a human user. These unreliable IDs can be used to track the activity of the corresponding hosts.
    Type: Grant
    Filed: June 8, 2009
    Date of Patent: May 22, 2012
    Assignee: Microsoft Corporation
    Inventors: Yinglian Xie, Fang Yu, Martin Abadi