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: 20210034615
    Abstract: In embodiments of the present disclosure, there is provided a scheme for translating a functional graph traversal language to an extended Structured Query Language (SQL). After a first query compiled with the functional graph traversal language is obtained, the first query is translated to a second query in the form of the extended Structured Query Language based on the translating rules. By extending the standard Structured Query Language, embodiments of the present disclosure enable retaining directed edges between vertices in the graph database in the second query and retaining flow control, iteration, temporary variable definition, advanced data structure, side effect, and dependency between steps included in the first query.
    Type: Application
    Filed: January 25, 2019
    Publication date: February 4, 2021
    Inventors: Liang Chen, Thomas Moscibroda, Shireesh K. Thota, Jayanta Mondal, Adrian I. Predescu, Oliver D. Towers
  • Patent number: 10903531
    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: August 9, 2018
    Date of Patent: January 26, 2021
    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: 20210004250
    Abstract: The present disclosure describes a type of virtual machine, which the present disclosure may refer to as a harvest virtual machine, that may allow improved utilization of physical computing resources on a cloud-computing system. First, the harvest virtual machine may be evictable. In other words, higher priority virtual machines may preempt the harvest virtual machine's access to physical computing resources. Second, the harvest virtual machine may receive access to a dynamic amount of physical computing resources during the course of its operating life. Third, the harvest virtual machine may have a minimum size (in terms of an amount of physical computing resources) and may terminate whenever the harvest virtual machine has access to an amount of physical computing resources less than the minimum size.
    Type: Application
    Filed: July 1, 2019
    Publication date: January 7, 2021
    Inventors: Kapil ARYA, Aditya BHANDARI, Ricardo Gouvêa BIANCHINI, Brian Jacob CORELL, Yimin DENG, Sameh M. ELNIKETY, Marcus Felipe FONTOURA, Inigo GOIRI PRESA, Alper GUN, Thomas MOSCIBRODA, Chandrasekhar PASUPULETI, Ke WANG
  • Publication number: 20200387401
    Abstract: The present disclosure relates to systems, methods, and computer readable media for predicting deployment growth on one or more node clusters and selectively permitting deployment requests on a per cluster basis. For example, systems disclosed herein may apply tenant growth prediction system trained to output a deployment growth classification indicative of a predicted growth of deployments on a node cluster. The system disclosed herein may further utilize the deployment growth classification to determine whether a deployment request may be permitted while maintaining a sufficiently sized capacity buffer to avoid deployment failures for existing deployments previously implemented on the node cluster. By selectively permitting or denying deployments based on a variety of factors, the systems described herein can more efficiently utilize cluster resources on a per-cluster basis without causing a significant increase in deployment failures for existing customers.
    Type: Application
    Filed: September 20, 2019
    Publication date: December 10, 2020
    Inventors: Shandan ZHOU, John Lawrence MILLER, Christopher COWDERY, Thomas MOSCIBRODA, Shanti KEMBURU, Yong XU, Si QIN, Qingwei LIN, Eli CORTEZ, Karthikeyan SUBRAMANIAN
  • Publication number: 20200334195
    Abstract: In accordance with implementations of the subject matter described herein, there provides a solution for multi-path RDMA transmission. In the solution, at least one packet is generated based on an RDMA message to be transmitted from a first device to a second device. The first device has an RDMA connection with the second device via a plurality of paths. A first packet in the at least one packet includes a plurality of fields, which include information for transmitting the first packet over a first path of the plurality of paths. The at least one packet is transmitted to the second device over the plurality of paths via an RDMA protocol. The first packet is transmitted over the first path. The multi-path RDMA transmission solution according to the subject matter described herein can efficiently utilize rich network paths while maintaining a low memory footprint in a network interface card.
    Type: Application
    Filed: December 6, 2017
    Publication date: October 22, 2020
    Inventors: Guo Chen, Thomas Moscibroda, Peng Cheng, Yuanwei Lu, Yongqiang Xiong
  • Patent number: 10764259
    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: Grant
    Filed: June 29, 2017
    Date of Patent: September 1, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mark Russinovich, Manuel Costa, Matthew Kerner, Thomas Moscibroda
  • Publication number: 20200236160
    Abstract: In various embodiments, methods and systems for optimizing allocation of multi-priority service instances are provided. In embodiments, a quality metric associated with each candidate node to which a service instance could be allocated is determined. An eviction cost or a survival metric 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 quality metrics and either the eviction costs or the survival metrics are used to select a node from the candidate nodes to which to allocate the service instance.
    Type: Application
    Filed: April 3, 2020
    Publication date: July 23, 2020
    Inventors: Thomas MOSCIBRODA, Yang CHEN, James E. JOHNSON, Ajay MANI, Mark Eugene RUSSINOVICH
  • Patent number: 10697778
    Abstract: In accordance with implementations of the subject matter described herein, a new approach for creating a navigation trace is proposed. In these implementations, a reference signal is obtained, where the reference signal includes time series data collected by at least one environment sensor along a reference path from a start point to a destination. Then, a navigation trace is created for the reference path based on the obtained reference signal, where magnitudes at locations of the navigation trace reflect measurements collected by the at least one environment sensor at respective time points of the reference signal. In accordance with implementations of the subject matter described herein, a new approach for generating a navigation instruction from a navigation trace.
    Type: Grant
    Filed: September 7, 2016
    Date of Patent: June 30, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yuanchao Shu, Börje Felipe Fernandes Karlsson, Thomas Moscibroda, Yundie Zhang, Zhuqi Li
  • Publication number: 20200167302
    Abstract: According to implementations of the subject matter described herein, there is proposed a solution for supporting communications for an FPGA device. In an implementation, the FPGA device includes an application module and protocol stack modules. The protocol stack modules are operable to access target devices based on different communication protocols via a physical interface. The FPGA device further includes a universal access module operable to receive, from the application module, first data and a first identity of a first target device, the first target device acting as a destination of the first data, and transmit, based on the first identity and predetermined first routing information, the first data to a first protocol stack module accessible to the first target device via the physical interface. By introducing the universal access module, it is possible to provide unified and direct communications for the application module.
    Type: Application
    Filed: April 24, 2018
    Publication date: May 28, 2020
    Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Peng CHENG, Ran SHU, Guo CHEN, Yongqiang XIONG, Jiansong ZHANG, Ningyi XU, Thomas MOSCIBRODA
  • Publication number: 20200159561
    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: October 28, 2019
    Publication date: May 21, 2020
    Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Jiaxing ZHANG, Thomas MOSCIBRODA, Haoran WANG, Jurgen Aubrey WILLIS, Yang CHEN, Ying YAN, James E. Johnson, Ajay MANI
  • Patent number: 10630765
    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: Grant
    Filed: August 10, 2016
    Date of Patent: April 21, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Thomas Moscibroda, Yang Chen, James E. Johnson, Ajay Mani, Mark Eugene Russinovich
  • Publication number: 20200117630
    Abstract: The implementations of the subject matter described herein relate to communication between field programmable gate arrays. In some implementations, an FPGA device comprises a first protocol stack configured to: receive, from a source application, a data transmitting request for a destination application; package the data transmitting request into a first packet by adding a header to the data transmitting request, the header indicating the source application and the destination application; and transmit a physical address of a second protocol stack connected with the destination application. The FPGA device further comprises a PCIe interface configured to: package the first packet into a second packet based on the physical address of the second protocol stack received from the first protocol stack so that the first packet serves as a data portion of the second packet, the second packet being a TLP conforming to the PCIe standard; and transmit the second packet.
    Type: Application
    Filed: April 25, 2018
    Publication date: April 16, 2020
    Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Peng CHENG, Ran SHU, Guo CHEN, Yongqiang XIONG, Jiansong ZHANG, Ningyi XU, Thomas MOSCIBRODA
  • Publication number: 20200117494
    Abstract: The present disclosure relates to systems, methods, and computer readable media that utilize a low-impact live-migration system to reduce unfavorable impacts caused as a result of live-migrating computing containers between physical server devices of a cloud computing system. For example, systems disclosed herein evaluates characteristics of computing containers on server devices to determine a predicted unfavorable impact of live-migrating the computing containers between the server devices. Based on the predicted impact, the systems disclosed herein can selectively identify which computing containers to live-migrate as well as carry out live-migration of the select computing containers in such a way the significantly reduces unfavorable impacts to a customer or client device associated with the computing containers.
    Type: Application
    Filed: October 15, 2018
    Publication date: April 16, 2020
    Inventors: Eli CORTEZ, Ajay MANI, Marcus Felipe FONTOURA, Nisarg Tarakkumar SHETH, Thomas MOSCIBRODA, Ana-Maria CONSTANTIN
  • Publication number: 20200089406
    Abstract: A method for controlling a redundant storage system is proposed. A write request to a redundant storage system is received (310). A dataset that is to be written into the redundant storage system by the write request is determined (320). A portion of the dataset is logged into the redundant storage system for data recovery in case that a fault occurs in the redundant storage system (330). Thus, only a portion of the dataset is logged and the amount of the logged data may be reduced compared with the conventional redundant storage system. Further, the redundant storage system may be recovered in response to a fault occurring in the redundant storage system.
    Type: Application
    Filed: March 16, 2017
    Publication date: March 19, 2020
    Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Jinglei REN, Thomas MOSCIBRODA
  • Publication number: 20200084189
    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: November 17, 2019
    Publication date: March 12, 2020
    Inventors: Mark RUSSINOVICH, Manuel COSTA, Matthew KERNER, Thomas MOSCIBRODA
  • Patent number: 10579523
    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: Grant
    Filed: August 15, 2014
    Date of Patent: March 3, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jinglei Ren, Chieh-Jan Mike Liang, Thomas Moscibroda
  • Publication number: 20200057865
    Abstract: In implementations of the present disclosure, a solution for managing a co-ownership database system is provided. In this solution, multiple members access the database system as the co-owner thereof. The database system comprises: an underlying database for storing data of multiple members of the database system, a rule set defining constraints on operations of the multiple members over the database system, and a blockchain storing a record of an operation history of the database system. The database system is co-owned by the multiple members. In response to receiving a data accessing request from one of members, the accessing request will be verified based on the rule set. Subsequently, the accessing request will be processed according to a result of the verification.
    Type: Application
    Filed: March 29, 2018
    Publication date: February 20, 2020
    Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Ying YAN, Thomas MOSCIBRODA, Yang CHEN, Qi LIU
  • Patent number: 10484346
    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: Grant
    Filed: June 29, 2017
    Date of Patent: November 19, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mark Russinovich, Manuel Costa, Matthew Kerner, Thomas Moscibroda
  • Patent number: 10459750
    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: Grant
    Filed: June 10, 2016
    Date of Patent: October 29, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Jiaxing Zhang, Thomas Moscibroda, Haoran Wang, Jurgen Aubrey Willis, Yang Chen, Ying Yan, James E. Johnson, Jr., Ajay Mani
  • Patent number: 10455509
    Abstract: The techniques described herein reduce a rate at which a mobile device consumes energy when receiving, processing and storing data events (e.g., emails, instant messages, social networking messages and notifications, etc.). In various embodiments, the techniques may be implemented in accordance with a connected standby mode of operation for the mobile device. Therefore, the techniques may decouple data reception from data processing when exchanging data events in the connected standby mode. In various embodiments, the techniques may store persistent memory operations for multiple data events in a temporary cache and process the stored persistent memory operations as a batch (e.g., perform the persistent memory operations together). In various embodiments, the techniques may partition data storage space allocated for data communications applications on the mobile device.
    Type: Grant
    Filed: May 5, 2017
    Date of Patent: October 22, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yunxin Liu, Thomas Moscibroda, Ranveer Chandra, Yongguang Zhang, Fengyuan Xu