Patents by Inventor Thomas Moscibroda
Thomas Moscibroda has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20190310885Abstract: Aspects of the technology described herein can facilitate computing on transient resources. An exemplary computing device may use a task scheduler to access information of a computational task and instability information of a transient resource. Moreover, the task scheduler can schedule the computational task to use the transient resource based at least in part on the rate of data size reduction of the computational task. Further, a checkpointing scheduler in the exemplary computing device can determine a checkpointing plan for the computational task based at least in part on a recomputation cost associated with the instability information of the transient resource. Resultantly, the overall utilization rate of computing resources is improved by effectively utilizing transient resources.Type: ApplicationFiled: June 24, 2019Publication date: October 10, 2019Inventors: YING YAN, YANJIE GAO, YANG CHEN, THOMAS MOSCIBRODA, NARAYANAN GANAPATHY, BOLE CHEN, ZHONGXIN GUO
-
Patent number: 10379587Abstract: Various embodiments provide techniques and devices for scheduling power loads in devices having multiple batteries. Loads are characterized based on the power required to serve them. Loads are then assigned to batteries in response to the type of load and relative monitored characteristics of the batteries. The monitored battery characteristics can change over time. In some embodiments, stored profile information of the batteries can also be used in scheduling loads. In further embodiments, estimated workloads can also be used to schedule loads.Type: GrantFiled: September 8, 2017Date of Patent: August 13, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Bojun Huang, Julia L Meinershagen, Thomas Moscibroda, Stephen E. Hodges, Ranveer Chandra
-
Patent number: 10375517Abstract: Some implementations include identifying a location for a device perceived landmark. The location is identified by monitoring received signal strength of a signal of a wireless access point, detecting the location at which the trend in the received signal strength changes direction, and qualifying the location based on measurements taken form one or more inertial measurement unit sensors.Type: GrantFiled: March 8, 2013Date of Patent: August 6, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Guobin (Jacky) Shen, Yongguang Zhang, Thomas Moscibroda
-
Publication number: 20190195635Abstract: In accordance with implementations of the subject matter described herein, a new approach for generating indoor navigation is proposed. Generally speaking, a reference signal that includes time series data collected by at least one environment sensor along a reference path from a start point to a destination is obtained. For example, the reference signal may be obtained by environment sensors equipped in a user's mobile device or another movable entity. Then, a movement event by identifying a pattern from the reference signal, the pattern describing measurements of the at least one environment sensor associated with a specific movement is extracted. Next, a navigation instruction is generated to indicate that the movement event occurs during a movement of the at least one environment sensor along the reference path. Further, the navigation instruction may be provided to a person for indoor navigation.Type: ApplicationFiled: September 7, 2016Publication date: June 27, 2019Applicant: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Yuanchao SHU, Börje Felipe Fernandes KARLSSON, Thomas MOSCIBRODA, Yundie ZHANG, Zhuqi LI
-
Patent number: 10331479Abstract: Aspects of the technology described herein can facilitate computing on transient resources. An exemplary computing device may use a task scheduler to access information of a computational task and instability information of a transient resource. Moreover, the task scheduler can schedule the computational task to use the transient resource based at least in part on the rate of data size reduction of the computational task. Further, a checkpointing scheduler in the exemplary computing device can determine a checkpointing plan for the computational task based at least in part on a recomputation cost associated with the instability information of the transient resource. Resultantly, the overall utilization rate of computing resources is improved by effectively utilizing transient resources.Type: GrantFiled: January 13, 2017Date of Patent: June 25, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Ying Yan, Yanjie Gao, Yang Chen, Thomas Moscibroda, Narayanan Ganapathy, Bole Chen, Zhongxin Guo
-
Patent number: 10263421Abstract: This document describes techniques and apparatuses of load allocation for multi-battery devices. In some embodiments, these techniques and apparatuses determine an amount of load power that a multi-battery device consumes to operate. Respective efficiencies at which the device's multiple batteries are capable of providing power are also determined. A respective portion of load power is then drawn from each of the batteries based on their respective efficiencies.Type: GrantFiled: July 14, 2017Date of Patent: April 16, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Bojun Huang, Thomas Moscibroda, Ranveer Chandra, Stephen E. Hodges, Julia L. Meinershagen, Nissanka Arachchige Bodhi Priyantha, Anirudh Badam, Pan Hu, Anthony John Ferrese, Evangelia Skiani
-
Publication number: 20190107875Abstract: Latency-based selections of energy storage devices are described herein. In implementations, latency behavior of computing tasks performed by a computing device is predicted for a period of time. Based on the predicted latency behavior of the computing device over the period of time, an assessment is made regarding which of multiple heterogeneous energy storage devices are most appropriate to service the system workload. For example, high energy density devices may be favored for latency sensitive tasks whereas high energy density devices may be favored when latency sensitivity is not a concern. A combination of energy storage devices to service the current workload is selected based upon the latency considerations and then power supply settings are adjusted to cause supply of power from the selected combination of energy storage devices during the time period.Type: ApplicationFiled: April 3, 2018Publication date: April 11, 2019Applicant: Microsoft Technology Licensing, LLCInventors: Anirudh Badam, Ranveer Chandra, Nissanka Arachchige Bodhi Priyantha, Jonathan Alan Dutra, Julia L. Meinershagen, Stephen E. Hodges, Thomas Moscibroda
-
Patent number: 10228747Abstract: This document describes techniques and apparatuses for suppressing power spikes. In some embodiments, these techniques and apparatuses determine an available amount of power that a battery is capable of providing while maintaining a particular voltage level and a requisite amount of power that components will consume to perform a task. When the requisite amount of power exceeds the available amount of power, execution of the task or other tasks can be rescheduled effective to enable the battery to maintain the particular voltage level.Type: GrantFiled: June 5, 2017Date of Patent: March 12, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Ranveer Chandra, Stephen E. Hodges, Julia L. Meinershagen, Nissanka Arachchige Bodhi Priyantha, Anirudh Badam, Thomas Moscibroda, Pan Hu, Anthony John Ferrese, Evangelia Skiani
-
Publication number: 20180375164Abstract: Techniques for dynamically changing internal state of a battery are described herein. Generally, different battery configurations are described that enable transitions between different battery power states, such as to accommodate different battery charge and/or discharge scenarios.Type: ApplicationFiled: August 9, 2018Publication date: December 27, 2018Inventors: Stephen E. Hodges, Ranveer Chandra, Julia L. Meinershagen, Nissanka Arachige Bodhi Priyantha, Anirudh Badam, Thomas Moscibroda, Anthony John Ferrese
-
Patent number: 10158148Abstract: Techniques for dynamically changing internal state of a battery are described herein. Generally, different battery configurations are described that enable transitions between different battery power states, such as to accommodate different battery charge and/or discharge scenarios.Type: GrantFiled: February 18, 2015Date of Patent: December 18, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Stephen E. Hodges, Ranveer Chandra, Julia L. Meinershagen, Nissanka Arachchige Bodhi Priyantha, Anirudh Badam, Thomas Moscibroda, Anthony John Ferrese
-
Publication number: 20180349275Abstract: The subject matter described herein relates to a file system with adaptive flushing for an electronic device. The file system keeps data in memory much longer and its policy for flushing in-memory write cache to storage is application-aware and adaptive. More specifically, what parts of the cached data are ready for flushing could be determined according to the access characteristic of an application. In addition, when to do flushing can be selected flexibly at least partly based on user input interactions with an application of the electronic device or with the electronic device. Further, a multi-priority scheduling mechanism for scheduling data units that are ready to be flushed could be employed, which ensures fairness among applications and further improves flushing performance.Type: ApplicationFiled: August 15, 2014Publication date: December 6, 2018Inventors: Jinglei Ren, Mike Chieh-Jan Liang, Thomas Moscibroda
-
Patent number: 10061366Abstract: Schedule-based energy storage device selection is described for a device having an energy storage device system with heterogeneous energy storage devices, such as heterogeneous battery cells. The techniques discussed herein use information regarding a user's schedule (e.g., the user's calendar) to predict future workload patterns for a computing device and reserve energy storage device capacities across multiple heterogeneous energy storage devices to improve efficiency of the energy storage devices. For example, if a user is expected to attend a video conference call later in the day (e.g., due to the video conference call being on the user's calendar), then energy in an energy storage device that is better capable of handling such a workload (providing power during the video conference call) more efficiently is preserved so that the energy is available when the video conference call occurs.Type: GrantFiled: November 17, 2015Date of Patent: August 28, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Anirudh Badam, Ranveer Chandra, Nissanka Arachchige Bodhi Priyantha, Jonathan Alan Dutra, Julia L. Meinershagen, Stephen E. Hodges, Thomas Moscibroda
-
Publication number: 20180234492Abstract: In various embodiments, methods and systems for optimizing allocation of multi-priority service instances are provided. In embodiments, a packing quality metric associated with each candidate node to which a service instance could be allocated are determined. An eviction cost associated with at least a portion of the candidate nodes to which the service instance could be allocated are determined. The eviction costs generally indicate a cost to evict a service instance from a corresponding node such that another service instance can be allocated to that node. At least a portion of the packing quality metrics and the eviction costs are used to select a node from the candidate nodes to which to allocate the service instance.Type: ApplicationFiled: August 10, 2016Publication date: August 16, 2018Inventors: Thomas MOSCIBRODA, Yang CHEN, James E. JOHNSON, Ajay MANI, Mark Eugene RUSSINOVICH
-
Publication number: 20180225661Abstract: The disclosed technology is generally directed to blockchain and other authentication technology. In one example of the technology, a pre-determined type of blockchain or other authentication protocol code and a pre-determined type of consensus code are stored in a trusted execution environment (TEE) of a processor. In some examples, TEE attestation is used to verify that the blockchain or other authentication protocol code stored in the TEE is the pre-determined type of blockchain or other authentication protocol code, and to verify that the consensus code stored in the TEE is the pre-determined type of consensus code. A request to alter the pre-determined type of blockchain or other authentication protocol code may be received. A determination may be made as to whether to change the pre-determined type of blockchain or other authentication protocol code based on the pre-determined consensus code.Type: ApplicationFiled: June 29, 2017Publication date: August 9, 2018Inventors: Mark RUSSINOVICH, Manuel COSTA, Matthew KERNER, Thomas MOSCIBRODA
-
Publication number: 20180225448Abstract: The disclosed technology is generally directed to blockchain and other security technology. In one example of the technology, a pre-determined type of blockchain or other security protocol code is stored in a trusted execution environment (TEE) of the processor. TEE attestation is used to verify that the blockchain or other security protocol code stored in the TEE is the pre-determined type of blockchain or other security protocol code. A blockchain or other transaction is received and processed. Based on the processing of the transaction, an official state of the transaction on a consortium network is directly updated for the network. The updated official state of the processed transaction is broadcasted to the consortium network.Type: ApplicationFiled: June 29, 2017Publication date: August 9, 2018Inventors: Mark RUSSINOVICH, Manuel COSTA, Matthew KERNER, Thomas MOSCIBRODA
-
Publication number: 20180227275Abstract: The disclosed technology is generally directed to blockchain and other security technology. In one example of the technology, a first node is endorsed. During endorsement of a first node, a pre-determined type of blockchain or other security protocol code to be authorized and a pre-determined membership list are stored in a trusted execution environment (TEE) of the first node. A determination is made as to whether the membership lists and pre-determined blockchain or other security protocol code to be authorized from the proposed members match. If so, TEE attestation is used to verify that nodes associated with prospective members of the consortium store the pre-determined type of blockchain or other security protocol code to be authorized. Upon TEE attestation being successful, a consortium network is bootstrapped such that the prospective members become members of the consortium network.Type: ApplicationFiled: June 29, 2017Publication date: August 9, 2018Inventors: Mark RUSSINOVICH, Manuel COSTA, Matthew KERNER, Thomas MOSCIBRODA
-
Publication number: 20180203728Abstract: Aspects of the technology described herein can facilitate computing on transient resources. An exemplary computing device may use a task scheduler to access information of a computational task and instability information of a transient resource. Moreover, the task scheduler can schedule the computational task to use the transient resource based at least in part on the rate of data size reduction of the computational task. Further, a checkpointing scheduler in the exemplary computing device can determine a checkpointing plan for the computational task based at least in part on a recomputation cost associated with the instability information of the transient resource. Resultantly, the overall utilization rate of computing resources is improved by effectively utilizing transient resources.Type: ApplicationFiled: January 13, 2017Publication date: July 19, 2018Inventors: YING YAN, YANJIE GAO, YANG CHEN, THOMAS MOSCIBRODA, NARAYANAN GANAPATHY, BOLE CHEN, ZHONGXIN GUO
-
Publication number: 20180136960Abstract: Systems and methods are taught for providing customers of a cloud computing service to control when updates affect the services provided to the customers. Because multiple customers share the cloud's infrastructure, each customer may have conflicting preferences for when an update and associated downtime occurs. Preventing and resolving conflicts between the preferences of multiple customers while providing them with input for scheduling a planned update may reduce the inconvenience posed by updates. Additionally, the schedule for the update may be transmitted to customers so that they can prepare for the downtime of services associated with the update.Type: ApplicationFiled: June 10, 2016Publication date: May 17, 2018Applicant: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Jiaxing ZHANG, Thomas MOSCIBRODA, Haoran WANG, Jurgen Aubrey WILLIS, Yang CHEN, Ying YAN, James E. Johnson, Jr., Ajay MANI
-
Publication number: 20180107696Abstract: Systems, methods, and computer-readable media for determining column ordering of a data storage table for search optimization are described herein. In some examples, a computing system is configured to receive input containing statistics of a plurality of queries. The computing system can then determine a new column order (i.e., layout) based at least in part on the statistics. In some example techniques described herein, the computing system can determine the new column order based at least in part on the hardware components storing the data storage table, storage system parameters, and/or user preference information. Example techniques described herein can apply the new column order to data subsequently added to the data storage table. Example techniques described herein can apply the new column order to existing data in the data storage table.Type: ApplicationFiled: June 3, 2016Publication date: April 19, 2018Applicant: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Thomas MOSCIBRODA, Liang Jeff CHEN, Xiao HUANG, Ying YAN, Yueguo CHEN, Xudong ZHENG, Haoqiong BIAN
-
Patent number: 9939862Abstract: Latency-based selections of energy storage devices are described herein. In implementations, latency behavior of computing tasks performed by a computing device is predicted for a period of time. Based on the predicted latency behavior of the computing device over the period of time, an assessment is made regarding which of multiple heterogeneous energy storage devices are most appropriate to service the system workload. For example, high energy density devices may be favored for latency sensitive tasks whereas high energy density devices may be favored when latency sensitivity is not a concern. A combination of energy storage devices to service the current workload is selected based upon the latency considerations and then power supply settings are adjusted to cause supply of power from the selected combination of energy storage devices during the time period.Type: GrantFiled: November 13, 2015Date of Patent: April 10, 2018Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Anirudh Badam, Ranveer Chandra, Nissanka Arachchige Bodhi Priyantha, Jonathan Alan Dutra, Julia L. Meinershagen, Stephen E. Hodges, Thomas Moscibroda