Patents by Inventor Yimin Deng

Yimin Deng 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).

  • Patent number: 8477610
    Abstract: Computerized methods, systems, and computer-storage media for allowing virtual machines (VMs) residing on a common physical node to fairly share network bandwidth are provided. Restrictions on resource consumption are implemented to ameliorate stressing the network bandwidth or adversely affecting the quality of service (QoS) guaranteed to tenants of the physical node. The restrictions involves providing a scheduler that dynamically controls networking bandwidth allocated to each of the VMs as a function of QoS policies. These QoS policies are enforced by controlling a volume of traffic being sent from the VMs. Controlling traffic includes depositing tokens into token-bucket queues assigned to the VMs, respectively. The tokens are consumed as packets pass through the token-bucket queues. Upon consumption, packets are held until sufficient tokens are reloaded to the token-bucket queues.
    Type: Grant
    Filed: May 31, 2010
    Date of Patent: July 2, 2013
    Assignee: Microsoft Corporation
    Inventors: Yue Zuo, HoYuen Chau, Hoi Huu Vo, Samer N. Arafeh, Vivek P. Divakara, Yimin Deng, Forrest Curtis Foltz, Vivek Bhanu
  • Publication number: 20130132057
    Abstract: Computerized methods, systems, and computer-storage media for throttling requests from virtual machines (VMs) to a hard-disk drive (HDD) are provided. When a request for disk I/O is received from a VM, a disk-drive model that simulates performance characteristics of the HDD is accessed. During access, the disk-drive model's estimation of HDD parameters and the disk-drive model's estimation of a current state of a disk head of the HDD are gathered. A projected execution time to carry out the request is computed as a function of the estimated HDD parameters and the estimated current state of the disk head. Also, an actual execution time to carry out the request is measured upon allowing the request to pass to the HDD. Using a comparison of the projected execution time and the actual execution time, the traffic of the requests from the VMs is throttled.
    Type: Application
    Filed: November 17, 2011
    Publication date: May 23, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: YIMIN DENG, HO YUEN CHAU, YUE ZUO, FORREST CURTIS FOLTZ
  • Publication number: 20110307730
    Abstract: Techniques and apparatuses for providing power-aware thread scheduling and dynamic use of processors are disclosed. In some aspects, a multi-core system is monitored to determine core activity. The core activity may be compared to a power policy that balances a power savings plan with a performance plan. One or more of the cores may be parked in response to the comparison to reduce power consumption by the multi-core system. In additional aspects, the power-aware scheduling may be performed during a predetermined interval to dynamically park or unpark cores. Further aspects include adjusting the power state of unparked cores in response to the comparison of the core activity and power policy.
    Type: Application
    Filed: August 22, 2011
    Publication date: December 15, 2011
    Applicant: Microsoft Corporation
    Inventors: Allen Marshall, Yimin Deng, Nicholas S. Judge, Arun U. Kishan, Andrew J. Ritz
  • Publication number: 20110292792
    Abstract: Computerized methods, systems, and computer-storage media for allowing virtual machines (VMs) residing on a common physical node to fairly share network bandwidth are provided. Restrictions on resource consumption are implemented to ameliorate stressing the network bandwidth or adversely affecting the quality of service (QoS) guaranteed to tenants of the physical node. The restrictions involves providing a scheduler that dynamically controls networking bandwidth allocated to each of the VMs as a function of QoS policies. These QoS policies are enforced by controlling a volume of traffic being sent from the VMs. Controlling traffic includes depositing tokens into token-bucket queues assigned to the VMs, respectively. The tokens are consumed as packets pass through the token-bucket queues. Upon consumption, packets are held until sufficient tokens are reloaded to the token-bucket queues.
    Type: Application
    Filed: May 31, 2010
    Publication date: December 1, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Yue Zuo, HoYuen Chau, Hoi Huu Vo, Samer N. Arafeh, Vivek P. Divakara, Yimin Deng, Forrest Curtis Foltz, Vivek Bhanu
  • Publication number: 20110225458
    Abstract: Cloud computing platforms having computer-readable media that perform methods to generate debuggable dump files are provided. The cloud computing platform includes server devices running operating system kernels. Optionally, the server may include a hypervisor. The operating system kernel receives a command to generate a debuggable dump file. In response, the operating system estimates memory requires to store the requested memory pages, allocates an appropriately sized buffer, and freezes computation. A hypervisor is present and if its memory pages are requested, the hypervisor freezes its computation. The hypervisor stores its memory pages in the buffer and resumes computation. The operating system kernel stores its pages to the buffer in priority order and resumes its computation. The contents of the buffer are written out as a debuggable dump file.
    Type: Application
    Filed: March 9, 2010
    Publication date: September 15, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: YUE ZUO, FRANCIS MANOJ DAVID, YIMIN DENG, HO-YUEN CHAU, FORREST CURTIS FOLTZ
  • Publication number: 20110225459
    Abstract: Cloud computing platforms having computer-readable media that perform methods to generate debuggable dump files are provided. The cloud computing platform includes at least one server having a host virtual machine, guest virtual machine, and hypervisor. The host virtual machine receives a command to generate the debuggable dump file. In response, it suspends all virtual processors executing on the guest virtual machine. The memory pages of the suspended virtual machine are written into a debuggable dump file, and the suspended processors are resumed at an appropriate time.
    Type: Application
    Filed: March 9, 2010
    Publication date: September 15, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: THOMAS FAHRIG, YUE ZUO, FRANCIS MANOJ DAVID, YIMIN DENG, HO-YUEN CHAU, FORREST CURTIS FOLTZ
  • Patent number: 8010822
    Abstract: Techniques and apparatuses for providing power-aware thread scheduling and dynamic use of processors are disclosed. In some aspects, a multi-core system is monitored to determine core activity. The core activity may be compared to a power policy that balances a power savings plan with a performance plan. One or more of the cores may be parked in response to the comparison to reduce power consumption by the multi-core system. In additional aspects, the power-aware scheduling may be performed during a predetermined interval to dynamically park or unpark cores. Further aspects include adjusting the power state of unparked cores in response to the comparison of the core activity and power policy.
    Type: Grant
    Filed: March 28, 2008
    Date of Patent: August 30, 2011
    Assignee: Microsoft Corporation
    Inventors: Allen Marshall, Yimin Deng, Nicholas S. Judge, Arun U. Kishan, Andrew J. Ritz
  • Publication number: 20110161729
    Abstract: Techniques for transparently replacing a processor, that receives interrupts in a partitioned computing device, with a replacement processor, are disclosed. In at least some embodiments, methods are discussed for directing the interrupts to an unchangeable identifier mapped to the processor's identifier and replacing the processor with the replacement processor. An intermediary, such as an I/O APIC, is used for storing the unchangeable identifier. The mapping may use logical mode delivery, physical mode delivery, or interrupt mapping.
    Type: Application
    Filed: March 9, 2011
    Publication date: June 30, 2011
    Applicant: Microsoft Corporation
    Inventors: Andrew J. Ritz, Ellsworth D. Walker, Yimin Deng, Christopher Ahna
  • Patent number: 7934121
    Abstract: A method and apparatus for transparently replacing a processor, that receives interrupts in a partitioned computing device, with a replacement processor, is disclosed. The method comprises directing the interrupts to an unchangeable identifier mapped to the processor's identifier and replacing the processor with the replacement processor. An intermediary, such as an I/O APIC, is used for storing the unchangeable identifier. The mapping may use logical mode delivery, physical mode delivery, or interrupt mapping.
    Type: Grant
    Filed: February 15, 2007
    Date of Patent: April 26, 2011
    Assignee: Microsoft Corporation
    Inventors: Andrew J. Ritz, Ellsworth D. Walker, Yimin Deng, Christopher Ahna
  • Publication number: 20090249094
    Abstract: Techniques and apparatuses for providing power-aware thread scheduling and dynamic use of processors are disclosed. In some aspects, a multi-core system is monitored to determine core activity. The core activity may be compared to a power policy that balances a power savings plan with a performance plan. One or more of the cores may be parked in response to the comparison to reduce power consumption by the multi-core system. In additional aspects, the power-aware scheduling may be performed during a predetermined interval to dynamically park or unpark cores. Further aspects include adjusting the power state of unparked cores in response to the comparison of the core activity and power policy.
    Type: Application
    Filed: March 28, 2008
    Publication date: October 1, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Allen Marshall, Yimin Deng, Nicholas S. Judge, Arun U. Kishan, Andrew J. Ritz
  • Publication number: 20080120515
    Abstract: A method and apparatus for transparently replacing a processor, that receives interrupts in a partitioned computing device, with a replacement processor, is disclosed. The method comprises directing the interrupts to an unchangeable identifier mapped to the processor's identifier and replacing the processor with the replacement processor. An intermediary, such as an I/O APIC, is used for storing the unchangeable identifier. The mapping may use logical mode delivery, physical mode delivery, or interrupt mapping.
    Type: Application
    Filed: February 15, 2007
    Publication date: May 22, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Andrew J. Ritz, Ellsworth D. Walker, Yimin Deng, Christopher Ahna