Patents by Inventor Benjamin C. Trumbull
Benjamin C. Trumbull 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: 10977172Abstract: Techniques are disclosed relating to virtual memory page reclamation policies. In some embodiments, an operating system of a computing device implements, during a first operating mode, a first page reclamation policy for pages corresponding to user processes and non-user processes. The computing device may then enter a second operating mode upon detecting some indication of user inactivity. The operating system may then implement, during the second operating mode, a second page reclamation policy for pages corresponding to user processes and non-user processes, where the second page reclamation policy prioritizes, relative to the first page reclamation policy, eviction of pages corresponding to non-user processes.Type: GrantFiled: September 29, 2018Date of Patent: April 13, 2021Assignee: Apple Inc.Inventors: Lionel D. Desai, Benjamin C. Trumbull
-
Patent number: 10649889Abstract: According to one embodiment, it is determined whether data stored in a compressor pool exceeds a first predetermined threshold, the compressor pool being a fixed-size memory pool maintained in a kernel of an operating system. The compressor pool stores a plurality of compressed memory pages, each memory page storing compressed data pages that can be paged out to or paged in from a persistent storage device. The compressed memory pages are associated with a plurality of processes. A memory consumption reduction action is performed to reduce memory usage, including terminating at least one of the processes to reclaim a memory space occupied by the process, in response to determining that the data stored in the compressor pool exceeds the first predetermined threshold.Type: GrantFiled: June 1, 2018Date of Patent: May 12, 2020Assignee: Apple Inc.Inventors: Lionel D. Desai, Russell A. Blaine, Benjamin C. Trumbull
-
Publication number: 20190370171Abstract: Techniques are disclosed relating to virtual memory page reclamation policies. In some embodiments, an operating system of a computing device implements, during a first operating mode, a first page reclamation policy for pages corresponding to user processes and non-user processes. The computing device may then enter a second operating mode upon detecting some indication of user inactivity. The operating system may then implement, during the second operating mode, a second page reclamation policy for pages corresponding to user processes and non-user processes, where the second page reclamation policy prioritizes, relative to the first page reclamation policy, eviction of pages corresponding to non-user processes.Type: ApplicationFiled: September 29, 2018Publication date: December 5, 2019Inventors: Lionel D. Desai, Benjamin C. Trumbull
-
Publication number: 20180349261Abstract: According to one embodiment, it is determined whether data stored in a compressor pool exceeds a first predetermined threshold, the compressor pool being a fixed-size memory pool maintained in a kernel of an operating system. The compressor pool stores a plurality of compressed memory pages, each memory page storing compressed data pages that can be paged out to or paged in from a persistent storage device. The compressed memory pages are associated with a plurality of processes. A memory consumption reduction action is performed to reduce memory usage, including terminating at least one of the processes to reclaim a memory space occupied by the process, in response to determining that the data stored in the compressor pool exceeds the first predetermined threshold.Type: ApplicationFiled: June 1, 2018Publication date: December 6, 2018Inventors: LIONEL D. DESAI, RUSSELL A. BLAINE, BENJAMIN C. TRUMBULL
-
Patent number: 9400677Abstract: An operating system of a data processing system receives a request from a first process to acquire an exclusive lock for accessing a resource of the data processing system. A second priority of a second process is increased to reduce total execution time. The second process is currently in possession of the exclusive lock for performing a transactional operation with the resource. The second priority was lower than a first priority of the first process. The operating system notifies the second process to indicate that another process is waiting for the exclusive lock to allow the second process to complete or roll back the transactional operation and to release the exclusive lock thereafter.Type: GrantFiled: May 14, 2013Date of Patent: July 26, 2016Assignee: Apple Inc.Inventors: Benjamin C. Trumbull, Adam C. Swift, Russell A. Blaine, Benjamin H. Nham, Kari E. Christianson
-
Patent number: 9244914Abstract: Methods and apparatus are provided in which applications that run on different devices can be upgraded with migration of data to a new database format. A method of upgrading a first version of an application installed on a first device to a second version is provided, where first and second transaction logs for respective first and second schema versions are stored in respective first and second log containers on a server computer, and the first version of the application stores data in accordance with a first schema version, and further stores a cache of at least a portion of the first transaction log in a log database on the first device, migrating the log database to the second schema version, storing a duplicate copy of the first transaction log in the second log container, and rewriting the duplicate copy of the first transaction logs using the second schema.Type: GrantFiled: September 28, 2012Date of Patent: January 26, 2016Assignee: Apple Inc.Inventors: Benjamin C. Trumbull, Nicholas W. Gillett, Adam C. Swift
-
Patent number: 8930324Abstract: Guarded file access operations are provided for creating and using guarded file descriptors, which can detect and prevent erroneous file access operations in computer programs. A file descriptor can be associated with a guard identifier to create a guarded file descriptor. The association can be established when the file is opened, and can be maintained independently of the computer program, which ordinarily maintains its own association between files, file descriptors, and guard identifiers. Subsequent file operations using the guarded file descriptor check that the guard identifier previously associated with that file descriptor is presented, and generate errors without performing the requested file operations if the correct guard identifier is not presented. This check serves as a validation of the computer program's use of file descriptors. An error and stack trace can be generated for use in analyzing a cause of the guard violation.Type: GrantFiled: September 15, 2012Date of Patent: January 6, 2015Inventors: Russell A. Blaine, Timothy P. Marsland, Benjamin H. Nham, Adam C. Swift, Benjamin C. Trumbull, Umesh S. Vaishampayan
-
Publication number: 20140189693Abstract: An operating system of a data processing system receives a request from a first process to acquire an exclusive lock for accessing a resource of the data processing system. A second priority of a second process is increased to reduce total execution time. The second process is currently in possession of the exclusive lock for performing a transactional operation with the resource. The second priority was lower than a first priority of the first process. The operating system notifies the second process to indicate that another process is waiting for the exclusive lock to allow the second process to complete or roll back the transactional operation and to release the exclusive lock thereafter.Type: ApplicationFiled: May 14, 2013Publication date: July 3, 2014Applicant: Apple Inc.Inventors: Benjamin C. Trumbull, Adam C. Swift, Russell A. Blaine, Benjamin H. Nham, Kari E. Christianson
-
Patent number: 8700880Abstract: A method and apparatus for performing a function based on an executable code in response to receiving a request including function parameters are described. The executable code may be validated when loaded in a memory according to a signature statically signed over the executable code. A data location in the memory for storing the function parameters may be determined according location settings included inside the executable code. A target code location for storing a copy of the executable code may be determined based on the location parameters and the determined data location. A function is performed by executing the executable code from the target code location referencing the stored function parameters.Type: GrantFiled: November 9, 2012Date of Patent: April 15, 2014Assignee: Apple Inc.Inventor: Benjamin C. Trumbull
-
Publication number: 20140095432Abstract: Methods and apparatus are provided in which applications that run on different devices can be upgraded with migration of data to a new database format. A method of upgrading a first version of an application installed on a first device to a second version is provided, where first and second transaction logs for respective first and second schema versions are stored in respective first and second log containers on a server computer, and the first version of the application stores data in accordance with a first schema version, and further stores a cache of at least a portion of the first transaction log in a log database on the first device, migrating the log database to the second schema version, storing a duplicate copy of the first transaction log in the second log container, and rewriting the duplicate copy of the first transaction logs using the second schema.Type: ApplicationFiled: September 28, 2012Publication date: April 3, 2014Applicant: APPLE INC.Inventors: Benjamin C. TRUMBULL, Nicholas W. GILLETT, Adam C. SWIFT
-
Publication number: 20130339313Abstract: Guarded file access operations are provided for creating and using guarded file descriptors, which can detect and prevent erroneous file access operations in computer programs. A file descriptor can be associated with a guard identifier to create a guarded file descriptor. The association can be established when the file is opened, and can be maintained independently of the computer program, which ordinarily maintains its own association between files, file descriptors, and guard identifiers. Subsequent file operations using the guarded file descriptor check that the guard identifier previously associated with that file descriptor is presented, and generate errors without performing the requested file operations if the correct guard identifier is not presented. This check serves as a validation of the computer program's use of file descriptors. An error and stack trace can be generated for use in analyzing a cause of the guard violation.Type: ApplicationFiled: September 15, 2012Publication date: December 19, 2013Applicant: Apple Inc.Inventors: Russell A. BLAINE, Timothy P. Marsland, Benjamin H. Nham, Adam C. Swift, Benjamin C. Trumbull, Umesh S. Vaishampayan
-
Patent number: 8312249Abstract: A method and apparatus for performing a function based on an executable code in response to receiving a request including function parameters are described. The executable code may be validated when loaded in a memory according to a signature statically signed over the executable code. A data location in the memory for storing the function parameters may be determined according location settings included inside the executable code. A target code location for storing a copy of the executable code may be determined based on the location parameters and the determined data location. A function is performed by executing the executable code from the target code location referencing the stored function parameters.Type: GrantFiled: October 10, 2008Date of Patent: November 13, 2012Assignee: Apple Inc.Inventor: Benjamin C. Trumbull
-
Publication number: 20090307669Abstract: Methods, software media, compilers and programming techniques are described for binding data to a function using thunk synthesis. In one exemplary method, a computing system executes a program having a function with a first set of arguments. In response to the function being called, a function pointer of the function is synthesized to recover an extra argument for the function in addition to the first set of arguments.Type: ApplicationFiled: September 30, 2008Publication date: December 10, 2009Inventors: Gerald Blaine Garst, JR., Benjamin C. Trumbull