Patents Assigned to Gravic, Inc.
  • Patent number: 7613740
    Abstract: A data replication engine is controlled in a system that replicates data associated with a plurality of transactions from a source database to a target database. The system includes a change queue that contains transaction data associated with the transactions. The system maintains one or more attributes outside of the change queue which are associated with transactions. One or more attributes outside of the change queue are identified which are associated with a transaction. The one or more of the identified attributes are then used to control the replication engine.
    Type: Grant
    Filed: March 3, 2006
    Date of Patent: November 3, 2009
    Assignee: Gravic, Inc.
    Inventors: Bruce D. Holenstein, Gary E. Strickler, Eugene P. Jarema, Paul J. Holenstein
  • Publication number: 20090265352
    Abstract: Locks placed on corresponding objects held in a plurality of databases located at different nodes in a network during replication are released in accordance with fairness criteria. Propagation delays are determined between a transaction initiating node and one or more other nodes in the network. An object is locked during a transaction being executed at the transaction initiating node. Corresponding objects are locked at one or more other nodes in the network that are manipulated as a result of the replication Upon determining that the object locks should be released, the propagation delays are used to determine when to release the object locks so that all of the object locks at the one or more other nodes are released in accordance with the fairness criteria.
    Type: Application
    Filed: April 18, 2008
    Publication date: October 22, 2009
    Applicant: GRAVIC, INC.
    Inventors: Paul J. Holenstein, Bruce D. Holenstein, Wilbur H. Highleyman
  • Patent number: 7603389
    Abstract: Transactions are replicated from a source database to a target database in a data replication system. The system includes a first memory location that persistently stores statement text associated with transactions to be replicated. Transactions to be replicated are cached by separating the transactions into statement text and statement data. A determination is made as to whether the statement text has been previously stored in the first memory location. If not, then the statement text is persistently stored to the first memory location. A similar scheme is provided for replicating I/O operations.
    Type: Grant
    Filed: March 3, 2006
    Date of Patent: October 13, 2009
    Assignee: Gravic, Inc.
    Inventors: Bruce D. Holenstein, Paul J. Holenstein, Gary E. Strickler, William A. Grimm, Wilbur H. Highleyman
  • Publication number: 20090242639
    Abstract: Response bubbles on a scannable form are provided that allow a user to mark the bubbles in a manner that signifies that the user wishes to have a response disregarded.
    Type: Application
    Filed: June 11, 2009
    Publication date: October 1, 2009
    Applicant: GRAVIC, INC.
    Inventors: Bruce D. Holenstein, Owen C. Davison, Victor F. Berutti, Paul J. Holenstein
  • Publication number: 20090177710
    Abstract: A method is provided for resolving collisions in a database replication system. The system includes a source database and a target database, wherein changes made at the source database are replicated to the target database. Each database has one or more tables, and at least one of the tables has multiple constraints. A collision is detected during data replication as a result of one of the tables having multiple constraints. One constraint that contributes to the collision is identified. The constraint that contributes to the collision is relaxed, or the cause of the constraint that contributes to the collision is removed. This process is repeated for all additional constraints that contribute to the collision. In this manner, the collision is resolved.
    Type: Application
    Filed: March 12, 2009
    Publication date: July 9, 2009
    Applicant: GRAVIC, INC.
    Inventors: Bruce D. HOLENSTEIN, Gary E. STRICKLER, Eugene P. JAREMA, Paul J. HOLENSTEIN
  • Patent number: 7555145
    Abstract: One or more response bubbles are used on a scannable form to be read by a scanning system. An unambiguous symbology of marks is defined to fill into each response bubble, thereby allowing at least one of a plurality of different non-empty intended responses having different output values to be entered into each response bubble. One or more response bubbles are provided on the scannable form to be filled in according to the defined symbology of unambiguous marks. A filled in form is scanned with the scanning system and an image of the scanned form is processed by identifying pixels associated with each response bubble, interpreting the pixels associated with each response bubble to define a raw score according to the defined unambiguous symbology of marks used to mark each response bubble, translating the raw score for each response bubble into one of the plurality of different intended non-empty responses, and outputting the value of the non-empty response for each response bubble.
    Type: Grant
    Filed: June 2, 2004
    Date of Patent: June 30, 2009
    Assignee: Gravic, Inc.
    Inventors: Bruce D. Holenstein, Owen C. Davison, Victor F. Berutti, Paul J. Holenstein
  • Patent number: 7539898
    Abstract: A method is provided of assigning processors in a multiprocessor environment to a plurality of processes that are executed in the multiprocessor environment. Each process has a process pair defined by a primary process that executes on a first processor, and a backup process that executes on a second processor. There are a plurality of process pairs. The processors are in communication with one another via a communication network. The processors are associated with a plurality of predefined processor pairs. First, a plurality of process pairs are provided that are initially assigned to a respective plurality of pairs of processors, wherein at least one of the processors in the plurality of pairs of processors is initially assigned to more than one processor pair. Each processor is then assigned to only one of the predefined processor pairs so that no processor belongs to more than one processor pair.
    Type: Grant
    Filed: March 5, 2008
    Date of Patent: May 26, 2009
    Assignee: Gravic, Inc.
    Inventors: Wilbur H. Highleyman, Paul J. Holenstein, Bruce D. Holenstein
  • Publication number: 20090116748
    Abstract: Image data of a zone in a response form that has a plurality of response bubbles in the zone is processed. The image data of the zone has at least one response bubble that is well-formed and at least one response bubble that is not well-formed. Well-formed response bubbles are located in the zone from image data of the zone. The locations of the well-formed response bubbles in the zone are compared to a form template that defines the zone and contains data regarding locations of all expected response bubbles in the zone. It is determined from the comparison whether sufficient information exists to determine that the well-formed response bubbles constitute a specific part of the form template zone. If so, then the well-formed response bubbles are processed from the image data of the zone.
    Type: Application
    Filed: November 5, 2008
    Publication date: May 7, 2009
    Applicant: GRAVIC, INC.
    Inventors: Owen C. Davison, Victor F. Berutti, Bruce D. Holenstein, Paul J. Holenstein, Tristan E. Hoffmann
  • Patent number: 7523110
    Abstract: Collisions are resolved in a database replication system. The system includes a plurality of nodes arranged in either a master-slave or network configuration. Each node includes a database, wherein changes made at the databases of each node are replicated to the databases at one or more of the other nodes. When a collision is detected during data replication between multiple nodes, the collision is resolved by a rule that gives precedence to certain nodes over other nodes.
    Type: Grant
    Filed: March 3, 2006
    Date of Patent: April 21, 2009
    Assignee: Gravic, Inc.
    Inventors: Bruce D. Holenstein, Gary E. Strickler, Eugene P. Jarema, Paul J. Holenstein
  • Publication number: 20090063897
    Abstract: A method is provided of assigning processors in a multiprocessor environment to a plurality of processes that are executed in the multiprocessor environment. Each process has a process pair defined by a primary process that executes on a first processor, and a backup process that executes on a second processor. There are a plurality of process pairs. The processors are in communication with one another via a communication network. The processors are associated with a plurality of predefined processor pairs. First, a plurality of process pairs are provided that are initially assigned to a respective plurality of pairs of processors, wherein at least one of the processors in the plurality of pairs of processors is initially assigned to more than one processor pair. Each processor is then assigned to only one of the predefined processor pairs so that no processor belongs to more than one processor pair.
    Type: Application
    Filed: March 5, 2008
    Publication date: March 5, 2009
    Applicant: GRAVIC, INC.
    Inventors: Wilbur H. Highleyman, Paul J. Holenstein, Bruce D. Holenstein
  • Publication number: 20080109496
    Abstract: A target database is synchronized with a source database and the source database is replicated to the target database in a database replication system. The source database is on-line during the synchronization. The source database is located at a first node of the system, and the target database is located at a second node of the system. Changes in the source database are replicated to the target database by sending a replication stream from the first node to the second node. Successive blocks of data are sent from the first node to the target database to synchronize or resynchronize the target database with the source database. Each block of data includes one or more rows of data. The successively sent blocks of data are inserted into the replication stream at a point when the respective blocks of data are current or consistent in the source database, and the replication stream is posted to the target database. Synchronization or resynchronization thereby occurs simultaneously with replication.
    Type: Application
    Filed: January 8, 2008
    Publication date: May 8, 2008
    Applicant: GRAVIC, INC.
    Inventors: Paul Holenstein, Bruce Holenstein, Gary Strickler
  • Publication number: 20080109497
    Abstract: A target database is synchronized with a source database and the source database is replicated to the target database in a database replication system. The source database is on-line during the synchronization. The source database is located at a first node of the system, and the target database is located at a second node of the system. Changes in the source database are replicated to the target database by sending a replication stream from the first node to the second node. Successive blocks of data are sent from the first node to the target database to synchronize or resynchronize the target database with the source database. Each block of data includes one or more rows of data. The successively sent blocks of data define a loading stream. The successively sent blocks of data are posted into the target database when the replication stream is occurring slower than the loading stream. Synchronization or resynchronization thereby occurs simultaneously with replication.
    Type: Application
    Filed: January 8, 2008
    Publication date: May 8, 2008
    Applicant: GRAVIC, INC.
    Inventors: Paul Holenstein, Bruce Holenstein, Gary Strickler
  • Patent number: 7321904
    Abstract: A target database is synchronized with a source database in a database replication system. Key ranges of blocks of data to be replicated are used in the replication process. Also, synchronization occurs simultaneously with replication.
    Type: Grant
    Filed: May 25, 2004
    Date of Patent: January 22, 2008
    Assignee: Gravic, Inc.
    Inventors: Paul J. Holenstein, Bruce D. Holenstein, Gary E. Strickler
  • Patent number: 7194488
    Abstract: A split processing system is provided that has a plurality of nodes and a communication network. Each node includes one or more processors, or a processor subsystem including at least one processor and an operating system. Each node has a specific number of failure modes which is less than the number of failure modes in an unsplit system wherein all of the processors are located at a single node. The communication network allows the one or more processors at each of the nodes to interoperate with each other.
    Type: Grant
    Filed: November 3, 2003
    Date of Patent: March 20, 2007
    Assignee: Gravic, Inc.
    Inventors: Wilbur H. Highleyman, Paul J. Holenstein, Bruce D. Holenstein
  • Patent number: 7177866
    Abstract: Tokens are used to prepare a target database for replication from a source database and to confirm the preparation in an asynchronous coordinated commit replication process. During a dual write replication process, transmission of the replicated data and locking of data records in the target database occurs only on updates.
    Type: Grant
    Filed: September 17, 2003
    Date of Patent: February 13, 2007
    Assignee: Gravic, Inc.
    Inventors: Bruce D. Holenstein, Paul J. Holenstein, Wilbur H. Highleyman
  • Patent number: 7113938
    Abstract: A method is provided for splitting a system comprising a processor subsystem including a plural number (np) of processors, and an instance of a database. A number (nn) of nodes is selected that the system is to be split into. Each node may be provided with a processor subsystem including at least one processor. At least some of the nodes further include an instance of at least a portion of the database. A network is provided for communications among the nodes. At least some of the nodes that contain an instance of at least a portion of the database are automatically synchronized so that contents of the database that exist in plural nodes remain synchronized in at least some of the plural nodes whenever contents of the database at one of the nodes is changed. Systems with multiple processors, but without databases, may also be split in the same manner.
    Type: Grant
    Filed: February 13, 2003
    Date of Patent: September 26, 2006
    Assignee: Gravic, Inc.
    Inventors: Wilbur H. Highleyman, Paul J. Holenstein, Bruce D. Holenstein
  • Patent number: 7103586
    Abstract: Database replication systems replicate blocks of transaction steps or operations with synchronous replication, and perform dual writes with queuing and blocking of transactions. Tokens are used to prepare a target database for replication from a source database and to confirm the preparation. Database replication systems switch between a synchronous replication mode and an asynchronous replication mode, and then back to a synchronous replication mode, based on detection of selected events.
    Type: Grant
    Filed: March 29, 2002
    Date of Patent: September 5, 2006
    Assignee: Gravic, Inc.
    Inventors: Bruce D. Holenstein, Paul J. Holenstein, Gary E. Strickler
  • Patent number: 7003531
    Abstract: In a database synchronization process, a block of data is read from a source database at the first node. A marker is assigned to the block of data, and the marker is then written to an audit trail at the first node. The marker is sent from the audit trail to a second node having a target database. The block of data is sent from the first node to the second node without passing the block of data through the audit trail. At the second node, the block of data is stored in the target database upon receipt at the second node of the block of data and the marker assigned to the block of data. This process is repeated for additional blocks of data in the source database, wherein a marker is assigned to each subsequent block of data. In this manner, some or all of the source database may be replicated to the target database without having to store or pass any data in the source database in or through the audit trail at the first node.
    Type: Grant
    Filed: December 10, 2002
    Date of Patent: February 21, 2006
    Assignee: Gravic, Inc.
    Inventors: Paul J. Holenstein, Bruce D. Holenstein, Gary E. Strickler
  • Publication number: 20040245339
    Abstract: One or more response bubbles are used on a scannable form to be read by a scanning system. An unambiguous symbology of marks is defined to fill into each response bubble, thereby allowing at least one of a plurality of different responses to be entered into each response bubble. One or more response bubbles are provided on the scannable form to be filled in according to the defined symbology of unambiguous marks. A filled in form is scanned with the scanning system and an image of the scanned form is processed by identifying pixels associated with each response bubble, interpreting the pixels associated with each response bubble to define a raw score according to the defined unambiguous symbology of marks used to mark each response bubble, translating the raw score for each response bubble into one of the plurality of different responses, and outputting the response for each response bubble.
    Type: Application
    Filed: June 2, 2004
    Publication date: December 9, 2004
    Applicant: Gravic, Inc.
    Inventors: Bruce D. Holenstein, Owen C. Davison, Victor F. Berutti, Paul J. Holenstein
  • Patent number: 6533636
    Abstract: A spacer for building a toy yo-yo includes a central axis for receiving a tether string for wrapping around the central axis and two outer sidewalls, each outer sidewall having an attachment hub disposed on the outer sidewall for receiving a compact disc. The spacer in combination with two compact discs may form a toy yo-yo. The spacer may also be included in a kit for building a toy yo-yo where the user supplies the compact discs separately.
    Type: Grant
    Filed: August 9, 2001
    Date of Patent: March 18, 2003
    Assignee: Gravic, Inc.
    Inventors: Dylan Holenstein, Bruce D. Holenstein