Microsoft Patent Grants

Asynchronous handling of a user interface manipulation

Granted: March 21, 2017
Patent Number: 9600166
This document describes techniques and apparatuses for asynchronous handling of a user interface manipulation. These techniques handle a user interface manipulation with two or more asynchronous processes. One asynchronous process, for example, may determine a position responsive to the user interface manipulation while another asynchronous process determines the pixels to render. By so doing, these techniques enable a quick and/or consistent response to a user interface manipulation.

Live configurable storage

Granted: March 21, 2017
Patent Number: 9600181
A system for storing data in a dynamic fashion. The system includes a storage entity. The storage entity includes portions of a plurality of different persistent storage devices. Each storage device has a set of constraints. The storage entity is configured to store data in a dynamic fashion in a layout on the persistent storage devices of the storage entity that meets the different data requirements for the data while still being within the constraints for the persistent storage…

Request ordering support when switching virtual disk replication logs

Granted: March 21, 2017
Patent Number: 9600206
Storage access requests, such as write requests, are received from a virtual machine. A storage request processing module updates one of multiple virtual disks as directed by each of the storage access requests, and a replication management module stores information associated with each storage access request in one of multiple logs. The logs can be transferred to a recovery device at various intervals and/or in response to various events, which results in switching logs so that the…

Declarative programming model with a native programming language

Granted: March 21, 2017
Patent Number: 9600250
An execution environment in a computer system supports a declarative programming model where user code is written with a query syntax in a native programming language to express inherent parallelism in terms of data flow. The execution environment translates queries in the user code into a runtime agnostic representation and dynamically selects an execution runtime for executing the runtime agnostic representation.

Dynamic data and compute resource elasticity

Granted: March 21, 2017
Patent Number: 9600255
An execution environment in a computer system provides dynamic data and compute resources elasticity for user code to improve execution efficiency. The execution environment translates the user code into a runtime agnostic representation with a set of tasks. For each task, the execution environment determines a level of concurrency for executing the task based on the size of the set of input data for the task, the amount of compute resources available at the time of invocation of the…

Incrementally compiling software artifacts from an interactive development environment

Granted: March 21, 2017
Patent Number: 9600256
An interactive development environment receives developer inputs to develop or customize modeled types. A compilation agent receives a request from the IDE to compile the modeled types that the developer is developing or customizing. The compilation agent accesses a cache of previously compiled types and determines which of the individually loadable types are to be re-compiled based upon the changes made by the developer, and compiles only those identified types. The re-compiled types…

Hierarchical directives-based management of runtime behaviors

Granted: March 21, 2017
Patent Number: 9600272
Support for dynamic behavior is specified while reducing reliance on JIT compilation and large runtimes; semantic characteristics are selectively attached to types and type members outside source code. A directives document contains human-readable directives in a parsable format for submission to an innovative compiler. The directives specify whether a type T or type member M is required, optional, or prohibited in a runtime environment. Some reference an application, library, assembly,…

Creating templates of offline resources

Granted: March 21, 2017
Patent Number: 9600276
Implementations of the present invention allow software resources to be duplicated efficiently and effectively while offline. In one implementation, a preparation program receives an identification of a software resource, such as a virtual machine installed on a different volume, an offline operating system, or an application program. The preparation program also receives an indication of customized indicia that are to be removed from the software resource. These indicia can include…

Blocking objectionable content in service provider storage systems

Granted: March 21, 2017
Patent Number: 9600582
When objects are shared by one user with another user, objectionable content, if identified as such, can be blocked from being shared, while the remainder of the shared objects can be accessed by the other user. Functions that allow sharing of content are implemented so as prevent sharing of objectionable content with another user, while allowing other content to be shared. If a group of files or objects is shared, then the presence of objectionable content in one object in the group…

Using reading levels in responding to requests

Granted: March 21, 2017
Patent Number: 9600585
A request can be received and a request reading level representation for the request can be inferred. In response to the request, the request reading level representation can be compared with one or more reading difficulty level representations for one or more response items. Also in response to the request, one or more indications of results of comparing the request reading level representation with one or more reading difficulty level representations for the one or more response items…

Resource-based action attribution

