Patents by Inventor Bruce D. Holenstein

Bruce D. Holenstein 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: 7882062
    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: Grant
    Filed: January 8, 2008
    Date of Patent: February 1, 2011
    Assignee: Gravic, Inc.
    Inventors: Paul J. Holenstein, Bruce D. Holenstein, Gary E. Strickler
  • Patent number: 7864986
    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: Grant
    Filed: June 11, 2009
    Date of Patent: January 4, 2011
    Assignee: Gravic, Inc.
    Inventors: Bruce D. Holenstein, Owen C. Davison, Victor F. Berutti, Paul J. Holenstein
  • Publication number: 20100332449
    Abstract: A method is provided for replicating transaction data from a source database to a target database wherein the transaction data is communicated from a change queue associated with the source database to the target database. An initial path is provided between the change queue and the target database for transaction data to flow. The initial path has a maximum transaction load capacity. It is then detected whether the current transaction load is close or equal to the maximum transaction load capacity of the initial path. If so, another path is provided between the change queue and the target database. Also, a method is provided of replicating transaction data from a source database to a target database wherein an associated with the target database has a maximum transaction threshold limit. The applier normally posts transaction data to the target database only upon receipt of a commit step or operation associated with respective transaction data.
    Type: Application
    Filed: September 13, 2010
    Publication date: December 30, 2010
    Applicant: GRAVIC, INC.
    Inventors: Paul J. HOLENSTEIN, Bruce D. HOLENSTEIN, Wilbur H. HIGHLEYMAN
  • Publication number: 20100332448
    Abstract: A method is provided for processing base level data of a change queue that is not serialized at the logical level. The base level change queue data is transaction data previously posted to a source database. A logical replication engine is provided to replicate and post the change queue data to a target database in the order that the transaction data is stored in the change queue. Upon detection in the logical replication engine of change queue data that is not serialized at the logical level, the change queue data is reserialized at the logical level before the logical replication engine applies the change queue data to the target database. The change queue data that is not serialized at the logical level may be posted to the target database using asynchronous database access.
    Type: Application
    Filed: September 13, 2010
    Publication date: December 30, 2010
    Applicant: GRAVIC, INC.
    Inventors: Paul J. HOLENSTEIN, Bruce D. HOLENSTEIN, Wilbur H. HIGHLEYMAN
  • Patent number: 7853561
    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: Grant
    Filed: January 8, 2008
    Date of Patent: December 14, 2010
    Assignee: Gravic, Inc.
    Inventors: Paul J. Holenstein, Bruce D. Holenstein, Gary E. Strickler
  • Patent number: 7801851
    Abstract: During replication of transaction data from a source database to a target database via a change queue associated with the source database, one or more multiple paths are provided between the change queue and the target database. The one or more multiple paths cause at least some of the transaction data to become unserialized. At least some of the unserialized data is reserialized prior to or upon applying the originally unserialized transaction data to the target database. If the current transaction load is close or equal to the maximum transaction load capacity of a path between the change queue and the target database, another path is provided. If the maximum transaction threshold limit of an applier associated with the target database has been reached, open transactions may be prematurely committed.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: September 21, 2010
    Assignee: Gravic, Inc.
    Inventors: Paul J. Holenstein, Bruce D. Holenstein, Wilbur H. Highleyman
  • Publication number: 20100191884
    Abstract: An automated method is provided of replicating a locking protocol in a database environment for performing I/O operations wherein the database environment includes a plurality of databases. A locking protocol is performed that includes one or more explicit locking operations on objects in a first database of the database environment. The one or more explicit locking operations are replicated in one or more other databases in the database environment. At least some of the explicit locking operations are performed asynchronously with respect to the explicit locking operations performed in the first database. I/O operations are performed at the first database of the database environment that are associated with the one or more explicit locking operations implemented in the first database.
    Type: Application
    Filed: February 17, 2010
    Publication date: July 29, 2010
    Applicant: GRAVIC, INC.
    Inventors: Bruce D. HOLENSTEIN, Paul J. HOLENSTEIN, John R. HOFFMANN, Wilbur H. HIGHLEYMAN, Gary E. STRICKLER
  • Patent number: 7739237
    Abstract: Data associated with a plurality of transactions in a data replication system including first and second nodes connected via communication media in a topology is replicated. Each node includes a database and a replication engine which performs data replication functions between the first and second nodes. Each transaction is one or more transaction steps or transaction operations. One or more initial transaction steps or operations of a transaction are sent from an input device to a first node. The one or more initial transaction steps or operations of the transaction are sent to the second node via the replication engine at the first node. If a communication failure is detected between the input device and the first node, the input device sends the remaining transaction steps or operations to the second node.
    Type: Grant
    Filed: February 6, 2007
    Date of Patent: June 15, 2010
    Assignee: Gravic, Inc.
    Inventors: Bruce D. Holenstein, Paul J. Holenstein
  • Publication number: 20100114841
    Abstract: A method is provided for loading data from a source database to a target database that includes at least one table. Prior to loading the data from the source database into the target database, at least one referential integrity constraint and/or at least one consistency requirement regarding the data is automatically identified. A subset of the data that satisfies the at least one referential integrity constraint and/or consistency requirement is then automatically identified. The identified subset of the data is then loaded into the target database as a unit of work.
    Type: Application
    Filed: October 30, 2009
    Publication date: May 6, 2010
    Applicant: GRAVIC, INC.
    Inventors: Paul J. Holenstein, Bruce D. Holenstein, Wilbur H. Highleyman
  • Publication number: 20090313311
    Abstract: A replication system that includes an asynchronous replication mode and a synchronous replication mode replicates data associated with a plurality of transactions. The replication system includes one or more target nodes connected via communication media in a topology. Each target node includes a database and a plurality of appliers allocated thereto. Each transaction has one or more transaction steps or operations. A first set of transaction steps or operations are allocated to the plurality of appliers on an object-by-object basis when the replication system operates in asynchronous replication mode. A second set of transaction steps or operations are allocated to the plurality of appliers on a transaction-by-transaction basis when the replication system operates in synchronous replication mode.
    Type: Application
    Filed: June 12, 2009
    Publication date: December 17, 2009
    Applicant: GRAVIC, INC.
    Inventors: John R. Hoffmann, Paul J. Holenstein, Gary E. Strickler, Bruce D. Holenstein
  • 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