Patents by Inventor Martin John Trotter

Martin John Trotter 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).

  • Publication number: 20080216083
    Abstract: The memory used by individual users can be tracked and constrained without having to place all the work from individual users into separate JVMs. The net effect is that the ‘bursty’ nature of memory consumption by multiple users can be summed to result in a JVM which exhibits much less bursty memory requirements while at the same time allowing individual users to have relatively relaxed constraints.
    Type: Application
    Filed: February 19, 2008
    Publication date: September 4, 2008
    Applicant: International Business Machines Corporation
    Inventor: Martin John Trotter
  • Patent number: 7370327
    Abstract: A method is provided for managing memory resources in a shared memory system. A point is identified (10) at which memory usage will be constrained. An object pertaining to an active user of the system is identified (20), and further objects related to this object are also found (30). A user memory footprint is then determined (40) from the footprints of the identified objects. Different constraint options are identified (50) and one of these is used to constrain (60) the user memory footprint. In this way the memory used by individual users may be tracked and constrained without having to place all the work from users into separate JVMs. Therefore the ‘bursty’ nature of memory consumption by multiple users can be summed to result in a JVM which exhibits much less bursty memory requirements and allows individual users to have relatively relaxed constraints.
    Type: Grant
    Filed: March 6, 2003
    Date of Patent: May 6, 2008
    Assignee: International Business Machines Corporation
    Inventor: Martin John Trotter
  • Patent number: 7263700
    Abstract: In a virtual machine environment, a method and apparatus for the use of multiple heaps to retain persistent data and transient data wherein the multiple heaps enables a single virtual machine to be easily resettable, thus avoiding the need to terminate and start a new Virtual Machine as well as enabling a single virtual machine to retain data and objects across multiple applications, thus avoiding the computing resource overhead of relinking, reloading, reverifying, and recompiling classes. The memory hierarchy includes a System Heap, a Middleware Heap and a Transient Heap. The use of three heaps enables garbage collection to be selectively targeted to one heap at a time in between applications, thus avoiding this overhead during the life of an application.
    Type: Grant
    Filed: November 6, 2000
    Date of Patent: August 28, 2007
    Assignee: International Business Machines Corporation
    Inventors: David Francis Bacon, Robert Francis Berry, Rajesh Ramkrishna Bordawekar, Donna Ngar Ting Dillenberger, Elizabeth Anne Hutchison, Susan Patricia Paice, Donald William Schmidt, Martin John Trotter, Alan Michael Webb, Edmund James Whittaker West
  • Patent number: 7107426
    Abstract: A computer system provides an object-based virtual machine environment for running successive applications. The computer system includes storage, at least a portion of which is logically divided into two or more heaps in which objects can be stored. A first heap is reset between successive applications, and a second heap persists from one application to the next. A card table is provided which comprises multiple cards, each corresponding to a region of said storage. Each card in the card table is set to null when the first heap is reset between successive applications. A card is marked whenever an object in its corresponding storage region is created or updated. It is then possible to detect potential references from the second heap to the first heap at reset by scanning the cards in the card table corresponding to the second heap, and detecting any cards which have been marked. The system further identifies any objects on the first heap which have a finalization method.
    Type: Grant
    Filed: August 13, 2001
    Date of Patent: September 12, 2006
    Assignee: International Business Machines Corporation
    Inventors: Elliot Karl Kolodner, Ethan Lewis, Susan Patricia Paice, Martin John Trotter, Samuel David Borman
  • Patent number: 6996590
    Abstract: A method of garbage collection of shared data in a system heap within a data processing system, the method comprising the steps of: (a) determining if the contents of the system heap has reached a predetermined threshold, the system heap storing shared objects which are shared amongst a plurality of processes running in a data processing system; (b) in a table identifying each of the plurality of processes with a status field, setting the status field of a process which has carried out determining step (a) to a mark initiator value; (c) triggering remaining processes to mark all objects in the system heap that each process is currently using; (d) determining that each of the remaining processes has completed the marking, at step (c); (e) releasing any unmarked objects in the system heap to an object pool.
    Type: Grant
    Filed: December 20, 2002
    Date of Patent: February 7, 2006
    Assignee: International Business Machines Corporation
    Inventors: Samuel David Borman, Martin John Trotter
  • Patent number: 6912553
    Abstract: This invention relates to memory management in a virtual machine or operating system and in particular to object creation and garbage collection. There is described a method and system of managing memory in a multi-threaded processing environment such as a java virtual machine comprising: creating an object in a thread heap; associating a status with the object and setting the status as local; using write barriers to change the status to global if the object is assigned to a static variable or if the object is assigned to a field in a global object; changing the status of all objects referenced by that object to global; and performing garbage collection by deleting from the thread heap, when memory space in the thread heap is required, one or more local objects which can not be traced to the thread stack.
    Type: Grant
    Filed: July 19, 1999
    Date of Patent: June 28, 2005
    Assignee: International Business Machines Corporation
    Inventors: Elliot Karl Kolodner, Martin John Trotter
  • Patent number: 6907437
    Abstract: There is described a method of accurately scanning the C stack. One technique for solving these problems is to indirectly reference objects using handles however the some JVMs have removed handles to gain a performance improvement. The embodiment describes a solution in which 32 bit quantities are known to be object references by means of some side information. This avoids the problem of integer values masquerading as references causing objects to be needlessly retained. It also allows employment of a compacting collector which is allowed to move objects even if they are referenced from the stacks. Currently the compactor is prevented from moving such objects leading to reduced compaction efficiency.
    Type: Grant
    Filed: June 22, 1999
    Date of Patent: June 14, 2005
    Assignee: International Business Machines Corporation
    Inventor: Martin John Trotter
  • Patent number: 6904589
    Abstract: This invention relates to memory management in a virtual machine or operating system and in particular to object creation and garbage collection. There is described a method and system of managing memory in a multi-threaded processing environment such as a java virtual machine comprising: creating an object in a thread heap; associating a status with the object and setting the status as local; using write barriers to change the status to global if the object is assigned to a static variable or if the object is assigned to a field in any other object; and performing garbage collection by deleting from the thread heap, when memory space in the thread heap is required, one or more local objects which can not be traced to the thread stack.
    Type: Grant
    Filed: June 22, 1999
    Date of Patent: June 7, 2005
    Assignee: International Business Machines Corporation
    Inventors: Elliot Karl Kolodner, Martin John Trotter
  • Patent number: 6804765
    Abstract: A computer system provides an object-based environment and includes storage. At least a portion of the storage is logically divided into two or more heaps in which objects can be stored. Each heap is subdivided into slices of memory. The system includes a two-level lookup structure for determining whether a given storage address corresponds to a particular heap. The lookup substructure involves a first level having one or more lookup substructures, each corresponding to a unit of memory representing a predetermined number of slices. The substructure indicates for each of these slices the particular heap, if any, that the slice belongs to. The two-level lookup structure further involves a second level for determining for a given memory address the first level lookup substructure that includes the slice containing that address.
    Type: Grant
    Filed: April 30, 2001
    Date of Patent: October 12, 2004
    Assignee: International Business Machines Corporation
    Inventors: Elliot Karl Kolodner, Ethan Lewis, Susan Patricia Paice, Martin John Trotter
  • Patent number: 6757891
    Abstract: A computer-implemented method for reducing a computing overhead associated with objects that are local to a particular thread and can be accessed solely by that thread. Dynamically during run-time, an object is determined to be local to a particular thread and can be accessed solely by that thread, whereby a computing overhead associated with that object may be reduced. Likewise, cache locality may be optimized in respect of objects that are determined to be global so as to avoid putting them in the same cache line, whilst thread-local objects are preferably stored in a cache line associated with that thread.
    Type: Grant
    Filed: July 12, 2000
    Date of Patent: June 29, 2004
    Assignee: International Business Machines Corporation
    Inventors: Alain Azagury, Elliott Karl Kolodner, Michael Factor, Avi Teperman, Martin John Trotter
  • Publication number: 20040123303
    Abstract: A method is provided for managing memory resources in a shared memory system. A point is identified (10) at which memory usage will be constrained. An object pertaining to an active user of the system is identified (20), and further objects related to this object are also found (30). A user memory footprint is then determined (40) from the footprints of the identified objects. Different constraint options are identified (50) and one of these is used to constrain (60) the user memory footprint. In this way the memory used by individual users may be tracked and constrained without having to place all the work from users into separate JVMs. Therefore the ‘bursty’ nature of memory consumption by multiple users can be summed to result in a JVM which exhibits much less bursty memory requirements and allows individual users to have relatively relaxed constraints.
    Type: Application
    Filed: March 6, 2003
    Publication date: June 24, 2004
    Applicant: International Business Machines Corporation
    Inventor: Martin John Trotter
  • Publication number: 20030220952
    Abstract: A method of garbage collection of shared data in a system heap within a data processing system, the method comprising the steps of: (a) determining if the contents of the system heap has reached a predetermined threshold, the system heap storing shared objects which are shared amongst a plurality of processes running in a data processing system; (b) in a table identifying each of the plurality of processes with a status field, setting the status field of a process which has carried out determining step (a) to a mark initiator value; (c) triggering remaining processes to mark all objects in the system heap that each process is currently using; (d) determining that each of the remaining processes has completed the marking, at step (c); (e) releasing any unmarked objects in the system heap to an object pool.
    Type: Application
    Filed: December 20, 2002
    Publication date: November 27, 2003
    Applicant: International Business Machines Corporation
    Inventors: Samuel David Borman, Martin John Trotter
  • Publication number: 20020178208
    Abstract: The invention relates to a method of operating a computer system supporting multiple processes having potentially different priorities. The system provides a wait-notify mechanism, whereby a first process can be suspended pending notification from a second process. The mechanism is controlled via a predetermined resource which-must be-owned by the first process when suspension is initiated, and the second process at the time of notification. During the suspension of the first process, the priority of a process that acquires ownership of said predetermined resource is increased, typically to a level equal to that of the first process. This ensures that the first process does not wait an unduly long time to be notified for resumption.
    Type: Application
    Filed: May 24, 2002
    Publication date: November 28, 2002
    Applicant: International Business Machines Corporation
    Inventors: Gordon Douglas Hutchison, Brian David Peacock, Martin John Trotter
  • Publication number: 20020056019
    Abstract: A computer system provides an object-based virtual machine environment for running successive applications. The computer system includes storage, at least a portion of which is logically divided into two or more heaps in which objects can be stored. A first heap is reset between successive applications, and a second heap persists from one application to the next. A card table is provided which comprises multiple cards, each corresponding to a region of said storage. Each card in the card table is set to null when the first heap is reset between successive applications. A card is marked whenever an object in its corresponding storage region is created or updated. It is then possible to detect potential references from the second heap to the first heap at reset by scanning the cards in the card table corresponding to the second heap, and detecting any cards which have been marked.
    Type: Application
    Filed: August 13, 2001
    Publication date: May 9, 2002
    Applicant: International Business Machines Corporation
    Inventors: Elliot Karl Kolodner, Ethan Lewis, Susan Patricia Paice, Martin John Trotter, Samuel David Borman
  • Publication number: 20020055929
    Abstract: A computer system provides an object-based environment and includes storage. At least a portion of the storage is logically divided into two or more heaps in which objects can be stored. Each heap is subdivided into slices of memory. The system includes a two-level lookup structure for determining whether a given storage address corresponds to a particular heap. The lookup substructure involves a first level having one or more lookup substructures, each corresponding to a unit of memory representing a predetermined number of slices. The substructure indicates for each of these slices the particular heap, if any, that the slice belongs to. The two-level lookup structure further involves a second level for determining for a given memory address the first level lookup substructure that includes the slice containing that address.
    Type: Application
    Filed: April 30, 2001
    Publication date: May 9, 2002
    Applicant: International Business Machines Corporation
    Inventors: Elliot Karl Kolodner, Ethan Lewis, Susan Patricia Paice, Martin John Trotter
  • Patent number: 5870751
    Abstract: A semantic network is described in which data is stored in data storage areas at nodes of the network, there being a root node from which all other nodes depend, in a branched structure, and in which data stored at each node includes relationship information about related nodes other than nodes linked by a branch from said node. The relationship information includes a token identifying the type of relationship. The other node in a relationship may be a virtual node, which does not actually exist, but whose data content is stored within the relationship information.
    Type: Grant
    Filed: June 14, 1996
    Date of Patent: February 9, 1999
    Assignee: International Business Machines Corporation
    Inventor: Martin John Trotter