Patents by Inventor Daniel A. Chimene

Daniel A. Chimene 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: 9582326
    Abstract: In one embodiment, tasks executing on a data processing system can be associated with a Quality of Service (QoS) classification that is used to determine the priority values for multiple subsystems of the data processing system. The QoS classifications are propagated when tasks interact and the QoS classes are interpreted a multiple levels of the system to determine the priority values to set for the tasks. In one embodiment, one or more sensors coupled with the data processing system monitor a set of system conditions that are used in part to determine the priority values to set for a QoS class.
    Type: Grant
    Filed: May 30, 2014
    Date of Patent: February 28, 2017
    Assignee: Apple Inc.
    Inventors: Daniel A. Steffen, Matthew W. Wright, Russell A. Blaine, Jr., Daniel A. Chimene, Kevin J. Van Vechten, Thomas B. Duffy
  • Publication number: 20160357600
    Abstract: Disclosed herein are systems, methods, and computer-readable media directed to scheduling threads in a multi-processing environment that can resolve a priority inversion. Each thread has a scheduling state and a context. A scheduling state can include attributes such as a processing priority, classification (background, fixed priority, real-time), a quantum, scheduler decay, and a list of threads that may be waiting on the thread to make progress. A thread context can include registers, stack, other variables, and one or more mutex flags. A first thread can hold a resource with a mutex, the first thread having a low priority. A second thread having a scheduling state with a high priority can be waiting on the resource and may be blocked behind the mutex held by the first process. A scheduler can execute the context of the lower priority thread using the scheduler state of the second, higher priority thread. More than one thread can be waiting on the resource held by the first thread.
    Type: Application
    Filed: September 30, 2015
    Publication date: December 8, 2016
    Inventors: Daniel A. CHIMENE, Daniel A. STEFFEN, James M. MAGEE, Russell A. BLAINE, Shantonu SEN
  • Patent number: 9348645
    Abstract: A method and an apparatus for priority donations among different processes are described. A first process running with a first priority may receive a request from a second process running with a second priority to perform a data processing task for the second process. A dependency relationship may be identified between the first process and a third process running with a third priority performing separate data processing task. The dependency relationship may indicate that the data processing task is to be performed via the first process subsequent to completion of the separate data processing task via the third process. The third process may be updated with the second priority to complete the separate data processing task. The first process may perform the data processing task with the second priority for the second process.
    Type: Grant
    Filed: December 19, 2014
    Date of Patent: May 24, 2016
    Assignee: Apple Inc.
    Inventors: James Michael Magee, Russell A. Blaine, Daniel A. Chimene, James McIlree, Vishal Patel, Daniel Andreas Steffen, Kevin James Van Vechten
  • Publication number: 20150347189
    Abstract: In one embodiment, tasks executing on a data processing system can be associated with a Quality of Service (QoS) classification that is used to determine the priority values for multiple subsystems of the data processing system. The QoS classifications are propagated when tasks interact and the QoS classes are interpreted a multiple levels of the system to determine the priority values to set for the tasks. In one embodiment, one or more sensors coupled with the data processing system monitor a set of system conditions that are used in part to determine the priority values to set for a QoS class.
    Type: Application
    Filed: May 30, 2014
    Publication date: December 3, 2015
    Applicant: Apple Inc.
    Inventors: DANIEL A. STEFFEN, Matthew W. Wright, Russell A. Blaine, JR., Daniel A. Chimene, Kevin J. Van Vechten, Thomas B. Duffy
  • Publication number: 20150347177
    Abstract: A method and an apparatus for priority donations among different processes are described. A first process running with a first priority may receive a request from a second process running with a second priority to perform a data processing task for the second process. A dependency relationship may be identified between the first process and a third process running with a third priority performing separate data processing task. The dependency relationship may indicate that the data processing task is to be performed via the first process subsequent to completion of the separate data processing task via the third process. The third process may be updated with the second priority to complete the separate data processing task. The first process may perform the data processing task with the second priority for the second process.
    Type: Application
    Filed: December 19, 2014
    Publication date: December 3, 2015
    Inventors: James Michael Magee, Russell A. Blaine, Daniel A. Chimene, James McIlree, Vishal Patel, Daniel Andreas Steffen, Kevin James Van Vechten
  • Publication number: 20150347192
    Abstract: Techniques for scheduling threads for execution in a data processing system are described herein. According to one embodiment, in response to a request for executing a thread, a scheduler of an operating system of the data processing system accesses a global run queue to identify a global run entry associated with the highest process priority. The global run queue includes multiple global run entries, each corresponding to one of a plurality of process priorities. A group run queue is identified based on the global run entry, where the group run queue includes multiple threads associated with one of the processes. The scheduler dispatches one of the threads that has the highest thread priority amongst the threads in the group run queue to one of the processor cores of the data processing system for execution.
    Type: Application
    Filed: May 29, 2014
    Publication date: December 3, 2015
    Applicant: Apple Inc.
    Inventors: Russell A. Blaine, Daniel A. Chimene, Shantonu Sen, James M. Magee
  • Patent number: 8949518
    Abstract: Techniques for tracking memory usages of a data processing system are described herein. According to one embodiment, a memory manager is to perform a first lookup operation in a memory allocation table to identify an allocation entry based on a handle representing a memory address of a memory block allocated to a client and to retrieve a trace entry pointer from the allocation entry. The memory manager is then to perform a second lookup operation in a memory trace table to identify a trace entry based on the trace entry pointer and to increment a memory allocation count of the trace entry. The memory allocation count is utilized to indicate a likelihood of the client causing a memory leak.
    Type: Grant
    Filed: December 3, 2013
    Date of Patent: February 3, 2015
    Assignee: Apple Inc.
    Inventors: Umesh S. Vaishampayan, Daniel A. Chimene, Daniel S. Heller
  • Publication number: 20140089627
    Abstract: Techniques for tracking memory usages of a data processing system are described herein. According to one embodiment, a memory manager is to perform a first lookup operation in a memory allocation table to identify an allocation entry based on a handle representing a memory address of a memory block allocated to a client and to retrieve a trace entry pointer from the allocation entry. The memory manager is then to perform a second lookup operation in a memory trace table to identify a trace entry based on the trace entry pointer and to increment a memory allocation count of the trace entry. The memory allocation count is utilized to indicate a likelihood of the client causing a memory leak.
    Type: Application
    Filed: December 3, 2013
    Publication date: March 27, 2014
    Applicant: Apple Inc.
    Inventors: UMESH S. VAISHAMPAYAN, DANIEL A. CHIMENE, DANIEL S. HELLER
  • Patent number: 8626993
    Abstract: Techniques for tracking memory usages of a data processing system are described herein. According to one embodiment, a memory manager is to perform a first lookup operation in a memory allocation table to identify an allocation entry based on a handle representing a memory address of a memory block allocated to a client and to retrieve a trace entry pointer from the allocation entry. The memory manager is then to perform a second lookup operation in a memory trace table to identify a trace entry based on the trace entry pointer and to increment a memory allocation count of the trace entry. The memory allocation count is utilized to indicate a likelihood of the client causing a memory leak.
    Type: Grant
    Filed: November 18, 2011
    Date of Patent: January 7, 2014
    Assignee: Apple Inc.
    Inventors: Umesh S. Vaishampayan, Daniel A. Chimene, Daniel S. Heller
  • Publication number: 20130132699
    Abstract: Techniques for tracking memory usages of a data processing system are described herein. According to one embodiment, a memory manager is to perform a first lookup operation in a memory allocation table to identify an allocation entry based on a handle representing a memory address of a memory block allocated to a client and to retrieve a trace entry pointer from the allocation entry. The memory manager is then to perform a second lookup operation in a memory trace table to identify a trace entry based on the trace entry pointer and to increment a memory allocation count of the trace entry. The memory allocation count is utilized to indicate a likelihood of the client causing a memory leak.
    Type: Application
    Filed: November 18, 2011
    Publication date: May 23, 2013
    Applicant: APPLE INC.
    Inventors: Umesh S. Vaishampayan, Daniel A. Chimene, Daniel S. Heller