Granted: March 21, 2017
Patent Number: 9600669
A system of resource-based action attribution provides a mechanism for tracking actions performed on a resource shared among multiple users of a resource sharing system, whether the users are authenticated within the resource sharing system or not. The tracking mechanism may allow users to track identifying information of other users who perform actions (e.g., editing actions) on the shared resource. A user can access a resource by providing a resource identifier and/or an access…

Providing an aggregate display of contact data from internal and external sources

Granted: March 21, 2017
Patent Number: 9600804
An aggregate display of contact data from internal and external sources is provided. Contact data associated with at least one contact is obtained from a plurality of sources, including at least an internal source and an external source. The obtained contact data is processed to generate an aggregated collection of contact data. The aggregated collection of contact data is stored. A display of the aggregated collection of contact data is displayed in a single, interactive interface.

Cross-platform data visualizations using common descriptions

Granted: March 21, 2017
Patent Number: 9600915
The present invention extends to methods, systems, and computer program products for cross-platform data visualizations using common descriptions. Embodiments of the invention provide mechanisms for simplifying software development and enhanced code reliability. A user interface, along with interactive and dynamic characteristics, can be described (programmatically and/or declaratively) independently of any specific device platform. User interface qualities can be described using a…

Incorporating an exogenous large-vocabulary model into rule-based speech recognition

Granted: March 21, 2017
Patent Number: 9601108
Incorporation of an exogenous large-vocabulary model into rule-based speech recognition is provided. An audio stream is received by a local small-vocabulary rule-based speech recognition system (SVSRS), and is streamed to a large-vocabulary statistically-modeled speech recognition system (LVSRS). The SVSRS and LVSRS perform recognitions of the audio. If a portion of the audio is not recognized by the SVSRS, a rule is triggered that inserts a mark-up in the recognition result. The…

Slot antenna integrated into a resonant cavity of an electronic device case

Granted: March 21, 2017
Patent Number: 9601824
An electronic device case includes a conductive cap section and a conductive bezel section forming a perimeter outside the conductive cap section and separated from the conductive cap section by a bezel gap. A conductive ground plane section forms a perimeter and is positioned opposite the conductive cap section and the conductive bezel section. The conductive ground plane section is separated from the conductive bezel section by a perimeter gap. One or more components reside between the…

Single frequency time of flight de-aliasing

Granted: March 21, 2017
Patent Number: 9602807
A system and method are disclosed for determining a depth map using TOF with low power consumption. In order to disambiguate, or de-alias, the returned distance(s) for a given phase shift, the system may emit n different frequencies of light over n successive image frames. After n frames of data are collected, the distances may be correlated by a variety of methodologies to determine a single distance to the object as measured over n image frames. As one frequency may be emitted per…

Estimating a room impulse response

Granted: March 21, 2017
Patent Number: 9602923
Various methods and systems for estimating a room impulse response between an audio source and an array of microphones are described. In one example, a method includes receiving audio signals at a microphone of an array of microphones. The audio signals correspond to each of the microphones in the array of microphones. The method also includes determining a room impulse response in a subspace that is compatible with a geometry of the array of microphones based on the received audio…

Intelligent surfacing of reminders

Granted: March 21, 2017
Patent Number: 9602975
Calendar and scheduling applications organize and display user events and provide event reminders. A method of triggering a reminder includes accessing a reminder which describes an event. An individual associated with the event, other than the user, is identified. A future time is predicted when the user will be within proximity of the individual. A time to trigger the reminder for presentation to the user is determined, such that the time to trigger the reminder occurs in advance of…

Management of community Wi-Fi network

Granted: March 21, 2017
Patent Number: 9603028
Various technologies described herein pertain to managing and accessing a community Wi-Fi network. The community Wi-Fi network can include sharer computing devices in differing local networks that share respective network bandwidth capacities with consumer computing devices. Feedback information pertaining to network bandwidth capacity available at different geographic locations covered by the community Wi-Fi network can be collected and evaluated to enable generation of maps for…

Datacenter and cooling control fault-tolerance using compute resources

Granted: March 21, 2017
Patent Number: 9603282
Management of infrastructure devices is performed by computing devices that are associated with the processing being provided by the data center, such as chassis managers. A master is first selected through polling or consensus algorithms, and then subsequently the master is endowed with the authority to manage infrastructure devices and generate the control output to such infrastructure devices. Alternatively, no master need be elected and, instead, output to such infrastructure devices…