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: 20190310885
    Abstract: 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: Application
    Filed: June 24, 2019
    Publication date: October 10, 2019
    Inventors: YING YAN, YANJIE GAO, YANG CHEN, THOMAS MOSCIBRODA, NARAYANAN GANAPATHY, BOLE CHEN, ZHONGXIN GUO
  • Patent number: 10379587
    Abstract: 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: Grant
    Filed: September 8, 2017
    Date of Patent: August 13, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Bojun Huang, Julia L Meinershagen, Thomas Moscibroda, Stephen E. Hodges, Ranveer Chandra
  • Patent number: 10375517
    Abstract: 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: Grant
    Filed: March 8, 2013
    Date of Patent: August 6, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Guobin (Jacky) Shen, Yongguang Zhang, Thomas Moscibroda
  • Publication number: 20190195635
    Abstract: 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: Application
    Filed: September 7, 2016
    Publication date: June 27, 2019
    Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Yuanchao SHU, Börje Felipe Fernandes KARLSSON, Thomas MOSCIBRODA, Yundie ZHANG, Zhuqi LI
  • Patent number: 10331479
    Abstract: 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: Grant
    Filed: January 13, 2017
    Date of Patent: June 25, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Ying Yan, Yanjie Gao, Yang Chen, Thomas Moscibroda, Narayanan Ganapathy, Bole Chen, Zhongxin Guo
  • Patent number: 10263421
    Abstract: 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: Grant
    Filed: July 14, 2017
    Date of Patent: April 16, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: 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: 20190107875
    Abstract: 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: Application
    Filed: April 3, 2018
    Publication date: April 11, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Anirudh Badam, Ranveer Chandra, Nissanka Arachchige Bodhi Priyantha, Jonathan Alan Dutra, Julia L. Meinershagen, Stephen E. Hodges, Thomas Moscibroda
  • Patent number: 10228747
    Abstract: 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: Grant
    Filed: June 5, 2017
    Date of Patent: March 12, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: 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: 20180375164
    Abstract: 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: Application
    Filed: August 9, 2018
    Publication date: December 27, 2018
    Inventors: Stephen E. Hodges, Ranveer Chandra, Julia L. Meinershagen, Nissanka Arachige Bodhi Priyantha, Anirudh Badam, Thomas Moscibroda, Anthony John Ferrese
  • Patent number: 10158148
    Abstract: 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: Grant
    Filed: February 18, 2015
    Date of Patent: December 18, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Stephen E. Hodges, Ranveer Chandra, Julia L. Meinershagen, Nissanka Arachchige Bodhi Priyantha, Anirudh Badam, Thomas Moscibroda, Anthony John Ferrese
  • Publication number: 20180349275
    Abstract: 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: Application
    Filed: August 15, 2014
    Publication date: December 6, 2018
    Inventors: Jinglei Ren, Mike Chieh-Jan Liang, Thomas Moscibroda
  • Patent number: 10061366
    Abstract: 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: Grant
    Filed: November 17, 2015
    Date of Patent: August 28, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Anirudh Badam, Ranveer Chandra, Nissanka Arachchige Bodhi Priyantha, Jonathan Alan Dutra, Julia L. Meinershagen, Stephen E. Hodges, Thomas Moscibroda
  • Publication number: 20180234492
    Abstract: 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: Application
    Filed: August 10, 2016
    Publication date: August 16, 2018
    Inventors: Thomas MOSCIBRODA, Yang CHEN, James E. JOHNSON, Ajay MANI, Mark Eugene RUSSINOVICH
  • Publication number: 20180225661
    Abstract: 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: Application
    Filed: June 29, 2017
    Publication date: August 9, 2018
    Inventors: Mark RUSSINOVICH, Manuel COSTA, Matthew KERNER, Thomas MOSCIBRODA
  • Publication number: 20180225448
    Abstract: 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: Application
    Filed: June 29, 2017
    Publication date: August 9, 2018
    Inventors: Mark RUSSINOVICH, Manuel COSTA, Matthew KERNER, Thomas MOSCIBRODA
  • Publication number: 20180227275
    Abstract: 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: Application
    Filed: June 29, 2017
    Publication date: August 9, 2018
    Inventors: Mark RUSSINOVICH, Manuel COSTA, Matthew KERNER, Thomas MOSCIBRODA
  • Publication number: 20180203728
    Abstract: 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: Application
    Filed: January 13, 2017
    Publication date: July 19, 2018
    Inventors: YING YAN, YANJIE GAO, YANG CHEN, THOMAS MOSCIBRODA, NARAYANAN GANAPATHY, BOLE CHEN, ZHONGXIN GUO
  • Publication number: 20180136960
    Abstract: 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: Application
    Filed: June 10, 2016
    Publication date: May 17, 2018
    Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Jiaxing ZHANG, Thomas MOSCIBRODA, Haoran WANG, Jurgen Aubrey WILLIS, Yang CHEN, Ying YAN, James E. Johnson, Jr., Ajay MANI
  • Publication number: 20180107696
    Abstract: 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: Application
    Filed: June 3, 2016
    Publication date: April 19, 2018
    Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Thomas MOSCIBRODA, Liang Jeff CHEN, Xiao HUANG, Ying YAN, Yueguo CHEN, Xudong ZHENG, Haoqiong BIAN
  • Patent number: 9939862
    Abstract: 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: Grant
    Filed: November 13, 2015
    Date of Patent: April 10, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Anirudh Badam, Ranveer Chandra, Nissanka Arachchige Bodhi Priyantha, Jonathan Alan Dutra, Julia L. Meinershagen, Stephen E. Hodges, Thomas Moscibroda