Patents by Inventor James A. Van Vechten
James A. Van Vechten 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: 11392283Abstract: An electronic device: displays a first window in a display area; and detects a first user input associated with one or more edges of the first window. In response to detecting the first user input, and in accordance with a determination that the first user input corresponds to a first input type, the device resizes one or more dimensions of the first window that correspond to the one or more edges of the first window based on a movement vector associated with the first user input. In response to detecting the first user input, and in accordance with a determination that the first user input corresponds to a second input type, the device moves the one or more edges of the first window to one or more corresponding edges of the display area while maintaining respective one or more opposite edges of the first window.Type: GrantFiled: April 5, 2021Date of Patent: July 19, 2022Assignee: APPLE INC.Inventors: Corbin Robert Dunn, John O. Louch, Kevin James Van Vechten, Patrick Lee Coffman, Troy N. Stephens
-
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
-
Publication number: 20210303141Abstract: An electronic device: displays a first window in a display area; and detects a first user input associated with one or more edges of the first window. In response to detecting the first user input, and in accordance with a determination that the first user input corresponds to a first input type, the device resizes one or more dimensions of the first window that correspond to the one or more edges of the first window based on a movement vector associated with the first user input. In response to detecting the first user input, and in accordance with a determination that the first user input corresponds to a second input type, the device moves the one or more edges of the first window to one or more corresponding edges of the display area while maintaining respective one or more opposite edges of the first window.Type: ApplicationFiled: April 5, 2021Publication date: September 30, 2021Inventors: Corbin Robert Dunn, John O. Louch, Kevin James Van Vechten, Patrick Lee Coffman, Troy N. Stephens
-
Patent number: 11003338Abstract: An electronic device: displays a first window in a display area; and detects a first user input associated with one or more edges of the first window. In response to detecting the first user input, and in accordance with a determination that the first user input corresponds to a first input type, the device resizes one or more dimensions of the first window that correspond to the one or more edges of the first window based on a movement vector associated with the first user input. In response to detecting the first user input, and in accordance with a determination that the first user input corresponds to a second input type, the device moves the one or more edges of the first window to one or more corresponding edges of the display area while maintaining respective one or more opposite edges of the first window.Type: GrantFiled: March 18, 2019Date of Patent: May 11, 2021Assignee: APPLE INC.Inventors: Corbin Robert Dunn, John O. Louch, Kevin James Van Vechten, Patrick Lee Coffman, Troy N. Stephens
-
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
-
Publication number: 20190272084Abstract: An electronic device: displays a first window in a display area; and detects a first user input associated with one or more edges of the first window. In response to detecting the first user input, and in accordance with a determination that the first user input corresponds to a first input type, the device resizes one or more dimensions of the first window that correspond to the one or more edges of the first window based on a movement vector associated with the first user input. In response to detecting the first user input, and in accordance with a determination that the first user input corresponds to a second input type, the device moves the one or more edges of the first window to one or more corresponding edges of the display area while maintaining respective one or more opposite edges of the first window.Type: ApplicationFiled: March 18, 2019Publication date: September 5, 2019Inventors: Corbin Robert Dunn, John O. Louch, Kevin James Van Vechten, Patrick Lee Coffman, Troy N. Stephens
-
Patent number: 10289292Abstract: An electronic device: displays a first window and a second window within a display area, the first window having a first edge parallel to a second edge of the second window; and detects an input moving the first edge toward the second edge. In response to detecting the input, the device: pairs the first edge to the second edge such that the first window stops moving before it overlaps the second window when the user input satisfies pairing criteria, the pairing criteria include a first pairing criterion that is met when the input corresponds to movement of the first edge toward the second edge that deviates from a predefined axis by less than an angular threshold value; and continues the movement of the first window based on the input so that the first window overlaps the second window when the user input does not satisfy the pairing criteria.Type: GrantFiled: May 31, 2017Date of Patent: May 14, 2019Assignee: Apple Inc.Inventors: Corbin Robert Dunn, John O. Louch, Kevin James Van Vechten, Patrick Lee Coffman, Troy N. Stephens
-
Publication number: 20170357418Abstract: An electronic device: displays a first window and a second window within a display area, the first window having a first edge parallel to a second edge of the second window; and detects an input moving the first edge toward the second edge. In response to detecting the input, the device: pairs the first edge to the second edge such that the first window stops moving before it overlaps the second window when the user input satisfies pairing criteria, the pairing criteria include a first pairing criterion that is met when the input corresponds to movement of the first edge toward the second edge that deviates from a predefined axis by less than an angular threshold value; and continues the movement of the first window based on the input so that the first window overlaps the second window when the user input does not satisfy the pairing criteria.Type: ApplicationFiled: May 31, 2017Publication date: December 14, 2017Inventors: Corbin Robert Dunn, John O. Louch, Kevin James Van Vechten, Patrick Lee Coffman, Troy N. Stephens
-
Patent number: 9411637Abstract: A method and apparatus of a device that changes the importance of a daemon process is described. In an exemplary embodiment, the device receives a message from a user process destined for daemon process, wherein the daemon process executes independently of the user process and the first daemon process communicates messages with other executing processes. The device further determines if the first message indicates that the importance of the first daemon process can be changed. If the first message indicates the importance of the first daemon process can be changed, the device changes the importance of the first daemon process. The device additionally forwards the first message to the first daemon process.Type: GrantFiled: October 19, 2012Date of Patent: August 9, 2016Assignee: Apple Inc.Inventors: Ananthakrishna Ramesh, Yosen Lin, Damien Pascal Sorresso, James Michael Magee, Kevin James Van Vechten, Umesh Suresh Vaishampayan
-
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
-
Patent number: 9348732Abstract: A method and apparatus of a device that captures a stackshot of an executing process is described. In an exemplary embodiment, the device detects an interrupt of the process occurring during the execution of the process, where the process execution can be in a kernel space and user space, and the interrupt occurs during the user space. The device further determines whether to capture a stackshot during the interrupt using a penalty function. If the stackshot is to be captured, the device captures the stackshot and saves the stackshot.Type: GrantFiled: March 15, 2013Date of Patent: May 24, 2016Assignee: Apple Inc.Inventors: Kevin James Van Vechten, Shantonu Sen, Craig M. Federighi, Guy L. Tribble
-
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: 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: 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
-
Publication number: 20140237219Abstract: A method and apparatus of a device that captures a stackshot of an executing process is described. In an exemplary embodiment, the device detects an interrupt of the process occurring during the execution of the process, where the process execution can be in a kernel space and user space, and the interrupt occurs during the user space. The device further determines whether to capture a stackshot during the interrupt using a penalty function. If the stackshot is to be captured, the device captures the stackshot and saves the stackshot.Type: ApplicationFiled: March 15, 2013Publication date: August 21, 2014Applicant: Apple Inc.Inventors: Kevin James Van Vechten, Shantonu Sen, Craig M. Federighi, Guy L. Tribble
-
Publication number: 20140237475Abstract: A method and apparatus of a device that manages processes upon the device entering and waking from sleep mode is described. In an exemplary embodiment, the device receives a signal to wakeup the device from the sleep mode. The sleep mode includes a plurality of processes that were executing prior to the device being put into a sleep mode and the plurality of processes includes a suppressed process and an unsuppressed process. For each of the processes, the device resumes execution of that process if that process is an unsuppressed process and defers execution of the process if that process is a suppressed process.Type: ApplicationFiled: February 14, 2014Publication date: August 21, 2014Applicant: APPLE INC.Inventors: Jairey Connie Jong, Kevin James Van Vechten
-
Publication number: 20130332941Abstract: A method and apparatus of a device that changes the importance of a daemon process is described. In an exemplary embodiment, the device receives a message from a user process destined for daemon process, wherein the daemon process executes independently of the user process and the first daemon process communicates messages with other executing processes. The device further determines if the first message indicates that the importance of the first daemon process can be changed. If the first message indicates the importance of the first daemon process can be changed, the device changes the importance of the first daemon process. The device additionally forwards the first message to the first daemon process.Type: ApplicationFiled: October 19, 2012Publication date: December 12, 2013Applicant: APPLE INC.Inventors: Ananthakrishna Ramesh, Yosen Lin, Damien Pascal Sorresso, James Michael Magee, Kevin James Van Vechten, Umesh Suresh Vaishampayan
-
Patent number: 8239867Abstract: Techniques for implementing an atomic FIFO queue and system for processing queue elements are described herein. According to one embodiment, in a first thread of execution, new data is atomically merged with existing data of an object via an atomic instruction associated with hardware that executes the first thread. An attempt is made to acquire ownership of the object (exclusive access). If successful, the object is enqueued on an atomic FIFO queue as a continuation element for further processing. Otherwise, another thread of execution is safely assumed to have acquired ownership and taken responsibility to enqueue the object. A second thread of execution processes the atomic FIFO queue and assumes ownership of the continuation elements. The second thread invokes a function member of the continuation element with a data member of the continuation element, the data member including the newly merged data. Other methods and apparatuses are also described.Type: GrantFiled: June 3, 2009Date of Patent: August 7, 2012Assignee: Apple Inc.Inventors: David A. Zarzycki, Kevin James Van Vechten, Joshua Osborne
-
Patent number: 7990600Abstract: An optically addressed, photoconductive spatial light modulator (SLM) operates in a transmissive mode and is capable of modulating a wide spectrum of visible light. There is no pixel structure or native pixel resolution in the SLM. The SLM has no photodiodes and does not rectify. A light projection system (100) in which one or more SLMs (128, 130, 132) are placed includes a write (image definition) UV light path (102) and a read (illumination) visible light path (104) to form a color image projection display. The write UV light propagates from an image display pattern source (120) and either sequentially or continuously writes image patterns on the photoconductive SLMs. The read visible light propagates through the SLM and is modulated by an electro-optical material, the optical properties of which change in response to the image structure carried by the write light. The result is a high efficiency display system that delivers high resolution color images through a projection lens (190) onto a display screen.Type: GrantFiled: May 24, 2005Date of Patent: August 2, 2011Assignee: Compound Photonics LimitedInventors: Jonathan A. Sachs, Howard V. Goetz, David Keith, Lin Li, Steven H. Linn, Alexander Parfenov, Stephen E. Brice, Terry J. Scheffer, James A. Van Vechten, Jiuzhi Xue
-
Publication number: 20100313208Abstract: Techniques for implementing an atomic FIFO queue and system for processing queue elements are described herein. According to one embodiment, in a first thread of execution, new data is atomically merged with existing data of an object via an atomic instruction associated with hardware that executes the first thread. An attempt is made to acquire ownership of the object (exclusive access). If successful, the object is enqueued on an atomic FIFO queue as a continuation element for further processing. Otherwise, another thread of execution is safely assumed to have acquired ownership and taken responsibility to enqueue the object. A second thread of execution processes the atomic FIFO queue and assumes ownership of the continuation elements. The second thread invokes a function member of the continuation element with a data member of the continuation element, the data member including the newly merged data. Other methods and apparatuses are also described.Type: ApplicationFiled: June 3, 2009Publication date: December 9, 2010Applicant: APPLE INC.Inventors: David A. Zarzycki, Kevin James Van Vechten, Joshua Osborne