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: 20080216083Abstract: 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: ApplicationFiled: February 19, 2008Publication date: September 4, 2008Applicant: International Business Machines CorporationInventor: Martin John Trotter
-
Patent number: 7370327Abstract: 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: GrantFiled: March 6, 2003Date of Patent: May 6, 2008Assignee: International Business Machines CorporationInventor: Martin John Trotter
-
Patent number: 7263700Abstract: 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: GrantFiled: November 6, 2000Date of Patent: August 28, 2007Assignee: International Business Machines CorporationInventors: 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: 7107426Abstract: 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: GrantFiled: August 13, 2001Date of Patent: September 12, 2006Assignee: International Business Machines CorporationInventors: Elliot Karl Kolodner, Ethan Lewis, Susan Patricia Paice, Martin John Trotter, Samuel David Borman
-
Patent number: 6996590Abstract: 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: GrantFiled: December 20, 2002Date of Patent: February 7, 2006Assignee: International Business Machines CorporationInventors: Samuel David Borman, Martin John Trotter
-
Patent number: 6912553Abstract: 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: GrantFiled: July 19, 1999Date of Patent: June 28, 2005Assignee: International Business Machines CorporationInventors: Elliot Karl Kolodner, Martin John Trotter
-
Patent number: 6907437Abstract: 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: GrantFiled: June 22, 1999Date of Patent: June 14, 2005Assignee: International Business Machines CorporationInventor: Martin John Trotter
-
Patent number: 6904589Abstract: 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: GrantFiled: June 22, 1999Date of Patent: June 7, 2005Assignee: International Business Machines CorporationInventors: Elliot Karl Kolodner, Martin John Trotter
-
Patent number: 6804765Abstract: 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: GrantFiled: April 30, 2001Date of Patent: October 12, 2004Assignee: International Business Machines CorporationInventors: Elliot Karl Kolodner, Ethan Lewis, Susan Patricia Paice, Martin John Trotter
-
Patent number: 6757891Abstract: 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: GrantFiled: July 12, 2000Date of Patent: June 29, 2004Assignee: International Business Machines CorporationInventors: Alain Azagury, Elliott Karl Kolodner, Michael Factor, Avi Teperman, Martin John Trotter
-
Publication number: 20040123303Abstract: 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: ApplicationFiled: March 6, 2003Publication date: June 24, 2004Applicant: International Business Machines CorporationInventor: Martin John Trotter
-
Publication number: 20030220952Abstract: 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: ApplicationFiled: December 20, 2002Publication date: November 27, 2003Applicant: International Business Machines CorporationInventors: Samuel David Borman, Martin John Trotter
-
Publication number: 20020178208Abstract: 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: ApplicationFiled: May 24, 2002Publication date: November 28, 2002Applicant: International Business Machines CorporationInventors: Gordon Douglas Hutchison, Brian David Peacock, Martin John Trotter
-
Publication number: 20020056019Abstract: 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: ApplicationFiled: August 13, 2001Publication date: May 9, 2002Applicant: International Business Machines CorporationInventors: Elliot Karl Kolodner, Ethan Lewis, Susan Patricia Paice, Martin John Trotter, Samuel David Borman
-
Publication number: 20020055929Abstract: 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: ApplicationFiled: April 30, 2001Publication date: May 9, 2002Applicant: International Business Machines CorporationInventors: Elliot Karl Kolodner, Ethan Lewis, Susan Patricia Paice, Martin John Trotter
-
Patent number: 5870751Abstract: 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: GrantFiled: June 14, 1996Date of Patent: February 9, 1999Assignee: International Business Machines CorporationInventor: Martin John Trotter