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: 11372672Abstract: 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: GrantFiled: February 6, 2014Date of Patent: June 28, 2022Assignee: Apple Inc.Inventors: Daniel Andreas Steffen, Kevin James Van Vechten
-
Patent number: 10430577Abstract: 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: GrantFiled: December 19, 2014Date of Patent: October 1, 2019Assignee: 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: 10162727Abstract: 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: GrantFiled: June 27, 2016Date of Patent: December 25, 2018Assignee: Apple Inc.Inventors: Eric Russell Clements, Daniel Andreas Steffen, Jainam Ashokkumar Shah, Vishal Patel, Damien P. Sorresso
-
Patent number: 9619012Abstract: 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: GrantFiled: December 19, 2014Date of Patent: April 11, 2017Assignee: Apple Inc.Inventors: James Michael Magee, Ethan Bold, Goutham Mani, Abhinav Pathak, Daniel Andreas Steffen
-
Publication number: 20170031798Abstract: 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: ApplicationFiled: June 27, 2016Publication date: February 2, 2017Inventors: ERIC RUSSELL CLEMENTS, DANIEL ANDREAS STEFFEN, JAINAM ASHOKKUMAR SHAH, VISHAL PATEL, DAMIEN P. SORRESSO
-
Patent number: 9396089Abstract: 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: GrantFiled: September 30, 2014Date of Patent: July 19, 2016Assignee: Apple Inc.Inventors: Eric Russell Clements, Daniel Andreas Steffen, Jainam Ashokkumar Shah, Vishal Patel, Damien P. Sorresso
-
Patent number: 9378117Abstract: 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: GrantFiled: May 30, 2014Date of Patent: June 28, 2016Assignee: Apple Inc.Inventors: David Vernon Payne, Daniel Andreas Steffen, Han Ming Ong, Jason Molenda, Kenneth Scott Orr, Katherine Blake Stone
-
Patent number: 9348645Abstract: 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: GrantFiled: December 19, 2014Date of Patent: May 24, 2016Assignee: 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: 20150346801Abstract: 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: ApplicationFiled: December 19, 2014Publication date: December 3, 2015Inventors: James Michael Magee, Ethan Bold, Goutham Mani, Abhinav Pathak, Daniel Andreas Steffen
-
Publication number: 20150347743Abstract: 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: ApplicationFiled: December 19, 2014Publication date: December 3, 2015Inventors: 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: 20150347265Abstract: 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: ApplicationFiled: September 30, 2014Publication date: December 3, 2015Inventors: Eric Russell Clements, Daniel Andreas STEFFEN, Jainam Ashokkumar SHAH, Vishal PATEL, Damien P. SORRESSO
-
Publication number: 20150347177Abstract: 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: ApplicationFiled: December 19, 2014Publication date: December 3, 2015Inventors: James Michael Magee, Russell A. Blaine, Daniel A. Chimene, James McIlree, Vishal Patel, Daniel Andreas Steffen, Kevin James Van Vechten
-
Publication number: 20150347271Abstract: 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: ApplicationFiled: May 30, 2014Publication date: December 3, 2015Applicant: Apple Inc.Inventors: David Vernon Payne, Daniel Andreas Steffen, Han Ming Ong, Jason Molenda, Kenneth Scott Orr, Katherine Blake Stone
-
Publication number: 20140237476Abstract: 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: ApplicationFiled: February 6, 2014Publication date: August 21, 2014Applicant: Apple Inc.Inventors: Daniel Andreas Steffen, Kevin James Van Vechten