Patents by Inventor Michael Magee

Michael Magee 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: 9123010
    Abstract: Disclosed are systems, methods, and non-transitory computer-readable storage media for tracking and managing resource usage through a ledger feature that can trigger complex real-time reactions. The resource tracking can be managed through a ledger module and a ledger data structure. The ledger data structure can be updated each time a task requests a resource. Additionally, as part of the update, the ledger module can verify whether a resource has been over consumed. In response to the detection of an over consumption, the ledger module can set a flag. At some later pointer when the thread is in a stable, well-understood point, the ledger module can check if the flag has been set. If the flag has been set, the ledger module can call the appropriate callback function, which can react to the over consumption in a resource specific manner.
    Type: Grant
    Filed: September 5, 2012
    Date of Patent: September 1, 2015
    Assignee: Apple Inc.
    Inventors: James Michael Magee, Nils A. Nieuwejaar, Umesh S. Vaishampayan
  • Publication number: 20140059571
    Abstract: A method and an apparatus for determining a usage level of a memory device to notify a running application to perform memory reduction operations selected based on the memory usage level are described. An application calls APIs (Application Programming Interface) integrated with the application codes in the system to perform memory reduction operations. A memory usage level is determined according to a memory usage status received from the kernel of a system. A running application is associated with application priorities ranking multiple running applications statically or dynamically. Selecting memory reduction operations and notifying a running application are based on application priorities. Alternatively, a running application may determine a mode of operation to directly reduce memory usage in response to a notification for reducing memory usage without using API calls to other software.
    Type: Application
    Filed: July 23, 2013
    Publication date: February 27, 2014
    Applicant: Apple Inc.
    Inventors: Matthew G. Watson, James Michael Magee
  • Publication number: 20130332941
    Abstract: 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: Application
    Filed: October 19, 2012
    Publication date: December 12, 2013
    Applicant: APPLE INC.
    Inventors: Ananthakrishna Ramesh, Yosen Lin, Damien Pascal Sorresso, James Michael Magee, Kevin James Van Vechten, Umesh Suresh Vaishampayan
  • Publication number: 20130332942
    Abstract: Systems, methods, and computer program products for target memory pressure event notifications are disclosed. Processes running on a device can register to receive memory pressure event notifications from a memory management system, which are sent while memory pages are being reclaimed. Active processes running on a device processor can be assigned a priority that ranges from low to high. Responsive to a memory pressure event occurring on the device, the memory management system determines whether less than a threshold number of high priority processes are active on the device. If so, the memory management system sends a memory pressure event notification to the registered process with the lowest priority among the active processes.
    Type: Application
    Filed: October 11, 2012
    Publication date: December 12, 2013
    Applicant: APPLE INC.
    Inventors: Ananthakrishna Ramesh, Daniel E. Crosby, James Michael Magee, Lionel D. Desai, Matthew G. Watson, Neil G. Crane
  • Publication number: 20130325543
    Abstract: Disclosed are systems, methods, and non-transitory computer-readable storage media for tracking and managing resource usage through a ledger feature that can trigger complex real-time reactions. The resource tracking can be managed through a ledger module and a ledger data structure. The ledger data structure can be updated each time a task requests a resource. Additionally, as part of the update, the ledger module can verify whether a resource has been over consumed. In response to the detection of an over consumption, the ledger module can set a flag. At some later pointer when the thread is in a stable, well-understood point, the ledger module can check if the flag has been set. If the flag has been set, the ledger module can call the appropriate callback function, which can react to the over consumption in a resource specific manner.
    Type: Application
    Filed: September 5, 2012
    Publication date: December 5, 2013
    Applicant: Apple Inc
    Inventors: James Michael Magee, Nils A. Nieuwejaar, Umesh S. Vaishampayan
  • Patent number: 8380948
    Abstract: Memory objects associated with a portion of a cache (e.g., data blocks of a media file) are assigned a value based on their importance to an application that is consuming memory objects. The values are used to assign the data blocks to purge groups. The purge groups are a labeling mechanism for determining a purge order. A memory object associated with a first data block assigned to a first purge group may be purged before a memory object associated with a second data block assigned to a second purge group. As new data blocks are received by the application (e.g., from disk or a network connection), the blocks are assigned a value and added to a purge group. In some cases, the data blocks arrive out of order (e.g., order of consumption). Memory objects can be reassigned to a different purge group when new data blocks are added or reclaimed.
    Type: Grant
    Filed: September 4, 2008
    Date of Patent: February 19, 2013
    Assignee: Apple Inc.
    Inventors: Heiko Gernot Albert Panther, James Michael Magee, John Samuel Bushell
  • Publication number: 20110009532
    Abstract: Compositions containing at least one binder and at least one surface-active additive in processes for the production of composite mouldings, and the use thereof.
    Type: Application
    Filed: July 8, 2010
    Publication date: January 13, 2011
    Applicant: Evonik Glodschmidt GmbH
    Inventors: Thomas LUETHGE, Maike Vivian Balbo Block, Michael Magee, Georg Burkhart
  • Patent number: 7831784
    Abstract: A system and method of managing purgeable memory objects includes a LIFO and/or FIFO queue for volatile memory objects, which can be emptied at a rate that matches the speed of a page queue.
    Type: Grant
    Filed: July 16, 2007
    Date of Patent: November 9, 2010
    Assignee: Apple Inc.
    Inventors: Heiko Gernot Albert Panther, James Michael Magee, John Samuel Bushell
  • Publication number: 20090063915
    Abstract: Memory objects associated with a portion of a cache (e.g., data blocks of a media file) are assigned a value based on their importance to an application that is consuming memory objects. The values are used to assign the data blocks to purge groups. The purge groups are a labeling mechanism for determining a purge order. A memory object associated with a first data block assigned to a first purge group may be purged before a memory object associated with a second data block assigned to a second purge group. As new data blocks are received by the application (e.g., from disk or a network connection), the blocks are assigned a value and added to a purge group. In some cases, the data blocks arrive out of order (e.g., order of consumption). Memory objects can be reassigned to a different purge group when new data blocks are added or reclaimed.
    Type: Application
    Filed: September 4, 2008
    Publication date: March 5, 2009
    Applicant: Apple Inc.
    Inventors: Heiko Gernot Albert Panther, James Michael Magee, John Samuel Bushell
  • Publication number: 20090024809
    Abstract: A system and method of managing purgeable memory objects includes a LIFO and/or FIFO queue for volatile memory objects, which can be emptied at a rate that matches the speed of a page queue.
    Type: Application
    Filed: July 16, 2007
    Publication date: January 22, 2009
    Applicant: APPLE INC.
    Inventors: Heiko Gernot Albert Panther, James Michael Magee, John Samuel Bushell
  • Publication number: 20060103854
    Abstract: Embodiments of the invention provide a non-contact method for measuring the surface profile of an object that can include generating a point-type optical signal and projecting it on a rotatable precision optical grating, generating a rotating pattern of light and dark lines onto the object, recording a series of images of the rotating pattern moving across the object with an image receiving device and calculating the surface profile of the object. Other embodiments can include a method to calibrate the system and a non-contact apparatus that generally includes a point-type light source, a rotatably mounted optical grating being configured to project a moving grating image on the object, a processor in communication with the image capturing device and configured to receive image input from the image capturing device and generate a surface profile representation of the object therefrom.
    Type: Application
    Filed: December 22, 2005
    Publication date: May 18, 2006
    Inventors: Ernest Franke, Michael Magee, Michael Rigney, Joseph Mitchell, Robert Beeson
  • Publication number: 20060082787
    Abstract: Embodiments of the invention provide a non-contact method for measuring the surface profile of an object that can include generating a point-type optical signal and projecting it on a rotatable precision optical grating, generating a rotating pattern of light and dark lines onto the object, recording a series of images of the rotating pattern moving across the object with an image receiving device and calculating the surface profile of the object. Other embodiments can include a method to calibrate the system and a non-contact apparatus that generally includes a point-type light source, a rotatably mounted optical grating being configured to project a moving grating image on the object, a processor in communication with the image capturing device and configured to receive image input from the image capturing device and generate a surface profile representation of the object therefrom.
    Type: Application
    Filed: August 17, 2005
    Publication date: April 20, 2006
    Inventors: Ernest Franke, Michael Magee, Michael Rigney, Joseph Mitchell, Robert Beeson
  • Patent number: 6336170
    Abstract: A method and system in a distributed shared-memory data processing system are disclosed having a single operating system being executed simultaneously by a plurality of processors included within a plurality of coupled processing nodes for determining a utilization of each memory location included within a shared-memory included within each of the plurality of nodes by each of the plurality of nodes. The operating system processes a designated application utilizing the plurality of nodes. During the processing, for each of the plurality of nodes, a determination is made of a quantity of times each memory location included within a shared-memory included within each of the plurality of nodes is accessed by each of the plurality of nodes.
    Type: Grant
    Filed: October 13, 1998
    Date of Patent: January 1, 2002
    Assignee: International Business Machines Corporation
    Inventors: Mark E. Dean, James Michael Magee, Ronald Lynn Rockhold, Guy G. Sotomayor, Jr., James Van Fleet
  • Patent number: 5957927
    Abstract: A surgical tool for assisting the implantation of a bone fixation device is disclosed. The tool includes a bone fixation device holder for releaseably engaging a bone fixation device. The bone fixation device holder has at least one hole which is larger in diameter than the bone fixation device screws and aligns with at least one of the bone fixation device screw holes when the bone fixation device is engaged by the bone fixation device holder. The tool also includes a handle proximal to the holder and consisting of left and right portions. As the left and right portions are moveable relative to each other and a distal end of the handle is connected to a proximal end of the holder, the relative movement of the left and right portions results in angular movement of the bone fixation device holder. The tool according to the present invention facilitates the stabilization, fusion, or distraction of bone parts.
    Type: Grant
    Filed: February 24, 1998
    Date of Patent: September 28, 1999
    Assignee: Synthes (USA)
    Inventors: Christopher Michael Magee, Sean Hamilton Kerr
  • Patent number: 5771383
    Abstract: A data processing system and method provide for sharing a partition of a memory in the system between a first task and thread and a second task and thread, so as to more efficiently enable adaptive sharing of data for local tasks or alternately copying of data into I/O buffers for remote tasks. The system and method automatically determine whether sharing has been established between two local tasks and if not, the system and method will adaptively copy data for messages to be transferred between the tasks.
    Type: Grant
    Filed: February 13, 1997
    Date of Patent: June 23, 1998
    Assignee: International Business Machines Corp.
    Inventors: James Michael Magee, Freeman L. Rawson, III, Christopher Dean Youngworth
  • Patent number: 5729710
    Abstract: A memory management method for a microkernel architecture and the microkernel itself feature template regions which are defined by the microkernel in the memory, as special objects. In the memory management method, after the microkernel is loaded into the memory of a data processing system, it begins creating task containers in the memory. It does this by forming template regions as special objects in the memory, the template regions having a set of attributes. Then, when the microkernel forms a task in the memory, it does so by mapping the template region into the task. The microkernel defines a virtual address space for the task based upon the template region. Later, when the microkernel conducts virtual memory operations on the template regions, the effect of the virtual memory operations is manifested in the task by means of the mapping relationship. In this manner, a single template region can be mapped into multiple tasks, simultaneously.
    Type: Grant
    Filed: June 22, 1994
    Date of Patent: March 17, 1998
    Assignee: International Business Machines Corporation
    Inventors: James Michael Magee, Freeman Leigh Rawson, III, Guy Gil Sotomayor, Jr.