Patents by Inventor Yu Charlie Hu

Yu Charlie Hu 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: 10628912
    Abstract: A method for profiling energy usage in graphics user interface (UI) update in handheld mobile devices is disclosed. The method includes mapping the pixel changes of each frame to a responsible UI update, identifying method invocations at all layers of the UI rendering stack, tracking asynchronous dependence across all layers of the UI rendering stack corresponding to each UI update by assigning a unique frame identification (ID) per frame refresh to track asynchronous dependence between UI updates and corresponding callbacks across all layers of the UI rendering stack, tracking information flow across a corresponding graphics processing unit (GPU) by using an OpenGL record-and-replay method, reconstructing the frames by replaying the OpenGL calls on the GPU during post processing, comparing frames to account for pixel changes, and tracking and attributing the energy usage during UI operations to individual UI updates.
    Type: Grant
    Filed: April 23, 2019
    Date of Patent: April 21, 2020
    Assignee: Purdue Research Foundation
    Inventors: Yu Charlie Hu, Ning Ding
  • Publication number: 20200110687
    Abstract: A differential resource analyzer performs differential resource profiling of two applications. The two applications are made to perform an operation. The differential resource analyzer matches a first application task of a first application to a second application task of a second application based on a determination that the first application task is similar to the second application task, and measures resource consumed in the first application task and the second application task. Responsive to determining that the second application task consumes less resource than the first application task, the differential resource analyzer performs an action to reduce resource consumption by the first application based on the second application task.
    Type: Application
    Filed: October 7, 2019
    Publication date: April 9, 2020
    Inventors: Yu Charlie Hu, Abhilash Jindal
  • Publication number: 20190324513
    Abstract: A method for profiling energy usage of invoking an application programming interface (API) by an application in a computing device. The method includes obtaining source code for the API, modifying each class by adding a callback function identifier field that is initiated to a unique value upon instantiation of each object that belongs to the class, identifying each location in the source code that posts the callback function for asynchronous execution by enqueueing each object instantiated from the class containing the callback function into the system callback queue, modifying the source code to log the callback function identifier of object at the location that dequeues objects from the system callback queue, modifying source code by adding two system logging function calls to log the callback function identifier of the dequeued object before and after executing the callback function, executing the application, and performing energy accounting of the asynchronous API calls.
    Type: Application
    Filed: April 23, 2019
    Publication date: October 24, 2019
    Applicant: Purdue Research Foundation
    Inventors: Yu Charlie Hu, Ning Ding
  • Publication number: 20190325550
    Abstract: A method for profiling energy usage in graphics user interface (UI) update in handheld mobile devices is disclosed. The method includes mapping the pixel changes of each frame to a responsible UI update, identifying method invocations at all layers of the UI rendering stack, tracking asynchronous dependence across all layers of the UI rendering stack corresponding to each UI update by assigning a unique frame identification (ID) per frame refresh to track asynchronous dependence between UI updates and corresponding callbacks across all layers of the UI rendering stack, tracking information flow across a corresponding graphics processing unit (GPU) by using an OpenGL record-and-replay method, reconstructing the frames by replaying the OpenGL calls on the GPU during post processing, comparing frames to account for pixel changes, and tracking and attributing the energy usage during UI operations to individual UI updates.
    Type: Application
    Filed: April 23, 2019
    Publication date: October 24, 2019
    Applicant: Purdue Research Foundation
    Inventors: Yu Charlie Hu, Ning Ding
  • Patent number: 10379925
    Abstract: Embodiments of the present invention provide a system and methods for detecting power bugs. In one embodiment, a computer-implemented method for analyzing a computer code includes generating a control flow graph for at least a portion of the computer code at a processor. The method further includes identifying power bugs by traversing the control flow graph if the control flow graph exits without performing a function call to deactivate power to any component of a device configured to execute computer executable instructions based on the compute code after performing a function call to activate power.
    Type: Grant
    Filed: November 21, 2016
    Date of Patent: August 13, 2019
    Assignee: Purdue Research Foundation
    Inventors: Yu Charlie Hu, Abhilash Jindal, Samuel Midkiff, Abhinav Pathak
  • Publication number: 20180276324
    Abstract: A method for generating an energy usage profile for a software program executed in a computing device includes generating a call trace of an executed system call, identifying a first power consumption and duration of a first power state due to the first system call using a model, identifying a second power consumption and duration of a second power state based on the model, and generating an energy usage profile for the software program. The energy usage profile includes energy consumption of the computing device for the system call based on the first power consumption level multiplied by the first duration and the second power consumption level multiplied by the second duration associated an identifier for the call trace.
    Type: Application
    Filed: May 31, 2018
    Publication date: September 27, 2018
    Inventors: Yu Charlie Hu, Abhinav Pathak
  • Patent number: 10013511
    Abstract: A method for generating an energy usage profile for a software program executed in a computing device includes generating a call trace of an executed system call, identifying a first power consumption and duration of a first power state due to the first system call using a model, identifying a second power consumption and duration of a second power state based on the model, and generating an energy usage profile for the software program. The energy usage profile includes energy consumption of the computing device for the system call based on the first power consumption level multiplied by the first duration and the second power consumption level multiplied by the second duration associated an identifier for the call trace.
    Type: Grant
    Filed: April 9, 2013
    Date of Patent: July 3, 2018
    Assignee: Purdue Research Foundation
    Inventors: Yu Charlie Hu, Abhinav Pathak
  • Publication number: 20170068586
    Abstract: Embodiments of the present invention provide a system and methods for detecting power bugs. In one embodiment, a computer-implemented method for analyzing a computer code includes generating a control flow graph for at least a portion of the computer code at a processor. The method further includes identifying power bugs by traversing the control flow graph if the control flow graph exits without performing a function call to deactivate power to any component of a device configured to execute computer executable instructions based on the compute code after performing a function call to activate power.
    Type: Application
    Filed: November 21, 2016
    Publication date: March 9, 2017
    Applicant: Purdue Research Foundation
    Inventors: Yu Charlie Hu, Abhilash Jindal, Samuel Midkiff, Abhinav Pathak
  • Patent number: 9501382
    Abstract: Embodiments of the present invention provide a system and methods for detecting power bugs. In one embodiment, a computer-implemented method for analyzing a computer code includes generating a control flow graph for at least a portion of the computer code at a processor. The method further includes identifying power bugs by traversing the control flow graph if the control flow graph exits without performing a function call to deactivate power to any component of a device configured to execute computer executable instructions based on the computer code after performing a function call to activate power.
    Type: Grant
    Filed: June 24, 2014
    Date of Patent: November 22, 2016
    Assignee: PURDUE RESEARCH FOUNDATION
    Inventors: Yu Charlie Hu, Abhilash Jindal, Samuel Midkiff, Abhinav Pathak
  • Patent number: 9170912
    Abstract: A method for generating a power consumption and energy usage model for a computing device includes monitoring of the power consumption of the computing device with an external power monitor when the computing device is in a base power state, monitoring of the power consumption of the computing device during execution of a system call with a processor that interacts with a component in the computing device, and monitoring the power state of the computing device before the computing device returns to the base power state. The method further includes generating a finite state machine model of the power states and transitions between power states to model the power activities and energy consumption of the computing device in the absence of an external power monitor.
    Type: Grant
    Filed: April 9, 2013
    Date of Patent: October 27, 2015
    Assignee: Purdue Research Foundation
    Inventors: Yu Charlie Hu, Abhinav Pathak
  • Publication number: 20140380283
    Abstract: Embodiments of the present invention provide a system and methods for detecting power bugs. In one embodiment, a computer-implemented method for analyzing a computer code includes generating a control flow graph for at least a portion of the computer code at a processor. The method further includes identifying power bugs by traversing the control flow graph if the control flow graph exits without performing a function call to deactivate power to any component of a device configured to execute computer executable instructions based on the computer code after performing a function call to activate power.
    Type: Application
    Filed: June 24, 2014
    Publication date: December 25, 2014
    Inventors: Yu Charlie Hu, Abhilash Jindal, Samuel Midkiff, Abhinav Pathak
  • Publication number: 20130268257
    Abstract: A method for generating an energy usage profile for a software program executed in a computing device includes generating a call trace of an executed system call, identifying a first power consumption and duration of a first power state due to the first system call using a model, identifying a second power consumption and duration of a second power state based on the model, and generating an energy usage profile for the software program. The energy usage profile includes energy consumption of the computing device for the system call based on the first power consumption level multiplied by the first duration and the second power consumption level multiplied by the second duration associated an identifier for the call trace.
    Type: Application
    Filed: April 9, 2013
    Publication date: October 10, 2013
    Inventors: Yu Charlie Hu, Abhinav Pathak