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: 8892533
    Abstract: 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: Grant
    Filed: September 28, 2007
    Date of Patent: November 18, 2014
    Assignee: Apple Inc.
    Inventor: William Bumgarner
  • Patent number: 8387007
    Abstract: 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: Grant
    Filed: June 8, 2007
    Date of Patent: February 26, 2013
    Assignee: Apple Inc.
    Inventors: Christopher Nebel, William Bumgarner, Adam Julian Goldstein
  • Patent number: 8341614
    Abstract: 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: Grant
    Filed: September 30, 2008
    Date of Patent: December 25, 2012
    Assignee: Apple Inc.
    Inventors: Gerald Blaine Garst, Jr., William Bumgarner, Fariborz Jahanian, Christopher Arthur Lattner
  • Publication number: 20110066897
    Abstract: 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: Application
    Filed: September 11, 2009
    Publication date: March 17, 2011
    Inventors: William Bumgarner, Patrick Beard, Blaine Garst, Benjamin Holt
  • Publication number: 20090307431
    Abstract: 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: Application
    Filed: September 30, 2008
    Publication date: December 10, 2009
    Inventors: Gerald Blaine Garst, JR., William Bumgarner, Fariborz Jahanian, Christopher Arthur Lattner
  • Publication number: 20090089748
    Abstract: 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: Application
    Filed: September 28, 2007
    Publication date: April 2, 2009
    Applicant: APPLE INC.
    Inventor: William Bumgarner
  • Publication number: 20080307401
    Abstract: 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: Application
    Filed: June 8, 2007
    Publication date: December 11, 2008
    Applicant: APPLE INC.
    Inventors: Christopher Nebel, William Bumgarner, Adam Julian Goldstein
  • Publication number: 20070245311
    Abstract: 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: Application
    Filed: April 14, 2006
    Publication date: October 18, 2007
    Inventors: William Bumgarner, Adam Swift, Andrew Gross