Patents Assigned to Codership Oy
  • Patent number: 10078680
    Abstract: A method for use in a database cluster is provided. A transaction is received at a first node of the database cluster. The transaction is executed at the first node, wherein the transaction produces a plurality of replication events. The plurality of replication events of the transaction are divided into a plurality of fragments, each of which comprises one or more replication events. Subsequently, a set of fragment-specific parameters is assigned to each of the plurality of fragments. The plurality of fragments are then communicated to a second node of the database cluster, one by one, as soon as they are prepared in the first node. A transaction is established in the second node to apply the arriving fragments. With this streaming replication method, the replication of the transaction in the first node, can begin early, before the transaction commits in the first node. This will even out the delay of large transaction replication.
    Type: Grant
    Filed: December 17, 2014
    Date of Patent: September 18, 2018
    Assignee: Codership Oy
    Inventors: Alexey Yurchenko, Seppo Jaakola, Teemu Ollakka
  • Patent number: 9875292
    Abstract: A database cluster is provided. The database cluster includes a plurality of nodes. When a change is implemented at a first given node of the database cluster, the change is communicated to other nodes of the database cluster to synchronize data between the nodes. For this purpose, the first given node generates information by applying a hash function to a database key indicative of where the change is to be implemented. Subsequently, the first given node includes the information generated by the hash function into the change, and communicates the change along with the information to a second given node of the database cluster.
    Type: Grant
    Filed: May 29, 2013
    Date of Patent: January 23, 2018
    Assignee: Codership Oy
    Inventors: Alexey Yurchenko, Seppo Jaakola, Teemu Ollakka
  • Patent number: 9710532
    Abstract: A method for avoiding conflicts in a multi-master database cluster is provided. A set of hot spots is identified in the database cluster. When a given node receives a given transaction, the given node selects one or more hot-spot servicing nodes for one or more hot-spot sub-transactions, namely one or more sub-transactions of the given transaction that correspond to one or more hot spots of the set of hot spots. Subsequently, the given node redirects the hot-spot sub-transactions to their respective hot-spot servicing nodes. The hot-spot sub-transactions are then executed at their respective hot-spot servicing nodes.
    Type: Grant
    Filed: August 21, 2014
    Date of Patent: July 18, 2017
    Assignee: Codership Oy
    Inventors: Alexey Yurchenko, Seppo Jaakola, Teemu Ollakka
  • Patent number: 9710533
    Abstract: A method for use in a database cluster is provided. A first transaction is received at a first node of the database cluster. A page pre-fetch request corresponding to the first transaction is generated while executing the first transaction at the first node. The page pre-fetch request is indicative of at least one database page that is referenced by the first transaction. Moreover, the page pre-fetch request is added to a replication write-set of a second transaction at the first node. Subsequently, the replication write-set of the second transaction, along with the page pre-fetch request, is communicated to a second node of the database cluster.
    Type: Grant
    Filed: June 4, 2015
    Date of Patent: July 18, 2017
    Assignee: Codership Oy
    Inventors: Seppo Jaakola, Teemu Ollakka, Alexey Yurchenko
  • Patent number: 9363163
    Abstract: A group communication system arrangement is provided. The group communication system arrangement includes a configuration of nodes, which are uniquely identified by corresponding identifiers (ID). The nodes are mutually coupled in communication, and are operable to exchange data amongst themselves. Further, the nodes are grouped into proximity segments, depending upon communication characteristics between the nodes. A node of a given second proximity segment of the proximity segments is selected for receiving data to be synchronized. The node of the given second proximity segment is selected based upon an ID of a node of a given first proximity segment of the proximity segments, which is operable to send the data to the node of the given second proximity segment.
    Type: Grant
    Filed: April 22, 2013
    Date of Patent: June 7, 2016
    Assignee: Codership Oy
    Inventors: Alexey Yurchenko, Sesppo Jaakola, Teemu Ollakka
  • Patent number: 9336098
    Abstract: A method for use in a database cluster is provided. A given transaction is executed at a first given node of the database cluster. The first given node identifies one or more keys referenced by the given transaction. The first given node then assigns a key type to each of the one or more keys referenced by the given transaction. Accordingly, the key type is selected from a group including: exclusive; semi-exclusive; and/or shared.
    Type: Grant
    Filed: March 19, 2014
    Date of Patent: May 10, 2016
    Assignee: Codership Oy
    Inventors: Alexey Yurchenko, Seppo Jaakola, Teemu Ollakka
  • Publication number: 20150269036
    Abstract: A method for use in a database cluster is provided. A given transaction is executed at a first given node of the database cluster. The first given node identifies one or more keys referenced by the given transaction. The first given node then assigns a key type to each of the one or more keys referenced by the given transaction. Accordingly, the key type is selected from a group including: exclusive; semi-exclusive; and/or shared.
    Type: Application
    Filed: March 19, 2014
    Publication date: September 24, 2015
    Applicant: Codership Oy
    Inventors: Alexey Yurchenko, Seppo Jaakola, Teemu Ollakka
  • Publication number: 20140317246
    Abstract: A group communication system arrangement is provided. The group communication system arrangement includes a configuration of nodes, which are uniquely identified by corresponding identifiers (ID). The nodes are mutually coupled in communication, and are operable to exchange data amongst themselves. Further, the nodes are grouped into proximity segments, depending upon communication characteristics between the nodes. A node of a given second proximity segment of the proximity segments is selected for receiving data to be synchronized. The node of the given second proximity segment is selected based upon an ID of a node of a given first proximity segment of the proximity segments, which is operable to send the data to the node of the given second proximity segment.
    Type: Application
    Filed: April 22, 2013
    Publication date: October 23, 2014
    Applicant: Codership Oy
    Inventors: Alexey Yurchenko, Sesppo Jaakola, Teemu Ollakka