Patents by Inventor Michael E. Habben

Michael E. Habben 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: 20140195489
    Abstract: Architecture that addresses an end-to-end solution for logical transactional replication from a shared-nothing clustered database management system, which uses adaptive cloning for high availability. This can be time based using a global logical timestamp. The disclosed architecture, used for refreshing stale clones, does not preserve user transaction boundaries, which is a more complex situation than where the boundaries are preserved. In such a scenario it is probable that for a given data segment no clone of the segment may contain the complete user transaction history, and hence, the history has to be pieced together from the logs of multiple different clones. This is accomplished such that log harvesting is coordinated with the clone state transitions to ensure the correctness of logical replication.
    Type: Application
    Filed: January 21, 2014
    Publication date: July 10, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Rui Wang, Michael E. Habben, Qun Guo, Peter Byrne, Robin D. Dhamankar, Vishal Kathuria, Mahesh K. Sreenivas, Yixue Zhu, Xiaowei Jiang
  • Patent number: 8671074
    Abstract: Architecture that addresses an end-to-end solution for logical transactional replication from a shared-nothing clustered database management system, which uses adaptive cloning for high availability. This can be time based using a global logical timestamp. The disclosed architecture, used for refreshing stale clones, does not preserve user transaction boundaries, which is a more complex situation than where the boundaries are preserved. In such a scenario it is probable that for a given data segment no clone of the segment may contain the complete user transaction history, and hence, the history has to be pieced together from the logs of multiple different clones. This is accomplished such that log harvesting is coordinated with the clone state transitions to ensure the correctness of logical replication.
    Type: Grant
    Filed: April 12, 2010
    Date of Patent: March 11, 2014
    Assignee: Microsoft Corporation
    Inventors: Rui Wang, Michael E. Habben, Qun Guo, Peter Byrne, Robin D. Dhamankar, Vishal Kathuria, Mahesh K. Sreenivas, Yixue Zhu, Xiaowei Jiang
  • Patent number: 8108343
    Abstract: Aspects of the subject matter described herein relate to multi-log based replication. In aspects, database fragments are associated with different logs. Each change to a duplicated database record may be recorded in multiple logs. A history data structure is used to determine when duplication schemas are valid. A duplication schema indicates what database fragments duplicate one or more database records. For a particular time range, the duplication schema history is used to determine whether currently available logs include all changes. If multiple logs include the same change, one log may be selected to provide the change. Non-duplicative changes may be placed into a single data stream usable to update a remote database.
    Type: Grant
    Filed: April 23, 2009
    Date of Patent: January 31, 2012
    Assignee: Microsoft Corporation
    Inventors: Rui Wang, Qun Guo, Yixue Zhu, Michael E. Habben
  • Patent number: 8078582
    Abstract: Aspects of the subject matter described herein relate to data change ordering in multi-log based replication. In aspects, local seeds are maintained for subtransactions involved in a transaction, where each subtransaction may occur on a different node that hosts one or more database fragments involved in the transaction. When a subtransaction communicates with another subtransaction in a transaction, the subtransaction sends its local seed to the other subtransaction. The receiving subtransaction compares its local seed with the received seed and updates its local seed if the received seed is logically after its local seed. A subtransaction uses a local seed to generate sequence identifiers for changes made by the subtransaction. These identifiers allow data changes of a transaction that are made on multiple nodes to be partially ordered relative to other changes made during the transaction.
    Type: Grant
    Filed: April 6, 2009
    Date of Patent: December 13, 2011
    Assignee: Microsoft Corporation
    Inventors: Rui Wang, Peter Byrne, Leigh M. Stewart, Robin D. Dhamankar, Qun Guo, Michael E. Habben, Xiaowei Jiang
  • Publication number: 20110251997
    Abstract: Architecture that addresses an end-to-end solution for logical transactional replication from a shared-nothing clustered database management system, which uses adaptive cloning for high availability. This can be time based using a global logical timestamp. The disclosed architecture, used for refreshing stale clones, does not preserve user transaction boundaries, which is a more complex situation than where the boundaries are preserved. In such a scenario it is probable that for a given data segment no clone of the segment may contain the complete user transaction history, and hence, the history has to be pieced together from the logs of multiple different clones. This is accomplished such that log harvesting is coordinated with the clone state transitions to ensure the correctness of logical replication.
    Type: Application
    Filed: April 12, 2010
    Publication date: October 13, 2011
    Applicant: Microsoft Corporation
    Inventors: Rui Wang, Michael E. Habben, Qun Guo, Peter Byrne, Robin D. Dhamankar, Vishal Kathuria, Mahesh K. Sreenivas, Yixue Zhu, Xiaowei Jiang
  • Publication number: 20100274768
    Abstract: Aspects of the subject matter described herein relate to multi-log based replication. In aspects, database fragments are associated with different logs. Each change to a duplicated database record may be recorded in multiple logs. A history data structure is used to determine when duplication schemas are valid. A duplication schema indicates what database fragments duplicate one or more database records. For a particular time range, the duplication schema history is used to determine whether currently available logs include all changes. If multiple logs include the same change, one log may be selected to provide the change. Non-duplicative changes may be placed into a single data stream usable to update a remote database.
    Type: Application
    Filed: April 23, 2009
    Publication date: October 28, 2010
    Applicant: Microsoft Corporation
    Inventors: Rui Wang, Qun Guo, Yixue Zhu, Michael E. Habben
  • Publication number: 20100257138
    Abstract: Aspects of the subject matter described herein relate to data change ordering in multi-log based replication. In aspects, local seeds are maintained for subtransactions involved in a transaction, where each subtransaction may occur on a different node that hosts one or more database fragments involved in the transaction. When a subtransaction communicates with another subtransaction in a transaction, the subtransaction sends its local seed to the other subtransaction. The receiving subtransaction compares its local seed with the received seed and updates its local seed if the received seed is logically after its local seed. A subtransaction uses a local seed to generate sequence identifiers for changes made by the subtransaction. These identifiers allow data changes of a transaction that are made on multiple nodes to be partially ordered relative to other changes made during the transaction.
    Type: Application
    Filed: April 6, 2009
    Publication date: October 7, 2010
    Applicant: Microsoft Corporation
    Inventors: Rui Wang, Peter Byrne, Leigh M. Stewart, Robin D. Dhamankar, Qun Guo, Michael E. Habben, Xiaowei Jiang
  • Publication number: 20100125557
    Abstract: Systems and methods that enable conflict detection in a peer-to-peer replication by embedding origination information in data records. A tracing component can track embedded information in form of peer ID and transaction ID, wherein conflicts can be detected by comparing a pre-version (prior to current version) of data on the source node—with—a current version of the data on the destination node.
    Type: Application
    Filed: November 17, 2008
    Publication date: May 20, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Rui Wang, Qun Guo, Peng Song, Dennis Michael Tighe, Gopal Ashok, Michael E. Habben
  • Patent number: 7707181
    Abstract: A transactional replication system wherein each replicated command applies to a single row as identified by the primary key, replicated commands are dispatched among multiple connections by hashing of primary key from a single command queue to ensure that changes to the same data row are always dispatched to the same connection to maintain the order of commands as originally occurred on publisher. All connections commit their transactions at the same time in a coordinated fashion without a two phase commit. Retry logic based on a logical sequence number is used to reapply commands from any connection that fails to commit.
    Type: Grant
    Filed: February 19, 2003
    Date of Patent: April 27, 2010
    Assignee: Microsoft Corporation
    Inventors: Qun Guo, Michael E. Habben
  • Publication number: 20040162859
    Abstract: A transactional replication system wherein each replicated command applies to a single row as identified by the primary key, replicated commands are dispatched among multiple connections by hashing of primary key from a single command queue to ensure that changes to the same data row are always dispatched to the same connection to maintain the order of commands as originally occurred on publisher. All connections commit their transactions at the same time in a coordinated fashion without a two phase commit. Retry logic based on a logical sequence number is used to reapply commands from any connection that fails to commit.
    Type: Application
    Filed: February 19, 2003
    Publication date: August 19, 2004
    Inventors: Qun Guo, Michael E. Habben
  • Patent number: 5862318
    Abstract: A system for generating a gapless series of identity values in a history log maintained in a database by a database management system without adversely impacting database performance. The system comprises the steps of determining a last used identity value independent of an intervening disruptive event that is disruptive to the database management system, generating a next identity value based on the last used identity value, and inserting a record of an event into the history log wherein a change record event contains the next identity value. Determining the last used identity value in the history log depending on whether or not a disruptive event has occurred during normal transaction processing. Absent a disruptive event, the last used identity value is the identity value used in the most recent change record insertion.
    Type: Grant
    Filed: October 26, 1995
    Date of Patent: January 19, 1999
    Assignee: Microsoft Corporation
    Inventor: Michael E. Habben