Patents by Inventor William Bumgarner
William Bumgarner 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: 8892533Abstract: Efficiency of cached objects such as singleton objects and other software constructs having a first-invocation cost is improved by replacing the software code for creating a method instance (the “creation code”) with the instance itself. Upon first invocation, the calling method causes the first version of the method to be performed, and also causes the first version to be replaced by the second version. Thus, the invention facilitates creation of singleton objects that run without any branch logic, so as to improve speed and efficiency. The need for locking and exception handling is reduced, resultant code is simplified, and potential for error is reduced.Type: GrantFiled: September 28, 2007Date of Patent: November 18, 2014Assignee: Apple Inc.Inventor: William Bumgarner
-
Patent number: 8387007Abstract: A scripting bridge allows a developer to automatically build glue classes to access a scriptable application with standard method calls written in a language such as Objective-C. The Objective-C code sends properly formed Apple events automatically (or events according to some other event protocol), so that the developer is not required to have any knowledge of the scripting language of the target application. Classes can be created dynamically at run-time, including dynamic creation of methods within those classes. Lazy evaluation is employed to avoid unnecessary inter-process communication traffic. The present invention provides a straightforward model for controlling scriptable applications that can result in code that is significantly faster and more efficient than prior art methods.Type: GrantFiled: June 8, 2007Date of Patent: February 26, 2013Assignee: Apple Inc.Inventors: Christopher Nebel, William Bumgarner, Adam Julian Goldstein
-
Patent number: 8341614Abstract: Methods, software media, compilers and programming techniques are described for creating copyable stack-based closures, such as a block, for languages which allocate automatic or local variables on a stack memory structure. In one exemplary method, a data structure of the block is first written to the stack memory structure, and this may be the automatic default operation, at run-time, for the block; then, a block copy instruction, added explicitly (in one embodiment) by a programmer during creation of the block, is executed to copy the block to a heap memory structure. The block includes a function pointer that references a function which uses data in the block.Type: GrantFiled: September 30, 2008Date of Patent: December 25, 2012Assignee: Apple Inc.Inventors: Gerald Blaine Garst, Jr., William Bumgarner, Fariborz Jahanian, Christopher Arthur Lattner
-
Publication number: 20110066897Abstract: Methods and apparatuses that correlate a plurality of snapshots of system resources to identify allocation of permanent resource objects are described. Each snapshot may include an inventory of resource objects already allocated at the time of the snapshot. The plurality of snapshots may be taken at different instants over a period of time. Temporarily allocated resource objects may be filtered from the plurality of snapshots to identify permanent resource objects according to the correlation among the plurality of snapshots.Type: ApplicationFiled: September 11, 2009Publication date: March 17, 2011Inventors: William Bumgarner, Patrick Beard, Blaine Garst, Benjamin Holt
-
Publication number: 20090307431Abstract: Methods, software media, compilers and programming techniques are described for creating copyable stack-based closures, such as a block, for languages which allocate automatic or local variables on a stack memory structure. In one exemplary method, a data structure of the block is first written to the stack memory structure, and this may be the automatic default operation, at run-time, for the block; then, a block copy instruction, added explicitly (in one embodiment) by a programmer during creation of the block, is executed to copy the block to a heap memory structure. The block includes a function pointer that references a function which uses data in the block.Type: ApplicationFiled: September 30, 2008Publication date: December 10, 2009Inventors: Gerald Blaine Garst, JR., William Bumgarner, Fariborz Jahanian, Christopher Arthur Lattner
-
Publication number: 20090089748Abstract: Efficiency of cached objects such as singleton objects and other software constructs having a first-invocation cost is improved by replacing the software code for creating a method instance (the “creation code”) with the instance itself. Upon first invocation, the calling method causes the first version of the method to be performed, and also causes the first version to be replaced by the second version. Thus, the invention facilitates creation of singleton objects that run without any branch logic, so as to improve speed and efficiency. The need for locking and exception handling is reduced, resultant code is simplified, and potential for error is reduced.Type: ApplicationFiled: September 28, 2007Publication date: April 2, 2009Applicant: APPLE INC.Inventor: William Bumgarner
-
Publication number: 20080307401Abstract: A scripting bridge allows a developer to automatically build glue classes to access a scriptable application with standard method calls written in a language such as Objective-C. The Objective-C code sends properly formed Apple events automatically (or events according to some other event protocol), so that the developer is not required to have any knowledge of the scripting language of the target application. Classes can be created dynamically at run-time, including dynamic creation of methods within those classes. Lazy evaluation is employed to avoid unnecessary inter-process communication traffic. The present invention provides a straightforward model for controlling scriptable applications that can result in code that is significantly faster and more efficient than prior art methods.Type: ApplicationFiled: June 8, 2007Publication date: December 11, 2008Applicant: APPLE INC.Inventors: Christopher Nebel, William Bumgarner, Adam Julian Goldstein
-
Publication number: 20070245311Abstract: Mounting and populating a mirrored version of at least a portion of a file system of a recruiter machine at a volunteer machine performing one or more data processing tasks for the recruiter machine is disclosed. In some embodiments, an input stored in such a dedicated file system for the recruiter machine at the volunteer machine may be locally retrieved and reused, if still consistent with a corresponding input stored in a file system at the recruiter machine, when performing a data processing task for the recruiter machine at the volunteer machine. In some embodiments, if an input required by the volunteer machine to perform a data processing task for the recruiter machine is not cached in such a dedicated file system for the recruiter machine at the volunteer machine in a state that is consistent with a corresponding input stored in a file system at the recruiter machine, the input is obtained from the recruiter machine.Type: ApplicationFiled: April 14, 2006Publication date: October 18, 2007Inventors: William Bumgarner, Adam Swift, Andrew Gross