Patents Assigned to Gemstone Systems, Inc.
  • Patent number: 7941401
    Abstract: A distributed data management system has multiple virtual machine nodes operating on multiple computers that are in communication with each other over a computer network. Each virtual machine node includes at least one data store or “bucket” for receiving data. A digital hash map data structure is stored in a computer readable medium of at least one of the multiple computers to configure the multiple virtual machine nodes and buckets to provide concurrent, non-blocking access to data in the buckets, the digital hash map data structure including a mapping between the virtual machine nodes and the buckets. The distributed data management system employing dynamic scalability in which one or more buckets from a virtual machine node reaching a memory capacity threshold are transferred to another virtual machine node that is below its memory capacity threshold.
    Type: Grant
    Filed: May 9, 2006
    Date of Patent: May 10, 2011
    Assignee: Gemstone Systems, Inc.
    Inventor: Russell Okamoto
  • Patent number: 7689986
    Abstract: A system for sharing listeners monitoring events occurring in objects shared by multiple applications each running inside its own virtual machine in a computer system.
    Type: Grant
    Filed: October 21, 2003
    Date of Patent: March 30, 2010
    Assignee: GemStone Systems, Inc.
    Inventors: David J. Monnie, Robert Bretl
  • Patent number: 7543301
    Abstract: A system for sharing queues among multiple applications each running inside its own virtual machine.
    Type: Grant
    Filed: October 21, 2003
    Date of Patent: June 2, 2009
    Assignee: Gemstone Systems, Inc.
    Inventors: David J. Monnie, Robert Bretl, Eric J. Zoerner
  • Patent number: 6681226
    Abstract: Software and a method selectively apply a pessimistic concurrency control for each database update that conflicts with another database update. The method includes determining whether a database update conflicts with another database update, applying an optimistic concurrency control for each database update that does not conflict with another database update, and applying a pessimistic concurrency control for each database update that does conflict with another database update. This provides a selective locking concurrency control that selectively applies transaction serialization and locking only when transaction conflicts are detected. As a result, the selective locking concurrency control avoids livelock transaction failures and provides deterministic transaction completion without the computational expense of a conventional pessimistic concurrency control.
    Type: Grant
    Filed: January 30, 2001
    Date of Patent: January 20, 2004
    Assignee: Gemstone Systems, Inc.
    Inventors: Robert F. Bretl, Ramachandran Venkatesh
  • Patent number: 6567905
    Abstract: A virtual machine object memory structure includes a contiguous region of virtual address space in which objects (i.e., temporary objects) are segregated into a new generation space and an old generation space according to the ages of the objects, as well as a permanent object memory (POM) generation space. The POM generation space operates as a persistent object cache that is not subject to conventional garbage collection processes. The lifetime of an object in the POM generation space relates to the frequency at which objects are copied from a persistent object store (e.g., disk storage) and shared object cache, rather than garbage collection processes relating to the new generation space and the old generation space.
    Type: Grant
    Filed: January 23, 2001
    Date of Patent: May 20, 2003
    Assignee: Gemstone Systems, Inc.
    Inventor: Allen J. Otis
  • Patent number: 6360219
    Abstract: A queue data structure is stored on a computer-readable medium to represent a queue or list. The data structure includes a head pointer that points to the last or most recent list element to have been removed from the queue, and a tail pointer that points to the most recently added list element in the queue. The head pointer and tail pointer may be implemented as separate objects. The queue data structure is applicable to computer arts such as transactional database management. The queue data structure can prevent concurrency conflicts that could otherwise occur when an object modified in one transaction (e.g. by one user) is modified by another concurrent transaction (e.g. by another user).
    Type: Grant
    Filed: December 16, 1998
    Date of Patent: March 19, 2002
    Assignee: Gemstone Systems, Inc.
    Inventors: Robert F. Bretl, Martin R. McClure
  • Patent number: 6256637
    Abstract: A virtual machine computer includes multiple threads and can support multiple simultaneous workspaces. Within each workspace, multiple threads are able to access objects simultaneously. Threads are orthogonal to workspaces so that threads are not locked to particular workspaces, workspaces are not locked to particular threads, and the sizes of the workspaces are configurable to the requirements of the transactions within the workspaces. Such a virtual machine may be utilized in a variety of applications including transactional database applications in which multiple users have access to information (e.g., objects) in one or more shared databases. Such applications typically require that data transactions involving the objects in the shared database be performed reliably so as to maintain the integrity of the objects, which are sometimes called persistent objects.
    Type: Grant
    Filed: May 5, 1998
    Date of Patent: July 3, 2001
    Assignee: Gemstone Systems, Inc.
    Inventors: Ramachandran Venkatesh, Allen J. Otis, Robert F. Bretl