Patents by Inventor Charlie Hu
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).
-
Publication number: 20200174872Abstract: 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: ApplicationFiled: August 13, 2019Publication date: June 4, 2020Applicant: Purdue Research FoundationInventors: Yu Charlie Hu, Abhilash Jindal, Samuel Midkiff, Abhinav Pathak
-
Patent number: 10642944Abstract: 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: GrantFiled: May 31, 2018Date of Patent: May 5, 2020Assignee: Purdue Research FoundationInventors: Yu Charlie Hu, Abhinav Pathak
-
Patent number: 10628912Abstract: 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: GrantFiled: April 23, 2019Date of Patent: April 21, 2020Assignee: Purdue Research FoundationInventors: Yu Charlie Hu, Ning Ding
-
Publication number: 20200110687Abstract: 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: ApplicationFiled: October 7, 2019Publication date: April 9, 2020Inventors: Yu Charlie Hu, Abhilash Jindal
-
Publication number: 20190324513Abstract: 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: ApplicationFiled: April 23, 2019Publication date: October 24, 2019Applicant: Purdue Research FoundationInventors: Yu Charlie Hu, Ning Ding
-
Publication number: 20190325550Abstract: 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: ApplicationFiled: April 23, 2019Publication date: October 24, 2019Applicant: Purdue Research FoundationInventors: Yu Charlie Hu, Ning Ding
-
Patent number: 10379925Abstract: 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: GrantFiled: November 21, 2016Date of Patent: August 13, 2019Assignee: Purdue Research FoundationInventors: Yu Charlie Hu, Abhilash Jindal, Samuel Midkiff, Abhinav Pathak
-
Publication number: 20180276324Abstract: 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: ApplicationFiled: May 31, 2018Publication date: September 27, 2018Inventors: Yu Charlie Hu, Abhinav Pathak
-
Patent number: 10013511Abstract: 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: GrantFiled: April 9, 2013Date of Patent: July 3, 2018Assignee: Purdue Research FoundationInventors: Yu Charlie Hu, Abhinav Pathak
-
Publication number: 20170068586Abstract: 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: ApplicationFiled: November 21, 2016Publication date: March 9, 2017Applicant: Purdue Research FoundationInventors: Yu Charlie Hu, Abhilash Jindal, Samuel Midkiff, Abhinav Pathak
-
Patent number: 9501382Abstract: 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: GrantFiled: June 24, 2014Date of Patent: November 22, 2016Assignee: PURDUE RESEARCH FOUNDATIONInventors: Yu Charlie Hu, Abhilash Jindal, Samuel Midkiff, Abhinav Pathak
-
Patent number: 9170912Abstract: 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: GrantFiled: April 9, 2013Date of Patent: October 27, 2015Assignee: Purdue Research FoundationInventors: Yu Charlie Hu, Abhinav Pathak
-
Publication number: 20140380283Abstract: 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: ApplicationFiled: June 24, 2014Publication date: December 25, 2014Inventors: Yu Charlie Hu, Abhilash Jindal, Samuel Midkiff, Abhinav Pathak
-
Publication number: 20130268257Abstract: 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: ApplicationFiled: April 9, 2013Publication date: October 10, 2013Inventors: Yu Charlie Hu, Abhinav Pathak
-
Patent number: 7231494Abstract: The invention provides a storage and retrieval routine for Web objects. A Web page typically includes several objects such as text, images and hyper-links to other Web pages. Each Web page and its objects are usually stored in separate files. A storage and retrieval routine stores objects that correspond to the same Web page in co-located positions on a disk. Therefore, when the Web page and its embedded and hyper-linked Web objects are retrieved, the seek time is reduced, thereby reducing the object retrieval time as perceived by a computer user and increasing the number of requests per second that a Web content server can deliver.Type: GrantFiled: October 3, 2000Date of Patent: June 12, 2007Assignee: Ironport System, Inc.Inventors: Alan L. Cox, Y. Charlie Hu, Vijay S. Pai, Vivek S. Pai, Willy Zwaenepoel