Patents by Inventor Wenlei He

Wenlei He 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: 20240133699
    Abstract: Embodiments of the present disclosure provide a method, an electronic device, and a computer program product for determining a navigation path. The method may include acquiring a source geographical location and a destination geographical location received from a user side device. In addition, the method may include determining a navigation path from the source geographical location to the destination geographical location based on a communication resource heat database, the communication resource heat database including at least a plurality of geographical regions associated with the navigation path and communication resource heat of each of the plurality of geographical regions, the communication resource heat including signal quality, signal strength, and a remaining resource capacity. Then, the method may include sending the determined navigation path to the user side device.
    Type: Application
    Filed: November 22, 2022
    Publication date: April 25, 2024
    Inventors: Bin He, Wenlei Wu, Jiacheng Ni, Zhen Jia
  • Patent number: 11003428
    Abstract: A profile guided optimization compiler utilizes sample profile data including a control flow representation of a program having block counts associated with each basic block of the program, and edge counts associated with each control flow edge estimated from the block counts. The sample profile data utilizes correlation data to map the address of a sampled instruction from a fully optimized binary directly into a corresponding basic block of source code control flow of the program using a relative virtual address (RVA) that is associated with each source code basic block and the sampled instruction. The correlation data is able to differentiate multiple blocks on the same source code line and handle inlining and optimizations with greater precision and efficiency. The block counts are then used to guide the optimization of the program.
    Type: Grant
    Filed: May 25, 2016
    Date of Patent: May 11, 2021
    Assignee: MICROSOFT TECHNOLGY LICENSING, LLC.
    Inventors: Wenlei He, Ten Tzen, Pratap Joseph Chandar
  • Patent number: 10409574
    Abstract: Methods, systems, and computer program products are provided that enable incremental compilation of source code. Attributes of an intermediate language (IL) representation and a compiled representation of a source code are stored. Modified source code that is a revised version of the first source code is received. An IL representation of the modified source code is generated. Attributes of the revised intermediate IL and the stored attributes of the IL representation are compared to determine a first set of functions changed in the modified source code. A second set of functions in the first source code is determined that includes functions affected the determined first set of functions. The first and second sets of functions are compiled to generate a set of compiled functions. Compiled versions of the first and second sets are replaced in the compiled representation of the first source code with the set of compiled functions.
    Type: Grant
    Filed: July 13, 2016
    Date of Patent: September 10, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Patrick W. Sathyanathan, Ten H. Tzen, Wenlei He, Ankit Asthana, Adrian Militaru
  • Publication number: 20170344349
    Abstract: A profile guided optimization compiler utilizes sample profile data including a control flow representation of a program having block counts associated with each basic block of the program, and edge counts associated with each control flow edge estimated from the block counts. The sample profile data utilizes correlation data to map the address of a sampled instruction from a fully optimized binary directly into a corresponding basic block of source code control flow of the program using a relative virtual address (RVA) that is associated with each source code basic block and the sampled instruction. The correlation data is able to differentiate multiple blocks on the same source code line and handle inlining and optimizations with greater precision and efficiency. The block counts are then used to guide the optimization of the program.
    Type: Application
    Filed: May 25, 2016
    Publication date: November 30, 2017
    Inventors: WENLEI HE, TEN TZEN, PRATAP JOSEPH CHANDAR
  • Patent number: 9817643
    Abstract: Instead of performing local dataflow analyses on all procedures during a multi-file optimized code generation, those dataflow analyses are done only on a generally much smaller set of procedures that were actually impacted by source code edits. Incremental inter-procedural dataflow analysis (IIPDA) code identifies a set of procedures to be recompiled due to impact from one or more edits and does local dataflow analyses only on them. Results of the incremental approach for use in generating optimized code match the results of a more expensive exhaustive interprocedural dataflow analysis of all procedures, even when call graph structure has been changed by the edits. The impacted procedures are identified based on which procedures were edited, dataflow values, intermediate language representations, and a portion of the call graph.
    Type: Grant
    Filed: July 24, 2015
    Date of Patent: November 14, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Wenlei He, Patrick W. Sathyanathan, Ten H. Tzen
  • Publication number: 20170031666
    Abstract: Methods, systems, and computer program products are provided that enable incremental compilation of source code. Attributes of an intermediate language (IL) representation and a compiled representation of a source code are stored. Modified source code that is a revised version of the first source code is received. An IL representation of the modified source code is generated. Attributes of the revised intermediate IL and the stored attributes of the IL representation are compared to determine a first set of functions changed in the modified source code. A second set of functions in the first source code is determined that includes functions affected the determined first set of functions. The first and second sets of functions are compiled to generate a set of compiled functions. Compiled versions of the first and second sets are replaced in the compiled representation of the first source code with the set of compiled functions.
    Type: Application
    Filed: July 13, 2016
    Publication date: February 2, 2017
    Inventors: Patrick W. Sathyanathan, Ten H. Tzen, Wenlei He, Ankit Asthana, Adrian Militaru
  • Publication number: 20170017472
    Abstract: Instead of performing local dataflow analyses on all procedures during a multi-file optimized code generation, those dataflow analyses are done only on a generally much smaller set of procedures that were actually impacted by source code edits. Incremental inter-procedural dataflow analysis (IIPDA) code identifies a set of procedures to be recompiled due to impact from one or more edits and does local dataflow analyses only on them. Results of the incremental approach for use in generating optimized code match the results of a more expensive exhaustive interprocedural dataflow analysis of all procedures, even when call graph structure has been changed by the edits. The impacted procedures are identified based on which procedures were edited, dataflow values, intermediate language representations, and a portion of the call graph.
    Type: Application
    Filed: July 24, 2015
    Publication date: January 19, 2017
    Inventors: Wenlei HE, Patrick W. SATHYANATHAN, Ten H. TZEN
  • Patent number: 9442707
    Abstract: Methods, systems, and computer program products are provided that enable incremental compilation of source code. Attributes of an intermediate language (IL) representation and a compiled representation of a source code are stored. Modified source code that is a revised version of the first source code is received. An IL representation of the modified source code is generated. Attributes of the revised intermediate IL and the stored attributes of the IL representation are compared to determine a first set of functions changed in the modified source code. A second set of functions in the first source code is determined that includes functions affected the determined first set of functions. The first and second sets of functions are compiled to generate a set of compiled functions. Compiled versions of the first and second sets are replaced in the compiled representation of the first source code with the set of compiled functions.
    Type: Grant
    Filed: June 25, 2014
    Date of Patent: September 13, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Patrick W. Sathyanathan, Ten H. Tzen, Wenlei He, Ankit Asthana, Adrian Militaru
  • Publication number: 20150378697
    Abstract: Methods, systems, and computer program products are provided that enable incremental compilation of source code. Attributes of an intermediate language (IL) representation and a compiled representation of a source code are stored. Modified source code that is a revised version of the first source code is received. An IL representation of the modified source code is generated. Attributes of the revised intermediate IL and the stored attributes of the IL representation are compared to determine a first set of functions changed in the modified source code. A second set of functions in the first source code is determined that includes functions affected the determined first set of functions. The first and second sets of functions are compiled to generate a set of compiled functions. Compiled versions of the first and second sets are replaced in the compiled representation of the first source code with the set of compiled functions.
    Type: Application
    Filed: June 25, 2014
    Publication date: December 31, 2015
    Inventors: Patrick W. Sathyanathan, Ten H. Tzen, Wenlei He, Ankit Asthana, Adrian Militaru
  • Patent number: 9182955
    Abstract: A transformation of software control flow to reduce the number of successor blocks in the control flow as well as the number of flow control elements. The control flow after transformation has more streamline code and less data-dependent control flow, which yields better runtime performance, and at the same time maintain functionally equivalent. Software control flow is improved by, for each data-dependent flow control element in the control flow graph, finding value narrowing points that would be sufficient that the exit control flow selected by that flow control element would be deterministic. The control flow is modified such that the control flow leads (without passing through the flow control element) from that found value narrowing point to the identified control flow that would be selected given the found value narrowing point. This method may be repeated proceeding from one flow control element to the next.
    Type: Grant
    Filed: June 6, 2014
    Date of Patent: November 10, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Wenlei He, Ten Tzen