Patents by Inventor Samuel David Borman

Samuel David Borman 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: 7748007
    Abstract: A computer system is used to run one or more programs. It includes a memory having at least a first heap and a second heap in which objects are stored, with a first object being stored on the first heap. A write barrier is provided for detecting that said the first object has been updated by a program to include a first reference to a memory location in the second heap.
    Type: Grant
    Filed: January 25, 2008
    Date of Patent: June 29, 2010
    Assignee: International Business Machines Corporation
    Inventors: Samuel David Borman, Edward John Slattery
  • Patent number: 7660399
    Abstract: A voice processing complex has a plurality of host machines, each host machine supporting one or more voice applications, at least one host in the complex including telephony hardware for providing access to a plurality of telephone lines. Such a host provides telephony functions to the complex. This is achieved by maintaining a mapping of voice applications to telephone lines, and creating a call object in response to an incoming call on one of the lines. It is then determined which voice application to associate with the incoming call on the basis of this mapping, and an identifier to the call object is then passed to the determined voice application. Thereafter the call object is responsive to requests from this voice application for providing telephony functions for the call. This includes receiving a media object from the voice processing application which represents desired output over a telephone line.
    Type: Grant
    Filed: April 6, 2004
    Date of Patent: February 9, 2010
    Assignee: International Business Machines Corporation
    Inventors: Samuel David Borman, David Seager Renshaw, Yuk-Lun Wong
  • Patent number: 7386854
    Abstract: A computer system is used to run one or more programs. It includes a memory having at least a first heap and a second heap in which objects are stored, with a first object being stored on the first heap. A write barrier is provided for detecting that said the first object has been updated by a program to include a first reference to a memory location in the second heap.
    Type: Grant
    Filed: June 21, 2002
    Date of Patent: June 10, 2008
    Assignee: International Business Machines, Incorporation
    Inventors: Samuel David Borman, Edward John Slattery
  • 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: 7024436
    Abstract: A computer system provides an object-based environment. The computer system includes storage. A contiguous linear portion of the storage is logically divided into first and second heaps located at opposite ends of the linear portion of storage. Any gap between the two heaps represents an unallocated region of storage. The system permits references from objects on the first heap to objects on the second heap and vice versa. A garbage collector operates across both heaps to remove objects that are no longer live. Means are provided for expanding the first and second heaps into the unallocated region. The first heap is expanded according to a first expansion policy, and the second heap is expanded according to a second expansion policy.
    Type: Grant
    Filed: August 13, 2001
    Date of Patent: April 4, 2006
    Assignee: International Business Machines Corporation
    Inventors: Elliot Karl Kolodner, Ethan Lewis, Susan Patricia Paice, 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: 6845437
    Abstract: A computer system has a heap for storing objects and a card table for tracking updates to objects on the heap, typically for garbage collection purposes. In particular, the heap is divided into segments, each corresponding to a card in the card table, and any update to a segment in the heap triggers a write barrier to mark the corresponding card in the card table. It is important that this write barrier is as efficient as possible to optimize system performance. In some circumstances an object update may be made to an address outside the heap. To ensure that this still properly maps to a card in the card table, the entire memory space is folded cyclically, so that any given memory address corresponds to one, and only one card, in the card table.
    Type: Grant
    Filed: August 13, 2002
    Date of Patent: January 18, 2005
    Assignee: International Business Machines Corporation
    Inventors: Samuel David Borman, Andrew Dean Wharmby
  • Publication number: 20040190690
    Abstract: A voice processing complex has a plurality of host machines, each host machine supporting one or more voice applications, at least one host in the complex including telephony hardware for providing access to a plurality of telephone lines. Such a host provides telephony functions to the complex. This is achieved by maintaining a mapping of voice applications to telephone lines, and creating a call object in response to an incoming call on one of the lines. It is then determined which voice application to associate with the incoming call on the basis of this mapping, and an identifier to the call object is then passed to the determined voice application. Thereafter the call object is responsive to requests from this voice application for providing telephony functions for the call. This includes receiving a media object from the voice processing application which represents desired output over a telephone line.
    Type: Application
    Filed: April 6, 2004
    Publication date: September 30, 2004
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Samuel David Borman, David Seager Renshaw, Yuk-Lun Wong
  • Patent number: 6748055
    Abstract: A voice processing system for connection to a telephone line for providing telephony support to voice processing applications having a voice processing application and a media object, the media object having an output element for outputting a set of output components in accordance with one or more presentation criteria such as locale and style; a receiving element for receiving the media object from the voice processing application, the media object representing desired output over a telephone line; and the outputting element outputting the output components over the telephone line.
    Type: Grant
    Filed: December 23, 1998
    Date of Patent: June 8, 2004
    Assignee: International Business Machines Corporation
    Inventors: Samuel David Borman, David Seager Renshaw, Yuk-Lun Wong
  • Patent number: 6708195
    Abstract: In a multi-user environment, a method of controlling access to objects is required, such that updates performed by one user are not overwritten by simultaneous updates by another user. There is provided a method of controlling access to objects and containers, each representing a group of objects, in a multi-user environment whereby lock states of the objects and lock states of the containers are stored in a computer system, said method comprising the steps of: accepting a request for access to an object or a container; deciding access based on the lock state for that object or container, the lock state of a container if the request is for an object contained within that container, and the lock state of objects grouped within a container if the request is for a container object; and sending a message to the requester granting or denying access to said object or container object. Updates performed by one user on an object or a container are not overwritten by simultaneous updates by another user.
    Type: Grant
    Filed: March 12, 1999
    Date of Patent: March 16, 2004
    Assignee: International Business Machines Corporation
    Inventors: Samuel David Borman, Kevin Patrick Corrigan, Dale Robinson Hewitt
  • 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: 20030033498
    Abstract: A computer system has a heap for storing objects and a card table for tracking updates to objects on the heap, typically for garbage collection purposes. In particular, the heap is divided into segments, each corresponding to a card in the card table, and any update to a segment in the heap triggers a write barrier to mark the corresponding card in the card table. It is important that this write barrier is as efficient as possible to optimize system performance. In some circumstances an object update may be made to an address outside the heap. To ensure that this still properly maps to a card in the card table, the entire memory space is folded cyclically, so that any given memory address corresponds to one, and only one card, in the card table.
    Type: Application
    Filed: August 13, 2002
    Publication date: February 13, 2003
    Applicant: International Business Machines Corporation
    Inventors: Samuel David Borman, Andrew Dean Wharmby
  • Publication number: 20030005027
    Abstract: A computer system is used to run one or more programs. It includes a memory having at least a first heap and a second heap in which objects are stored, with a first object being stored on the first heap. A write barrier is provided for detecting that said the first object has been updated by a program to include a first reference to a memory location in the second heap.
    Type: Application
    Filed: June 21, 2002
    Publication date: January 2, 2003
    Applicant: International Business Machines Corporation
    Inventors: Samuel David Borman, Edward John Slattery
  • Publication number: 20020055941
    Abstract: A computer system provides an object-based environment. The computer system includes storage. A contiguous linear portion of the storage is logically divided into first and second heaps located at opposite ends of the linear portion of storage. Any gap between the two heaps represents an unallocated region of storage. The system permits references from objects on the first heap to objects on the second heap and vice versa. A garbage collector operates across both heaps to remove objects that are no longer live. Means are provided for expanding the first and second heaps into the unallocated region. The first heap is expanded according to a first expansion policy, and the second heap is expanded according to a second expansion policy.
    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, Samuel David Borman
  • 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