Patents by Inventor Teemu Ollakka
Teemu Ollakka 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: 10078680Abstract: 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: GrantFiled: December 17, 2014Date of Patent: September 18, 2018Assignee: Codership OyInventors: Alexey Yurchenko, Seppo Jaakola, Teemu Ollakka
-
Patent number: 9875292Abstract: 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: GrantFiled: May 29, 2013Date of Patent: January 23, 2018Assignee: Codership OyInventors: Alexey Yurchenko, Seppo Jaakola, Teemu Ollakka
-
Patent number: 9710532Abstract: 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: GrantFiled: August 21, 2014Date of Patent: July 18, 2017Assignee: Codership OyInventors: Alexey Yurchenko, Seppo Jaakola, Teemu Ollakka
-
Patent number: 9710533Abstract: 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: GrantFiled: June 4, 2015Date of Patent: July 18, 2017Assignee: Codership OyInventors: Seppo Jaakola, Teemu Ollakka, Alexey Yurchenko
-
Publication number: 20170017680Abstract: A method for use in a multi-cluster database arrangement is provided. A given transaction is received at a given node of the multi-cluster database arrangement. A database object being modified by the given transaction is determined, whilst executing the given transaction at the given node. Subsequently, a given owner cluster assigned to the database object is determined. Next, it is determined whether or not the given node is included in a primary component of the given owner cluster. The given transaction is committed at the given node for the given owner cluster, when the given node is included in the primary component of the given owner cluster. The aforementioned method is performed when the given transaction is received during a time the given node is communicably disjoint from at least one other node of the given owner cluster.Type: ApplicationFiled: July 13, 2015Publication date: January 19, 2017Inventors: Seppo Jaakola, Teemu Ollakka, Alexey Yurchenko
-
Publication number: 20160357779Abstract: 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 whilst 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: ApplicationFiled: June 4, 2015Publication date: December 8, 2016Inventors: Seppo Jaakola, Teemu Ollakka, Alexey Yurchenko
-
Publication number: 20160179917Abstract: 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: ApplicationFiled: December 17, 2014Publication date: June 23, 2016Inventors: Alexey Yurchenko, Seppo Jaakola, Teemu Ollakka
-
Patent number: 9363163Abstract: 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: GrantFiled: April 22, 2013Date of Patent: June 7, 2016Assignee: Codership OyInventors: Alexey Yurchenko, Sesppo Jaakola, Teemu Ollakka
-
Patent number: 9336098Abstract: 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: GrantFiled: March 19, 2014Date of Patent: May 10, 2016Assignee: Codership OyInventors: Alexey Yurchenko, Seppo Jaakola, Teemu Ollakka
-
Publication number: 20160055230Abstract: 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: ApplicationFiled: August 21, 2014Publication date: February 25, 2016Inventors: Alexey Yurchenko, Seppo Jaakola, Teemu Ollakka
-
Publication number: 20150269036Abstract: 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: ApplicationFiled: March 19, 2014Publication date: September 24, 2015Applicant: Codership OyInventors: Alexey Yurchenko, Seppo Jaakola, Teemu Ollakka
-
Publication number: 20140358852Abstract: 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: ApplicationFiled: May 29, 2013Publication date: December 4, 2014Inventors: Alexey Yurchenko, Seppo Jaakola, Teemu Ollakka
-
Publication number: 20140317246Abstract: 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: ApplicationFiled: April 22, 2013Publication date: October 23, 2014Applicant: Codership OyInventors: Alexey Yurchenko, Sesppo Jaakola, Teemu Ollakka