Patents by Inventor Weirong Zhu

Weirong Zhu 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: 20240072531
    Abstract: This invention relates to the technical field of harmonic elimination for ferromagnetic resonance for a voltage transformer (abbreviated as PT), in particular, to a harmonic elimination method for ferromagnetic resonance for an active resistance-matching voltage transformer based on PID-adjustment, including compiling a resistance matching algorithm; designing and building a harmonic elimination control system based on the PID control strategy; presetting an active resistance-matching strategy; designing an engineering scheme for placing resistors.
    Type: Application
    Filed: August 17, 2023
    Publication date: February 29, 2024
    Inventors: Xiaohong ZHU, Lianjing YANG, Fei MAO, Rong ZHANG, Yang YANG, Jiangyun SU, Wenfei FENG, Zhe LI, Pengjin QIU, Jianbin LI, Zhikun HONG, Weirong YANG, Changjiu ZHOU, Yingqiong ZHANG, Rui XU, Guibing DUAN
  • Patent number: 10620916
    Abstract: A high level programming language provides a read-only communication operator that prevents a computational space from being written. An indexable type with a rank and element type defines the computational space. For an input indexable type, the read-only communication operator produces an output indexable type with the same rank and element type as the input indexable type but ensures that the output indexable type may not be written. The read-only communication operator ensures that any attempt to write to the output indexable type will be detected as an error at compile time.
    Type: Grant
    Filed: August 30, 2016
    Date of Patent: April 14, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yosseff Levanoni, Paul F. Ringseth, Weirong Zhu, Lingli Zhang
  • Patent number: 9971710
    Abstract: Embodiments are directed to optimizing data transfers between heterogeneous memory arenas. In one scenario, a computer system receives an indication that a data chunk is to be transferred from a first memory arena to a third memory arena, and then determines that for the data chunk to be transferred from the first memory arena to the third arena, the data chunk is to be transferred from the first memory arena to a second memory arena, and from the second memory arena to the third memory arena. The computer system divides the data chunk into smaller data portions and copies a first data portion from the first memory arena to the second memory arena. The computer system then copies the first data portion from the second memory arena to the third memory arena and copies a second data portion from the first memory arena to the second memory arena in parallel.
    Type: Grant
    Filed: February 7, 2013
    Date of Patent: May 15, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Amit Kumar Agarwal, Yosseff Levanoni, Weirong Zhu
  • Publication number: 20160371061
    Abstract: A high level programming language provides a read-only communication operator that prevents a computational space from being written. An indexable type with a rank and element type defines the computational space. For an input indexable type, the read-only communication operator produces an output indexable type with the same rank and element type as the input indexable type but ensures that the output indexable type may not be written. The read-only communication operator ensures that any attempt to write to the output indexable type will be detected as an error at compile time.
    Type: Application
    Filed: August 30, 2016
    Publication date: December 22, 2016
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Yosseff Levanoni, Paul F. Ringseth, Weirong Zhu, Lingli Zhang
  • Patent number: 9430204
    Abstract: A high level programming language provides a read-only communication operator that prevents a computational space from being written. An indexable type with a rank and element type defines the computational space. For an input indexable type, the read-only communication operator produces an output indexable type with the same rank and element type as the input indexable type but ensures that the output indexable type may not be written. The read-only communication operator ensures that any attempt to write to the output indexable type will be detected as an error at compile time.
    Type: Grant
    Filed: November 19, 2010
    Date of Patent: August 30, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yosseff Levanoni, Paul F. Ringseth, Weirong Zhu, Lingli Zhang
  • Patent number: 9411634
    Abstract: A software transactional memory system implements a lightweight key-based action framework. The framework includes a set of unified application programming interfaces (APIs) exposed by an STM library that allow clients to implement actions that can be registered, queried, and updated using specific keys by transactions or transaction nests in STM code. Each action includes a key, state information, and a set of one or more callbacks that can be hooked to the validation, commit, abort, and/or re-execution phases of transaction execution. The actions extend the built-in concurrency controls of the STM system with customized control logics, support transaction nesting semantics, and enable integration with garbage collection systems.
    Type: Grant
    Filed: June 21, 2010
    Date of Patent: August 9, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Lingli Zhang, Yosseff Levanoni, David L. Detlefs, Sukhdeep S. Sodhi, Weirong Zhu
  • Patent number: 9239803
    Abstract: A software transactional memory system is provided that creates an array of transactional locks for each array object that is accessed by transactions. The system divides the array object into non-overlapping portions and associates each portion with a different transactional lock. The system acquires transactional locks for transactions that access corresponding portions of the array object. By doing so, different portions of the array object can be accessed by different transactions concurrently. The system may use a shared shadow or undo copy for accesses to the array object.
    Type: Grant
    Filed: August 10, 2015
    Date of Patent: January 19, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Weirong Zhu, David L. Detlefs, Yosseff Levanoni, Lingli Zhang
  • Publication number: 20160013966
    Abstract: Various embodiments enable a group of devices to be logically grouped together in what is referred to as a “device circle.” The devices in a device circle can be bound through static and dynamic bindings. In at least some embodiments, the device circle serves as a single abstract entity that does not necessarily expose its individual constituent devices. As such, communication and other functionality can take place with the device circle in a manner that does not divulge the identities, capabilities, or roles of the individual devices that make up the device circle.
    Type: Application
    Filed: July 11, 2014
    Publication date: January 14, 2016
    Inventors: Shankar Vaidyanathan, Todd L. Paul, Yosseff Levanoni, Arvind Sethuraman, Weirong Zhu, Lingli Zhang
  • Publication number: 20150347323
    Abstract: A software transactional memory system is provided that creates an array of transactional locks for each array object that is accessed by transactions. The system divides the array object into non-overlapping portions and associates each portion with a different transactional lock. The system acquires transactional locks for transactions that access corresponding portions of the array object. By doing so, different portions of the array object can be accessed by different transactions concurrently. The system may use a shared shadow or undo copy for accesses to the array object.
    Type: Application
    Filed: August 10, 2015
    Publication date: December 3, 2015
    Inventors: Weirong Zhu, David L. Detlefs, Yosseff Levanoni, Lingli Zhang
  • Patent number: 9104628
    Abstract: A software transactional memory system is provided that creates an array of transactional locks for each array object that is accessed by transactions. The system divides the array object into non-overlapping portions and associates each portion with a different transactional lock. The system acquires transactional locks for transactions that access corresponding portions of the array object. By doing so, different portions of the array object can be accessed by different transactions concurrently. The system may use a shared shadow or undo copy for accesses to the array object.
    Type: Grant
    Filed: January 10, 2015
    Date of Patent: August 11, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Weirong Zhu, David L. Detlefs, Yosseff Levanoni, Lingli Zhang
  • Publication number: 20150186165
    Abstract: The present invention extends to methods, systems, and computer program products for emulating pointers. Pointers can be emulated by replacing the pointers with a variable offset pair and replacing each dereference site with a switch on the tag and a switch body that executes the emulated pointer access on the corresponding variable the pointer points to. Data flow optimizations can be used to reduce the number of switches and/or reduce the number of cases which need be considered at each emulated pointer access sites.
    Type: Application
    Filed: March 17, 2015
    Publication date: July 2, 2015
    Inventors: Yosseff Levanoni, Weirong Zhu, Lingli Zhang, John Lee Rapp, Andrew L. Bliss
  • Publication number: 20150127915
    Abstract: A software transactional memory system is provided that creates an array of transactional locks for each array object that is accessed by transactions. The system divides the array object into non-overlapping portions and associates each portion with a different transactional lock. The system acquires transactional locks for transactions that access corresponding portions of the array object. By doing so, different portions of the array object can be accessed by different transactions concurrently. The system may use a shared shadow or undo copy for accesses to the array object.
    Type: Application
    Filed: January 10, 2015
    Publication date: May 7, 2015
    Inventors: Weirong Zhu, David L. Detlefs, Yosseff Levanoni, Lingli Zhang
  • Patent number: 8997066
    Abstract: The present invention extends to methods, systems, and computer program products for emulating pointers. Pointers can be emulated by replacing the pointers with a <variable#, offset> pair and replacing each dereference site with a switch on the tag and a switch body that executes the emulated pointer access on the corresponding variable the pointer points to. Data flow optimizations can be used to reduce the number of switches and/or reduce the number of cases which need be considered at each emulated pointer access sites.
    Type: Grant
    Filed: December 27, 2010
    Date of Patent: March 31, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yosseff Levanoni, Weirong Zhu, Lingli Zhang, John Lee Rapp, Andrew L. Bliss
  • Patent number: 8990515
    Abstract: The present invention extends to methods, systems, and computer program products for aliasing buffers. Embodiment of the inventions supporting buffer aliasing through introduction of a level of indirection between a source program's buffer accesses and the target executable physical buffers, and binding the logical buffer accesses to actual physical buffer accesses at runtime. A variety of techniques for can be used supporting runtime aliasing of buffers, in a system which otherwise disallows such runtime aliasing between separately defined buffers in the target executable code. Binding of logical buffer accesses in the source program to the actual physical buffers defined in the target executable code is delayed until runtime.
    Type: Grant
    Filed: June 14, 2011
    Date of Patent: March 24, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Amit Kumar Agarwal, Weirong Zhu, Yosseff Levanoni
  • Patent number: 8954995
    Abstract: A software transactional memory system is provided that creates an array of transactional locks for each array object that is accessed by transactions. The system divides the array object into non-overlapping portions and associates each portion with a different transactional lock. The system acquires transactional locks for transactions that access corresponding portions of the array object. By doing so, different portions of the array object can be accessed by different transactions concurrently. The system may use a shared shadow or undo copy for accesses to the array object.
    Type: Grant
    Filed: October 1, 2008
    Date of Patent: February 10, 2015
    Assignee: Microsoft Corporation
    Inventors: Weirong Zhu, David L. Detlefs, Yosseff Levanoni, Lingli Zhang
  • Patent number: 8839214
    Abstract: A high level programming language provides an extensible set of transformations for use on indexable types in a data parallel processing environment. A compiler for the language implements each transformation as a map from indexable types to allow each transformation to be applied to other transformations. At compile time, the compiler identifies sequences of the transformations on each indexable type in data parallel source code and generates data parallel executable code to implement the sequences as a combined operation at runtime using the transformation maps. The compiler also incorporates optimizations that are based on the sequences of transformations into the data parallel executable code.
    Type: Grant
    Filed: June 30, 2010
    Date of Patent: September 16, 2014
    Assignee: Microsoft Corporation
    Inventors: Paul F. Ringseth, Weirong Zhu, Rick Molloy, Charles D. Callahan, II, Yosseff Levanoni, Lingli Zhang
  • Publication number: 20140223131
    Abstract: Embodiments are directed to optimizing data transfers between heterogeneous memory arenas. In one scenario, a computer system receives an indication that a data chunk is to be transferred from a first memory arena to a third memory arena, and then determines that for the data chunk to be transferred from the first memory arena to the third arena, the data chunk is to be transferred from the first memory arena to a second memory arena, and from the second memory arena to the third memory arena. The computer system divides the data chunk into smaller data portions and copies a first data portion from the first memory arena to the second memory arena. The computer system then copies the first data portion from the second memory arena to the third memory arena and copies a second data portion from the first memory arena to the second memory arena in parallel.
    Type: Application
    Filed: February 7, 2013
    Publication date: August 7, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Amit Kumar Agarwal, Yosseff Levanoni, Weirong Zhu
  • Patent number: 8756590
    Abstract: A compile environment is provided in a computer system that allows programmers to program both CPUs and data parallel devices (e.g., GPUs) using a high level general purpose programming language that has data parallel (DP) extensions. A compilation process translates modular DP code written in the general purpose language into DP device source code in a high level DP device programming language using a set of binding descriptors for the DP device source code. A binder generates a single, self-contained DP device source code unit from the set of binding descriptors. A DP device compiler generates a DP device executable for execution on one or more data parallel devices from the DP device source code unit.
    Type: Grant
    Filed: June 22, 2010
    Date of Patent: June 17, 2014
    Assignee: Microsoft Corporation
    Inventors: Weirong Zhu, Lingli Zhang, Sukhdeep S. Sodhi, Yosseff Levanoni
  • Patent number: 8719515
    Abstract: A software transactional memory (STM) system allows the composition of traditional lock based synchronization with transactions in STM code. The STM system acquires each traditional lock the first time that a corresponding traditional lock acquire is encountered inside a transaction and defers all traditional lock releases until a top level transaction in a transaction nest commits or aborts. The STM system maintains state information associated with traditional lock operations in transactions and uses the state information to eliminate deferred traditional lock operations that are redundant. The STM system integrates with systems that implement garbage collection.
    Type: Grant
    Filed: June 21, 2010
    Date of Patent: May 6, 2014
    Assignee: Microsoft Corporation
    Inventors: Sukhdeep S. Sodhi, Yosseff Levanoni, David L. Detlefs, Lingli Zhang, Weirong Zhu, Dana Groff, Michael M. Magruder, Charles David Callahan, II
  • Patent number: 8713039
    Abstract: A high level programming language provides a co-map communication operator that maps an input indexable type to an output indexable type according to a function. The function maps an index space corresponding to the output indexable type to an index space corresponding to the input indexable type. By doing so, the co-map communication operator lifts a function on an index space to a function on an indexable type to allow composability with other communication operators.
    Type: Grant
    Filed: December 23, 2010
    Date of Patent: April 29, 2014
    Assignee: Microsoft Corporation
    Inventors: Paul F. Ringseth, Yosseff Levanoni, Lingli Zhang, Weirong Zhu, Donald J. McCrady