Patents by Inventor Daniel Andreas Steffen

Daniel Andreas Steffen 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: 11372672
    Abstract: A method and apparatus that schedules and manages a background task for device is described. In an exemplary embodiment, the device registers the background task, where the registering includes storing execution criteria for the background task. The execution criteria indicates a criterion for launching the background task and the execution criteria based on a component status of the device. The device further monitors the running state of the device for an occurrence of the execution criteria. If the execution criteria occurs, the device determines an available headroom with the device in order to perform the background task and launches the background task if the background task importance is greater than the available device headroom, where the background task importance is a measure of how important it is for the device to run the background task.
    Type: Grant
    Filed: February 6, 2014
    Date of Patent: June 28, 2022
    Assignee: Apple Inc.
    Inventors: Daniel Andreas Steffen, Kevin James Van Vechten
  • Patent number: 10430577
    Abstract: A method and an apparatus to dynamically distribute privileges among a plurality of processes are described. Each process may have attributes including a privilege to control access to processing resources. A first process may be running with a first privilege prohibited from access to a processing resource. A second process may be running with a second privilege allowed to access the processing resource. The first process may receive a request from the second process to perform a data processing task for the second process. In response, the second privilege may be dynamically transferred to the first process to allow the first process to access the processing resource. The first process may perform operations for the data processing task with the second privilege transferred from the second process.
    Type: Grant
    Filed: December 19, 2014
    Date of Patent: October 1, 2019
    Assignee: Apple Inc.
    Inventors: James Michael Magee, Russell A. Blaine, Vishal Patel, Daniel Andreas Steffen, Kevin James Van Vechten, Jacques Anthony Vidrine, Kelly B. Yancey, Jainam A. Shah
  • Patent number: 10162727
    Abstract: Systems and methods are disclosed for logging encoded diagnostic information from a sequence of processing operations, the processing operations generated by an activity in a computing environment. Diagnostic information is tracked by activity, across process boundaries where the processes can be in computationally isolated, or “sandboxed”. Within each process, diagnostic information for an activity is stored in an activity-specific buffer registered with a kernel in the computing environment. For each activity in the computing system, the kernel keeps a list of all processes that have performed, or are performing, a processing task of the activity. The kernel also keeps a reference to the activity-specific log buffers for the activity for each process associated with the activity. If a processing operation for an activity fails, all activity-specific logs from all processes that are associated with the activity can be collected. A report can be generated from the collected logs for the activity.
    Type: Grant
    Filed: June 27, 2016
    Date of Patent: December 25, 2018
    Assignee: Apple Inc.
    Inventors: Eric Russell Clements, Daniel Andreas Steffen, Jainam Ashokkumar Shah, Vishal Patel, Damien P. Sorresso
  • Patent number: 9619012
    Abstract: A method and an apparatus for a power assertion management are described. A power assertion indicator may be maintained for a device component having a power level. The power assertion indicator can indicate whether the power level of the device component is allowed to be lowered. A power assertion request may be sent from a first process to prevent lowering the power level of the device component before a data processing task is completed. A second process can receive a request from the first process to perform operations for the data processing task. The power level of the device component may not be allowed to be lowered before the second process completes the operations for the data processing task. The power level of the device component may be lowered after the data processing task is completed.
    Type: Grant
    Filed: December 19, 2014
    Date of Patent: April 11, 2017
    Assignee: Apple Inc.
    Inventors: James Michael Magee, Ethan Bold, Goutham Mani, Abhinav Pathak, Daniel Andreas Steffen
  • Publication number: 20170031798
    Abstract: Systems and methods are disclosed for logging encoded diagnostic information from a sequence of processing operations, the processing operations generated by an activity in a computing environment. Diagnostic information is tracked by activity, across process boundaries where the processes can be in computationally isolated, or “sandboxed”. Within each process, diagnostic information for an activity is stored in an activity-specific buffer registered with a kernel in the computing environment. For each activity in the computing system, the kernel keeps a list of all processes that have performed, or are performing, a processing task of the activity. The kernel also keeps a reference to the activity-specific log buffers for the activity for each process associated with the activity. If a processing operation for an activity fails, all activity-specific logs from all processes that are associated with the activity can be collected. A report can be generated from the collected logs for the activity.
    Type: Application
    Filed: June 27, 2016
    Publication date: February 2, 2017
    Inventors: ERIC RUSSELL CLEMENTS, DANIEL ANDREAS STEFFEN, JAINAM ASHOKKUMAR SHAH, VISHAL PATEL, DAMIEN P. SORRESSO
  • Patent number: 9396089
    Abstract: Systems and methods are disclosed for logging encoded diagnostic information from a sequence of processing operations, the processing operations generated by an activity in a computing environment. Diagnostic information is tracked by activity, across process boundaries where the processes can be in computationally isolated, or “sandboxed”. Within each process, diagnostic information for an activity is stored in an activity-specific buffer registered with a kernel in the computing environment. For each activity in the computing system, the kernel keeps a list of all processes that have performed, or are performing, a processing task of the activity. The kernel also keeps a reference to the activity-specific log buffers for the activity for each process associated with the activity. If a processing operation for an activity fails, all activity-specific logs from all processes that are associated with the activity can be collected. A report can be generated from the collected logs for the activity.
    Type: Grant
    Filed: September 30, 2014
    Date of Patent: July 19, 2016
    Assignee: Apple Inc.
    Inventors: Eric Russell Clements, Daniel Andreas Steffen, Jainam Ashokkumar Shah, Vishal Patel, Damien P. Sorresso
  • Patent number: 9378117
    Abstract: When queuing work items for asynchronous execution, the approaches set forth herein enable a debugger to provide more meaningful and complete stack trace information for enqueued work items. An example system identifies a work item to be enqueued for asynchronous execution as a separate thread during runtime of a program. Upon enqueuing the work item in an execution queue, the system captures pre-queue stack trace information associated with the work item, and associates the pre-queue stack trace information with the work item. The system removes the work item from the execution queue for execution, wherein the execution is associated with current stack trace information separate from the pre-queue stack trace information. Upon detecting an event associated with executing the work item, the system merges the pre-queue stack trace information with the current stack trace information to yield a merged stack trace.
    Type: Grant
    Filed: May 30, 2014
    Date of Patent: June 28, 2016
    Assignee: Apple Inc.
    Inventors: David Vernon Payne, Daniel Andreas Steffen, Han Ming Ong, Jason Molenda, Kenneth Scott Orr, Katherine Blake Stone
  • 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: 20150346801
    Abstract: A method and an apparatus for a power assertion management are described. A power assertion indicator may be maintained for a device component having a power level. The power assertion indicator can indicate whether the power level of the device component is allowed to be lowered. A power assertion request may be sent from a first process to prevent lowering the power level of the device component before a data processing task is completed. A second process can receive a request from the first process to perform operations for the data processing task. The power level of the device component may not be allowed to be lowered before the second process completes the operations for the data processing task. The power level of the device component may be lowered after the data processing task is completed.
    Type: Application
    Filed: December 19, 2014
    Publication date: December 3, 2015
    Inventors: James Michael Magee, Ethan Bold, Goutham Mani, Abhinav Pathak, Daniel Andreas Steffen
  • Publication number: 20150347743
    Abstract: A method and an apparatus to dynamically distribute privileges among a plurality of processes are described. Each process may have attributes including a privilege to control access to processing resources. A first process may be running with a first privilege prohibited from access to a processing resource. A second process may be running with a second privilege allowed to access the processing resource. The first process may receive a request from the second process to perform a data processing task for the second process. In response, the second privilege may be dynamically transferred to the first process to allow the first process to access the processing resource. The first process may perform operations for the data processing task with the second privilege transferred from the second process.
    Type: Application
    Filed: December 19, 2014
    Publication date: December 3, 2015
    Inventors: James Michael Magee, Russell A. Blaine, Vishal Patel, Daniel Andreas Steffen, Kevin James Van Vechten, Jacques Anthony Vidrine, Kelly B. Yancey, Jainam A. Shah
  • Publication number: 20150347265
    Abstract: Systems and methods are disclosed for logging encoded diagnostic information from a sequence of processing operations, the processing operations generated by an activity in a computing environment. Diagnostic information is tracked by activity, across process boundaries where the processes can be in computationally isolated, or “sandboxed”. Within each process, diagnostic information for an activity is stored in an activity-specific buffer registered with a kernel in the computing environment. For each activity in the computing system, the kernel keeps a list of all processes that have performed, or are performing, a processing task of the activity. The kernel also keeps a reference to the activity-specific log buffers for the activity for each process associated with the activity. If a processing operation for an activity fails, all activity-specific logs from all processes that are associated with the activity can be collected. A report can be generated from the collected logs for the activity.
    Type: Application
    Filed: September 30, 2014
    Publication date: December 3, 2015
    Inventors: Eric Russell Clements, Daniel Andreas STEFFEN, Jainam Ashokkumar SHAH, Vishal PATEL, Damien P. SORRESSO
  • 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: 20150347271
    Abstract: When queuing work items for asynchronous execution, the approaches set forth herein enable a debugger to provide more meaningful and complete stack trace information for enqueued work items. An example system identifies a work item to be enqueued for asynchronous execution as a separate thread during runtime of a program. Upon enqueuing the work item in an execution queue, the system captures pre-queue stack trace information associated with the work item, and associates the pre-queue stack trace information with the work item. The system removes the work item from the execution queue for execution, wherein the execution is associated with current stack trace information separate from the pre-queue stack trace information. Upon detecting an event associated with executing the work item, the system merges the pre-queue stack trace information with the current stack trace information to yield a merged stack trace.
    Type: Application
    Filed: May 30, 2014
    Publication date: December 3, 2015
    Applicant: Apple Inc.
    Inventors: David Vernon Payne, Daniel Andreas Steffen, Han Ming Ong, Jason Molenda, Kenneth Scott Orr, Katherine Blake Stone
  • Publication number: 20140237476
    Abstract: A method and apparatus that schedules and manages a background task for device is described. In an exemplary embodiment, the device registers the background task, where the registering includes storing execution criteria for the background task. The execution criteria indicates a criterion for launching the background task and the execution criteria based on a component status of the device. The device further monitors the running state of the device for an occurrence of the execution criteria. If the execution criteria occurs, the device determines an available headroom with the device in order to perform the background task and launches the background task if the background task importance is greater than the available device headroom, where the background task importance is a measure of how important it is for the device to run the background task.
    Type: Application
    Filed: February 6, 2014
    Publication date: August 21, 2014
    Applicant: Apple Inc.
    Inventors: Daniel Andreas Steffen, Kevin James Van Vechten